我们在很多地方都能看到SaaS/PaaS/IaaS这几个词,他们分别代表什么意思?有什么作用?互相关联性是什么?本文来给大家解释清楚。
首先要清楚一个“云计算服务模式”的概念,分为商用云和企业云。
是个2007年第3季度才兴起的新名词,是一种新兴的商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和各种软件服务。
商用云:商用云的设计初衷是将基础设施商品化,并以较低的成本对外提供,是用户能够获得高扩展性和自服务能力。
企业云:企业级云的目的,则是达到或超过它所要替代的本地基础设施的安全和服务等级协议(SLA)
企业云的价格和复杂性要高得多,但商用云通常不能满足企业所要求的安全标准和SLA需求。
SaaS(Software-as-a-service:软件在线服务)
消费者能够使用提供商运行在云基础设施上的应用,并可通过类似Web浏览器(如基于web的电子邮件)等瘦客户端界面,在各种客户端设备商访问这些应用。除了一些有限的特定于用户的应用配置的设置之外,消费者不会直接对底层云基础设施进行管理或控制,这包括网络、服务器、操作系统、存储,甚至单个应用的功能。
PaaS(Platform-as-a-Service:平台即服务)
NIST定义 消费者能够使用提供商所支持的编程语言、库、服务和工具,将自己创建或获取的应用部署到云基础设施上。消费者不会对底层云基础设施进行管理或控制,这包括网络、服务器、操作系统或存储等,但是可控制所部署的应用,并有可能控制配置应用的托管环境。
CSA定义 以服务的方式交付计算平台和解决方案包。PaaS服务消除了购买、管理底层硬件和软件以及部署这些主机所带来的成本与复杂度,使应用的部署变得更容易。
IaaS(Infrastructure as a Service:基础设施即服务)
NIST定义 消费者能够获得处理能力、存储、网络和其他基础计算资源、从而可以在其上部署和运行包括操作系统和应用在内的任意软件。消费者不对云基础设施进行管理或控制,但可以控制操作系统、存储、所部署的应用,或者对网络组件(如防火墙)的选择有部分控制权。
CSA定义 以服务的方式交付连同原始存储和网络在内的计算机基础设施(通常是一个平台虚拟化环境)。客户并非购买服务器、软件、数据中心空间或者网络设备,而是将这些资源作为外包服务整体采购。
那么如何理解SaaS、PaaS、laas、本地部署的区别呢?
这就需要了解一些关于技术层面上的东西了。
一个系统能够正常运营需要三个层面上提供支持,分别是:
基础设施层:包括网络、存储、服务器、虚拟服务;
平台层:操作系统、中间件、Runtime;
软件层:应用、数据。
根据客户对这三个层面上的东西是自建还是外采,就决定着采用那一种部署模式(如下图):
SaaS:Software-as-a-Service(软件即服务),三层全部外采,直接提供给用户的是搭建好的应用程序。
PaaS:Platform-as-a-Service(平台即服务),基础设施层、平台层外采,软件层自建。企业只需要关注如何开发好软件系统即可。
IaaS:基础实施层外采,平台层和软件层自建。
本地部署:三层全部自建。
上面如果不太好理解,我尝试用一个生活化的列子做个类比,帮助你理解。
假如你女朋友想吃烤鱼了,那么有以下几种方案可以满足她:
周末正好回家看望父母,你可以带女朋友一起回老家,在自家的鱼塘里捞出一条鱼,在老家院子里,架上自制的烤鱼架,点上从山上捡来的木柴,鱼在火上滋滋作响,一会美味的烤鱼就烤熟上桌了。
为了表达你的爱意,你决定亲自下厨,于是你特意购买了烤箱和精美刀叉餐具,周末又去海鲜市场购买了鱼和配料。回家后,将鱼清洗干净,放进烤箱。一小时后,鱼烤熟了。上桌,然后配上红酒,拿出精心准备的刀叉餐具,和女朋友来顿浪漫的烛光晚餐。唯一遗憾的是,吃完以后还得自己收拾桌子,清洗餐具。
你听说附近有一家农家乐,其特色就是可以亲自下河捞鱼,然后利用老板提供的设备进行烤鱼,非常适合出去游玩放松。于是你利用周末,带上女友一起前往。你俩一起下河捞鱼,玩的非常开心。晚上利用老板提供的烤鱼设备,把捞来的鱼进行了加工,美美的和女友饱餐一顿。吃完以后,你们出去散步了,老板叫服务员把你们用过的设备、餐具收拾的干干净净。
懒得动手亲自做了,打开美团APP,查看附近烤鱼评分最高的商家,直接下单。商家大厨帮你做好后,搭配着餐具,送餐上门,即可与女友饱餐一顿。
总结一下,以上四种“烤鱼”方案正好对应着上文提到的四种部署方式:做饭场地、燃料属于基础服务层;做饭设备、餐具属于平台层;食材、制作属于软件层。如下图:
对应的是本地部署,所有的东西都自给自足,不依赖外界(所有都是企业自己搭建)。
对应着IaaS,这个方案里厨房、电、水都是现成的,你不需要考虑(基础设施付费租用)。但你得自己购买烤箱、餐具并亲自下厨做(平台层、软件自己搭建)。
对应着PaaS, 你不需要准备烤鱼所需要的地点(存储、服务器)、燃料(网络)、烤鱼设备(操作系统)、餐具(中间件),这些都可以付费租用,只需要自己去烤鱼即可(自己去搭建软件)。
对应着SaaS,你不需要准备任何东西,全部依靠外界,只需要想吃什么,直接付费“点餐”即可。