2.5 越来越灵活开放的云计算应用模型

云计算自问世以来就在不断考虑如何更好地满足用户的需求。可以说云计算是技术与业务的最佳实践场景,借助云计算的力量,用户可以轻而易举地获取更加快速、便捷的服务,同时,借助技术的进步,云计算也会给用户提供一些此前从未想到过的应用场景和尝试。下面将介绍云服务和业务结合的场景应用模型。

2.5.1 天生万物,始于IaaS

IaaS是一切云服务的基础,仅从名字上看似乎无法知道什么是基础设施即服务,为了便于大家的理解,这里用一个通俗的例子来解释一下。假如想吃松鼠桂鱼,那么首先要进行捕鱼活动,捕到鱼后再去炊具上烹饪,经过煎炒烹炸,就可以吃鱼了。这种从捕鱼开始,完全自主完成的行为在IT行业中被称为自主部署行为。自主部署的可控性比较高,当然成本也高,而且灵活度不足,建成一套流程后只能吃松鼠桂鱼,松鼠桂鱼虽然好吃,天天吃也是受不了的。于是人们希望有更加灵活的使用方式。这次选择购买鱼来进行烹饪,这时候依然保留了炊具和煎炒烹炸的各种技艺,但是捕鱼的操作委托给了专业的团队。这样一来,节省了很多成本,而且下次想吃别的东西,可以直接叫另外的团队送食材过来。这样的方式就称为IaaS,在这种模式中,买了鱼来自己做就好比在云服务中把硬件外包给其他公司,自己只在这个硬件上进行加工,IaaS的供应商会提供服务器的计算单元、网络结构,以及存储服务,用户对其进行租用,节省了大量的采购和配置成本,从而达到节省企业硬件采购成本的目的。

2.5.2 抽象化整合的PaaS

PaaS则是比较灵活的云服务,为云服务提供从抽象到整合的能力。这里继续以松鼠桂鱼的例子来解释。IaaS中以买来的鱼来进行加工,但这样还是需要自己烹饪,而且最后鱼的味道如何和烹饪师傅的水平有关,如果烹饪师傅的心情不好或水平不高,那么尽管送来的鱼很好,但依然不能做出好吃的松鼠桂鱼。既然是这样的情况,我们不得不想一个更好的办法,于是拿起手机直接点一份米其林三星餐厅的松鼠桂鱼好了。在这种场景下,松鼠桂鱼是已经烹饪好的,我们只需要把它摆上餐桌就可以享用了。PaaS就是这样的情况,在这种场景中,不但硬件是由云服务提供的,甚至硬件上的所有的产品也是平台封装好的,这样就实现了从云主机到整合的云服务的变化,而这种变化最终呈现给用户的是一个几乎可以即开即用的产品。PaaS一般提供虚拟机和各种应用服务,同时还提供这些服务之间的快速整合方式,既节省了在硬件上的费用,也让分散的工作室之间的合作变得更加紧密、更加容易。

2.5.3 更进一步,灵活易用的SaaS

到了SaaS这一层,云服务就更加贴近人们的生活了。什么是软件即服务呢?还是以刚刚说过的松鼠桂鱼为例说明。如果我们这次连外卖都不点,直接去外面的饭馆吃,那就是SaaS了。在这里要说一下直接去餐馆和点外卖的不同,点外卖还是需要做些摆盘和餐具准备一类的工作才能吃到鱼的,而去餐馆吃则是进入餐馆即可食用,完全不需要做任何的准备。这也是SaaS和PaaS的主要区别。SaaS将所有的服务整合打包后直接提供给最终消费者,用户不需要具备任何IT技能就可以享受到服务,在线看电影的爱奇艺、存储文件的百度云盘都是非常常见的SaaS服务。

2.5.4 其他云计算服务模型

以上是最常见的三种云服务模型,也是人们生活中息息相关的主要云应用模型。不过随着IT技术的日新月异,云服务也开始与时俱进地提供了一些更契合各种应用场景的服务模式。这里介绍两个最新的云服务模型架构。

一个是“无服务器(Serverless)”架构和它的实现方式功能即服务(Function as a Service,FaaS),这是亚马逊云最新推出的一个概念,应该说代表了云服务的一种新潮流。在前面的云服务模型架构中可以看到,常见的云服务模型或者是租用给用户硬件,或者是租用给用户平台,甚至最终把软件直接以云的形式呈现给用户。但是随着架构的发展变化,服务器端架构开始出现了一种不同以往的部署方式——微服务架构。所谓微服务架构,简单地说就是把原来单一服务拆散成很多更细小的服务,比如一个用户注册信息的服务,可以拆散成验证用户身份服务、用户信息录入服务,以及后台建立用户档案服务等多个服务。这种拆分可以让每个服务更专注于自己的功能,用软件工程的术语叫作“高内聚、低耦合”。针对这种微服务架构,软件服务的部署方式也产生了变化,之前基于云主机的部署方式显得略为粗糙,大部分的微服务架构使用更细小的运行粒度来进行服务的划分和治理,比如使用虚拟化容器来进行服务的部署,这样一来可以更充分地利用资源。基于这种设计理念,云服务商也推出了对应的基于虚拟化容器的部署方式,这就是最早的Serverless模型。这种基于虚拟化容器的部署方式有什么好处?为什么叫作无服务模型呢?这种微服务架构的好处就是可以更精细地计算使用的云服务数量,把云服务花钱的计量单位由虚拟机变成虚拟化容器,这就相当于在IaaS和PaaS时代每次最低消费一块钱,而到了虚拟化容器时代可以一分一分来花钱,这样看起来可以过得更精打细算。此外,亚马逊公司敏锐地注意到常见的微服务模块功能具有趋同性,于是干脆建立了一些通用的云服务模块给广大用户使用。这就是所谓的Serverless模型。

另一个是区块链即服务(Blockchain as a Service,BaaS)。区块链是最近几年非常热门的话题,区块链本质是上一种分布式的记账系统。除了任何人都可以加入的公共区块链项目之外,还有另一种由指定人群加入和使用的区块链项目,我们称之为联盟链。云服务和联盟链可以进行较好的整合。IBM公司力推了名为超级账本的联盟链项目,这一项目可以使用云服务作为它的存储后台和运算节点。目前IBM的蓝云、微软的Azure和亚马逊公司的AWS都支持这种BaaS平台。

综上可知,云服务的通用模型不但可以满足当前的使用场景,还会随着未来的发展变得更加丰富,相信随着量子计算和人工智能技术的进步,人们会看到更多丰富多彩的云服务架构。