图解云服务模型的演进

写在前面

上篇IaaS-PaaS-SaaS定义中介绍了云计算的3种服务模型:html

 

 

本文解释这张图的由来,即云服务模型的演进过程前端

 

一.表层模型

早在2008年,Microsoft等公司(在此以前还有Amazon、Google)就在探索云服务了。推出Azure时,Microsoft提出了这样的模型图:git

 

 

用来解释PaaS模型与当时人们所熟知的本地部署(on-premises)、外包托管(outsourced hosting)之间的差别github

具体的:安全

  • 本地部署:须要拥有(购买)硬件并维护数据服务器

  • 外包托管:能够直接用主机托管或托管服务器微信

  • PaaS:使用云架构,不但资源托管还支持弹性扩展架构

实际上,这种基于订阅的收入模型可能会蚕食Microsoft当时已有的许多基于许可证的产品。但从宏观上看,规模经济(economies of scale)才是云服务模型最重要的价值云计算

在微观经济学中,规模经济是指企业因为经营规模而得到的成本优点,单位产出成本随着规模的扩大而下降:.net

In microeconomics, economies of scale are the cost advantages that enterprises obtain due to their scale of operation (typically measured by amount of output produced), with cost per unit of output decreasing with increasing scale.

简单来说,规模经济就是随着规模的扩大而更高效地作事:

The simple meaning of economies of scale is doing things more efficiently with increasing size.

在云计算中体如今资源集中管理(Resource pooling)上,从而产生规模效应:

云计算的规模经济体如今两个方面,一是使得用户终端成本下降,二是拥有更高的利用率,于是被认为可能产生良好经济效益。

一方面用户不须要购买存储器或服务器、而是经过购买服务来得到(相应功能),下降成本的投入和管理费用。另外一方面云服务的提供实际上就是大量的用户在共享一个服务的资源,利用率更高。

由云服务供应商集中管理软硬件资源,并提供维护、按需计费、弹性扩展等服务,用户再也不须要全权控制上上下下的N层资源栈,便可部署本身的应用程序(PaaS)

 

二.资源栈模型

上图仅从表层去描述了PaaS与外包托管和本地部署之间的主要差别,缺少具象的对比,所以须要一种可以突出差别并传达其价值,同时还能说明差别程度的可视化模型:

 

 

先根据人们所熟知的本地IT环境抽象出9层资源栈,做为统一上下文,再将云服务模型映射到这个上下文中,并突出差别。之因此用层次结构来描述,是由于:

  • 体现了某种程度的关注点分离

  • 表现出栈中各层之间具备一些直接依赖关系和设计/操做抽象

具体的:

  • 本地部署:正如咱们所理解的那样,彻底控制整个资源栈,拥有并管理这些资源

  • IaaS:再也不全权控制全部资源,下5层托管给基础设施供应商

  • PaaS:除Application以外的层都交由供应商管理了,咱们只须要关注本身的应用程序

 

三.类比模型

也有一些类比模型,例如披萨、汽车等,但都不如资源栈模型贴切,由于在作类比时会丢失一些上下文信息,好比层间依赖和关注点分离

以汽车模型为例:

 

 

这种类比的关键点是:

  • 本地部署:就像拥有本身的车,能够随时去任何想去的地方(彻底控制)。车的型号、外观、颜色、装饰等均可以自选,但要本身负责维护

  • IaaS:像是租车服务,仍然能够随时想去哪就去哪。虽然在车的选择上有一些限制,但没必要本身维护,拿到钥匙就能出发

  • PaaS:就像公共交通,能够根据发车时间表按既定路线去往已通车的地方,虽然存在这样一些限制,但易于使用,并且能按使用量付费(得益于规模经济)

从本质上来说,这种类比所表达的仍是最初控制与规模经济之间的权衡,但在视觉上更容易理解,并且有助于展开讨论和传播

 

四.资源栈模型扩展

9层资源栈模型出现以后,又对其视觉呈现作了一些修改(将3D的部分扁平化,减小颜色数量,去掉复杂形状),获得了:

 

 

接着有人提出SaaS也应该加进来,因而有了:

 

 

为了让SaaS与PaaS的差别更明显(直接加的话,仅一层Application的区别),对资源栈自己作了一些调整:

  • Security & Integration层被删掉了,由于全部层都存在安全问题,做为单独一层没什么意义

  • 在Applications层下面添上Data层

  • Databases, Servers, Server HardWare层分别改成Middleware、O/S和Server层

这样,云环境(IaaS、PaaS、SaaS)之间都是2层差别,云环境与本地环境之间有5层差别,代表云环境与本地环境间的差别更大

以后为了表意更准确,又作了一些修缮,

  • O/S改成Operating System

  • On-Premises改成Traditional IT,由于本地部署包括私有云环境,要区分开

  • 对IaaS中的managed by线作了轻微调整(延伸出一部分到Operating System层),表示IaaS中的O/S层是共同维护的,云供应商提供基础了VM镜像,但用户还须要维护其补丁和更新

获得终稿:

 

 

 

参考资料

 

有所得、有所惑,真好

关注「前端向后」微信公众号,你将收获一系列「用原创」的高质量技术文章,主题包括但不限于前端、Node.js以及服务端技术

本文首发于 ayqy.net,原文连接 http://www.ayqy.net/blog/云服务模型:控制与规模经济的博弈/

相关文章
相关标签/搜索