根据美国国家标准局(NIST)的定义,按其服务类别的不同,可将云计算服务分为三种:基础设施即服务(Infrastructure as a Service,IaaS)、平台即服务(Platform as a Service,PaaS)和软件即服务(Software as a Service,SaaS)。[20][23]
如图10-9,云计算服务提供资源的层次性给用户使用云服务提供了多种可能:用户既可直接调用较高层次的云服务,也可通过调用封装在较低层次的服务资源,构建定制云服务。如用户既可直接从Salesforce等SaaS服务提供商处调用现成的SaaS云服务,也可使用PaaS平台进行应用开发,或使用PaaS服务,自己实现SaaS云服务。[20]
图10-9 服务层次图[20]
IaaS服务是指通过整合异构的软硬件资源,为用户提供廉价的按需调用、按需付费的基础设施服务。在IaaS服务模型中,云计算平台给用户提供了存储、处理、网络连接等计算资源,用户无需关心底层的具体硬件设备,只需要控制云平台为用户提供的操作系统、网络连接和内存外存等资源,就可以在云上部署和运行任意的应用程序,且无须对资源进行管理和维护。目前典型的IaaS产品或服务包括:Amazon的EC2弹性计算云、Google公司的Google Compute Engine、国内阿里巴巴的阿里云等;而实现IaaS平台的软件则有:美国国家航空航天局(NASA)与Rackspace公司合作的OpenStack,加州大学Santa Barbara分校研发的Eucalyptus等。亚马逊弹性计算云(EC2,elastic computing cloud)为用户提供基于Xen虚拟机的基础设施服务。亚马逊EC2的虚拟机有多种类型,不同类型价格也不尽一致,用户可以根据自己的需求,选择不同的操作系统和搭配不同的硬件。与亚马逊EC2等商业IaaS平台不同,Eucalyptus是开源的IaaS平台。Eucalyptus的开发者开发Eucalyptus的目的是希望能为研究云计算提供一个开源平台。所以,Eucalyptus在开发之初便对其进行开源,这样,开发人员就可以根据自己的需求对各功能模块进行改变。目前Eucalyptus已被世界各地的不同研究机构所使用。另外,Eucalyptus也提供了和亚马逊EC2相互兼容的API(应用程序编程接口),便于开发人员使用。[20][25](www.xing528.com)
PaaS服务则是将软件开发平台作为服务供用户调用,可以自行使用编程语言或软件工具开发应用程序,也可以更改所需要的程序与服务,但使用者无法拥有控制云端服务器的权限。在PaaS服务模型中,云计算平台为用户提供开发、测试和部署应用的软硬件环境,而不需要用户自己进行搭建配置环境。用户可以在PaaS为用户提供的环境中部署自己的应用程序、配置应用程序的托管环境,而不需要关注底层具体是如何实现的。Google App Engine和Hadoop是两种典型的PaaS平台。Google App Engine为用户提供开发、托管Web应用程序的平台。其中,GFS(Google File System)为Google App Engine提供数据存储功能,MapReduce为它提供处理数据功能,并且Sawzall为它提供用户接口。在Google App Engine平台上,开发人员可以不用关心底层实现,而在其上开发构建自己的应用程序。而Hadoop是开源的分布式处理平台,与Google的PaaS类似,Hadoop为了适应大规模的数据存储和处理,在可靠性和可扩展性等方面做了许多优化。其HDFS、Hadoop MapReduce和Pig模块功能对应于Google File System、MapReduce和Sawzall。目前,Hadoop由Apache基金会进行维护,雅虎、阿里巴巴、百度等公司都利用Hadoop构建了自己的数据中心,用于对海量数据进行存储分析。通过使用PaaS服务,企业或个人用户可快速开发出按需的应用和产品,加快了云服务应用开发的周期和效率。[20][25]
在SaaS服务模型中,云计算平台为用户提供应用程序,用户可以通过浏览器等使用程序,而不需要关心软件的安装部署。SaaS服务供应商在云端服务器上提供应用软件,并由供应商对软件进行管理和维护,使用者可以依照自己的需求向供应商申请软件服务,并通过网络连接的方式来使用,使用者可减少软件开发费用及系统维护成本,但需要按照使用需求及数量给供应商支付相应费用。Salesforce CRM和Google Apps是典型的SaaS应用。Salesforce CRM部署于Force.com云计算平台之上,为公司提供客户关系管理服务,包括数据云、销售云和服务云等部分。公司可以通过租用CRM的服务,便拥有完整的公司管理系统,用以管理内部员工、生产销售和客户业务等。CRM服务拥有可定制的特点,公司可以根据自身业务的特性选择不同的服务。CRM还可以根据公司的业务量,弹性地为公司分配资源,以提高系统整体的资源利用率。CRM还有基于数据隔离模型的特点,可以为不同公司提供单独的应用程序,而隔离不同公司的数据。Google Apps包括Google云端硬盘、Google日历和Google邮箱等一系列应用。Google将传统的桌面应用程序放到了互联网上,并且管理这些应用程序。这样,用户可以不用下载安装这些应用,而是通过浏览器随时随地通过Web来使用各种应用。Google Apps还为每个应用提供了API,使各应用可以相互地使用。Google Apps的使用者既有服务提供商也有个人用户。[23][25]
从用户的角度看,这3种服务模型是相互独立的,对于不同类型的用户提供各自不同类型的服务。[25]
从技术角度看,这3种服务模型间又存在一定的联系,SaaS可以构建于PaaS之上或者直接构建于IaaS之上,PaaS可以部署在IaaS上,也可以直接部署在物理资源之上。[25]
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。