云计算按照服务类型大致可以分为三类:将基础设施作为服务IaaS、将平台作为服务PaaS和将软件作为服务SaaS,如图2所示。

 

 

2 云计算的服务类型

IaaS将硬件设备等基础资源封装成服务供用户使用,如Amazon云计算AWS(Amazon Web Services)的弹性计算云EC2和简单存储服务S3。在IaaS环境中,用户相当于在使用裸机和磁盘,既可以让它运行Windows,也可以让它运行Linux,因而几乎可以做任何想做的事情,但用户必须考虑如何才能让多台机器协同工作起来。AWS提供了在节点之间互通消息的接口简单队列服务SQS(Simple Queue Service)IaaS最大优势在于它允许用户动态申请或释放节点,按使用量计费。运行IaaS的服务器规模达到几十万台之多,用户因而可以认为能够申请的资源几乎是无限的。而IaaS是由公众共享的,因而具有更高的资源使用效率。

PaaS对资源的抽象层次更进一层,它提供用户应用程序的运行环境,典型的如Google App Engine。微软的云计算操作系统Microsoft Windows Azure也可大致归入这一类。PaaS自身负责资源的动态扩展和容错管理,用户应用程序不必过多考虑节点间的配合问题。但与此同时,用户的自主权降低,必须使用特定的编程环境并遵照特定的编程模型。这有点像在高性能集群计算机里进行MPI编程,只适用于解决某些特定的计算问题。例如,Google App Engine只允许使用PythonJava语言、基于称作 DjangoWeb应用框架、调用Google App Engine SDK来开发在线应用服务。

SaaS的针对性更强,它将某些特定应用软件功能封装成服务,如Salesforce公司提供的在线客户关系管理CRM(Client Relationship Management)服务。SaaS既不像PaaS一样提供计算或存储资源类型的服务,也不像IaaS一样提供运行用户自定义应用程序的环境,它只提供某些专门用途的服务供应用调用。

需要指出的是,随着云计算的深化发展,不同云计算解决方案之间相互渗透融合,同一种产品往往横跨两种以上类型。例如,Amazon Web Services是以PaaS起家的,但新提供的弹性MapReduce服务模仿了GoogleMapReduce,简单数据库服务SimpleDB 模仿了GoogleBigTable,这二者属于PaaS的范畴,而它新提供的电子商务服务FPEDevPay以及网站访问统计服务Alexa Web服务,则属于SaaS的范畴。

 

 
(本文属于Freedoc,欢迎全文转载,或在不改变文章原意的前提下部分引用乃至改写,但需注明初始出处和作者。)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐