上一篇文章详细介绍了什么是云计算:

是一种服务,可以像使用水、电、煤那样按需使用、灵活付费,使用者只需关注服务本身。

云计算的资源是动态扩展且虚拟化的,通过互联网提供,终端用户不需要了解云中基础设施的细节,不必具有专业的云技术知识,也无须直接进行控制,只要关注自身真正需要什么样的资源,以及如何通过网络来获得相应的服务即可。

按照服务划分,云计算可以分为IaaSPaaSSaaS三个层次。

很多人搞不清这几个*asS是什么意思,其实,它们是云计算的服务模式。

我们还是通过上篇文章最后的小故事,说一说云计算的服务模式。

1、最底层的,就是IaaS

IaaSInfrastructure-as-a-Service(基础设施即服务)

Infrastructure就是基础设施的意思。以前,你要建个网站,建个FTP,需要自己买服务器和交换机等硬件设备,现在不用了,可以使用IaaS服务商提供的IaaS服务。

方案A的李雷,其实就类似一个IaaS服务商。(方案A可参考上一篇文章)

如下图所示:

2、再往上,就是PaaS

PaaS: Platform-as-a-Service(平台即服务)

P就是Platform(平台)。某些时候也叫做中间件。基于硬件之上,平台开发都可以在这一层进行。PaaS服务提供商提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统,以及数据库系统等。

方案B的李雷+韩梅梅,类似一个PaaS服务商。(方案B可参考上一篇文章)

如下图所示:

3、继续往上,就是SaaS

SaaS: Software-as-a-Service(软件即服务)

在这一层上,就可以直接访问和使用服务功能了!例如通过网页浏览器收发电邮,订购商品,查看航班信息等。在你的面前,就是具体的应用服务。

方案C,好基友烧烤摊,就是一个SaaS。(方案C可参考上一篇文章)

如下图所示:

4、IaaS、SaaS、PaaS三者之间的关系

云计算有SaaSPaaSIaaS三种服务模式,这是目前被业界最广泛认同的划分。三者之间的关系如下:

“层次”的不同,这里所谓的“层次”,是分层体系架构意义上的“层次”。

  • 首先,基础设施即服务(IaaS)在基础设施层实现,IaaS通过网络向用户提供计算机(物理机和虚拟机)、存储空间、网络连接、负载均衡和防火墙等基本计算资源;用户在此基础上部署和运行各种软件,包括操作系统和应用程序。
  • 其次,平台即服务(PaaS)是在软件开放运行平台层实现,PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户,PaaSSaaS模式的一种。
  • 最后,软件即服务(SaaS)由应用软件层实现,它是一种通过Internet提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动。

IaaS、SaaS、PaaS三者之间的关系如下图:

总体来说:IaaSSaaSPaaS只是云计算三种不同的服务模式,都是基于互联网,按需按时付费,就像水电、煤气一样,不能说有什么联系,又不能说完全没有连续。但是在当今云计算环境当中,IaaS是非常主流的,IaaS模式在支持的应用和学习难度这两方面的优势,使得IaaS将会在短期之内会成为开发者的首选,但是从长期而言,因为PaaS模式的高整合率所带来效率的提升,如果PaaS能解决诸如通用性和支持的应用等方面的挑战,它将会替代IaaS成为开发者的“新宠”。同时PaaS的发展确实促进了SaaS的发展,因为提供了开发平台后,SaaS的开发难度降低了。

参考:

『现学现忘』Docker相关概念 — 2、云计算的服务模式的更多相关文章

  1. 『现学现忘』Docker相关概念 — 1、云计算概念

    目录 1.云计算的概念 2.示例说明云计算 3.小故事说明云计算 "云计算"这个词,相信大家都非常熟悉. 作为信息科技发展的主流趋势,它频繁地出现在我们的眼前.伴随它一起出现的,还 ...

  2. 『现学现忘』Docker相关概念 — 8、虚拟化技术和容器技术的关系

    目录 1.云计算中虚拟化技术和容器技术到的关系 2.虚拟机和容器对比 3.虚拟化技术和容器技术区别 1.云计算中虚拟化技术和容器技术到的关系 通过一个关于房间和住人的小问题,我们来初步的理解一下虚拟化 ...

  3. 『现学现忘』Docker相关概念 — 3、IaaS、SaaS、PaaS服务模式补充

    目录 1.IaaS服务模式 2.PaaS服务模式 (1)何时使用PaaS (2)PaaS的特点 (3)PaaS优势 3.SaaS服务模式 云计算通俗来说就是输入/输出和计算不在一个主机上.计算要用到计 ...

  4. 『现学现忘』Docker相关概念 — 4、虚拟化概念

    目录 1.虚拟化的概念 2.为什么出现虚拟化 3.虚拟化技术 1.虚拟化的概念 虚拟化是指通过虚拟化技术将计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操 ...

  5. 『现学现忘』Docker相关概念 — 6、虚拟化技术分类

    目录 1.按照虚拟化的程度分类 (1)完全虚拟化技术 (2)半虚拟化技术 (3)完全虚拟化与半虚拟化优缺点 2.从虚拟化架构分类 (1)寄居架构 (2)裸金属架构 虚拟化是一个广义的术语,是指计算元件 ...

  6. 『现学现忘』Docker常用命令 — 20、容器常用命令(二)

    提示:接上一篇 目录 9.后台启动容器 10.查看容器日志 11.查看容器内运行的进程 12.查看容器内部细节 9.后台启动容器 后台启动容器也叫启动守护式容器. 命令:docker run -d 镜 ...

  7. 『现学现忘』Docker基础 — 23、使用Docker安装Tomcat

    目录 步骤1:搜索镜像 步骤2:下载Tomcat镜像 步骤3:运行Tomcat镜像 步骤4:本机和外网测试 步骤5:解决问题 补充:--rm选项 步骤1:搜索镜像 使用docker search命令进 ...

  8. 『现学现忘』Docker基础 — 31、实现MySQL同步数据

    目录 1.搜索镜像 2.拉取镜像 3.查看镜像 4.启动镜像 5.操作容器 (1)在MySQL中创建数据库 (2)外部连接Dokcer容器中的MySQL服务 (3)查看挂载情况 (4)测试MySQL服 ...

  9. 『现学现忘』Docker基础 — 28、Docker容器数据卷介绍

    目录 1.什么是Docker容器数据卷 2.数据卷的作用 3.数据卷的使用 1.什么是Docker容器数据卷 Docker容器数据卷,即Docker Volume(卷). 当Docker容器运行的时候 ...

随机推荐

  1. 字节Android Native Crash治理之Memory Corruption工具原理与实践

    作者:字节跳动终端技术--庞翔宇 内容摘要 ​ MemCorruption工具是字节跳动AppHealth (Client Infrastructure - AppHealth) 团队开发的一款用于定 ...

  2. 如何在pyqt中通过调用 SetWindowCompositionAttribute 实现Win10亚克力效果

    亚克力效果 在<如何在pyqt中实现窗口磨砂效果>和<如何在pyqt中实现win10亚克力效果>中,我们调用C++ dll来实现窗口效果,这种方法要求电脑上必须装有MSVC.V ...

  3. 一次SQL查询优化原理分析(900W+数据,从17s到300ms) (转)

    有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: ...

  4. SSH 密钥登录

    一.什么是SSH? 简单说,SSH是一种网络协议,用于计算机之间的加密登录. 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会 ...

  5. 修复 WordPress 通过邮箱 找回密码时的链接无效&新用户注册时提示的链接无效

    感谢大佬:https://blog.csdn.net/xiaobinqt/article/details/83055058 感谢大佬:https://www.wpdaxue.com/lost-pass ...

  6. npm 查看一个包的版本信息

    有了npm 我们能够简单的一段代码就下载我们需要的包,但是包是不断更新的, 所以我们要关注包的版本信息: 现在,假设我们需要 jquery ,但是jquery现在有很多版本,我们如何通过npm查看呢? ...

  7. 推荐的php安全配置选项

    推荐安全配置选项 这里有几个会影响安全功能的 PHP 配置设置.下面是一些显然应该用于生产服务器的: register_globals 设置为 offsafe_mode 设置为 offerror_re ...

  8. NSArray 与字符串

    1.把数组元素链接成字符串 - (NSString )componentsJoinedByString:(NSString )separator; 这是NSArray的方法, 用separator作拼 ...

  9. DbUnit入门实战

    原文地址: http://yangzb.iteye.com/blog/947292 相信做过单元测试的人都会对JUnit 非常的熟悉了, 今天要介绍的DbUnit(http://dbunit.sour ...

  10. Java中==、equals、hashCode的区别

    "=="是运算符,用来比较两个值.两个对象的内存地址是否相等: "equals"是Object类的方法,默认情况下比较两个对象是否是同一个对象,内部实现是通过& ...