云计算IaaS/PaaS/aPaaS/SaaS傻傻分不清楚
这又是一篇傻傻分不清楚的系列文章。
之前闻西写过:
今天闻西要说说云计算领域的几大阿哥:IaaS、PaaS、aPaaS和SaaS,这几大阿哥还真是让人傻傻分不清楚。
为了分清楚他们,我们开始从吃披萨开始说起。
张三,李四,王五,赵六都想吃披萨,但对于怎么吃到披萨,他们都有自己的想法。
张三是一个热爱生活的人,很享受美食,但更加享受做美食的整个过程,他选择在家自己做披萨,于是从揉面到发面到面饼,从甜椒到西红柿到培根到奶酪全部都自己准备,自己把握烤箱的火候,等待烤箱里的披萨新鲜出炉,然后端上餐桌,准备好自己爱喝的苏打水,慢慢的享受披萨的美味。
李四也是一个热爱生活的人,很享受美食,也很享受做美食的过程,可是他觉得,自己揉面发面准备面饼费时费力,于是他买别人准备好的面饼,切好的甜椒,西红柿,培根,就连奶酪都是切好的,拆开包装,摊开面饼他只需要撒上配料,放进烤箱,把握好火候,就可以静待新鲜的披萨出炉,开始享受披萨的美味了。
但王五纯粹就是个吃货,也很懒,就直接点了披萨外卖,披萨一到,拿出自己爱喝的苏打水,就开吃了。
赵六也是个吃货,但他没这么懒,因为他知道,单身狗如果还这么懒的窝在家里点外卖,明年还得继续当单身狗,加上他喜欢热闹,一个人在家吃披萨多冷清啊,于是他选择直接去披萨店吃,说不定还能邂逅美好的爱情呢。
我们把以上四个人吃披萨的选择,用一张图来总结类比下,就是这样了:
在家自己做披萨的张三,他所做的就是本地部署了,也叫私有化部署。
选择买成品在家做披萨吃的李四,他选择的服务就是基础设施服务,即IaaS。
选择叫外卖披萨吃的王五,就是平台即服务的购买者了,即PaaS。
而直接去披萨店吃的赵六,就是软件即服务的购买者了,即SaaS。
我们把上图中做披萨所需的九样需要准备的东西(即餐桌,苏打水,煤气/电炉,烤箱,火,披萨面团,番茄酱,配料和奶酪),置换成云计算中的九样东西(即应用,数据,运行库,中间件,操作系统,虚拟化技术,服务器,存储,网络),就变成了下图中的样子了:
其中绿色的部分就是云计算服务提供商提供的部分,不同的云计算服务提供商提供的东西不同,就有了不同的云计算服务提供模式,即基础设施即服务(IaaS),平台即服务(PaaS),软件即服务(SaaS),他们分别将这些以服务的形式租赁出去,以获取利润。
为了加深大家的理解,我们再以个人电脑为例,我们知道,电脑可分为电脑硬件,操作系统和应用软件。
电脑硬件属于底层硬件,比如CPU,内存,硬盘等;操作系统属于中间的平台层,如Windows系统,Mac OS系统,Linux系统等,操作系统充当着基石的作用,它是连接计算机底层硬件与上层应用软件的桥梁;上层应用软件则直接面向用户,如QQ,微信等。
那么IaaS就类似于电脑底层硬件,PaaS就类似于电脑的操作系统,SaaS就类似于电脑上的各种应用程序。
上图中提到的云计算中的九样东西,即应用,数据,运行库,中间件,操作系统,虚拟化技术,服务器,存储,网络,我们把它们划分下类别,分为三类。
应用和数据归为上层应用;运行库,中间件和操作系统归为中间平台;虚拟化技术,服务器,存储和网络归为底层服务器硬件,并得到了如下图的简化图,就可以更加方便地理解IaaS,PaaS和SaaS了:
简单总结下,IaaS,PaaS和SaaS最主要的区别有:
1)提供的服务的层级不同;
2)面向的用户群体不同;
3)对于用户或者客户来说,选择哪个,自由度和可扩展性也不同;
如下图所示总结的,IaaS面向的是有平台部署能力且有应用层开发能力的对象,如大型企业和专业开发者;PaaS面向的是无平台部署能力或者不愿意自己部署平台的专业开发者;而SaaS则面对的是企业或个人终端用户,他们是直接消费者。
对于客户或用户,论自由度,IaaS自由度最大,客户或用户可以按照自己的意愿,自由的部署他们想要的东西,但需要投入的资源大,开发周期长;PaaS自由度次之,但投入的资源稍微小,开发周期也更短;而SaaS几乎无自由度(比如作为个人你是无法对微信这款软件进行定制化操作的,腾讯公司也不允许你这么做),但不需要投入什么资源进行开发,直接消费即可。
IaaS的典型代表有中国电信及阿里云数据中心,他们提供硬件服务器资源的云服务租赁;PaaS的典型代表有腾讯优图人脸识别,腾讯将人脸识别能力部署好,并提供API接口,开发者只需要开发简单的应用软件调用腾讯提供的人脸识别云服务就可以快速开发出一款人脸识别软件;而SaaS的代表就太多了,各种成品应用软件就是SaaS,比如微信,钉钉,网易云等。
最后说说aPaaS,aPaaS是PaaS的一种,属于PaaS的一个子集。
aPaaS的特点是,模块化,轻量化,云端化,面向那种希望能够获得定制化服务的客户,但又不想花太多时间精力去做上层应用的开发,aPaaS的目标是尽量以颗粒度更小的模块,让客户以少量代码,甚至不需要代码,像搭积木一样在云端快速部署出自己想要的应用程序。
最后,以一句话结束今天的话题:
无论是那种aaS,都无法脱离云计算这个大前提,因为云计算才是老大,没了他们,IaaS,PaaS,SaaS都无从谈起。