典型云计算平台与应用教程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1.3 云计算体系架构

前面提到,云计算不仅是一种技术,更是一种服务模式。从技术的角度看,它包括了互联网技术(包括虚拟化、分布式处理、在线软件等)的发展演进。然而当我们跳出技术的视野,从服务模式的角度来梳理云计算,会发现云计算所提供的 3 类服务模式几乎将整个 IT生态系统全面覆盖,因此,从服务模式的角度理解云计算将更为清晰。

目前,普遍认为云计算的服务模式可以分为基础设施服务(IaaS,Infrastructure as a Service)、平台即服务(PaaS,Platform as a Service)和软件即服务(SaaS,Software as a Service) 3类。其中,IaaS通常面向企业用户,提供包括服务器、存储、网络和管理工具在内的IT基础设施,可以帮助企业削减IT资源的建设成本和运维成本。PaaS通常面向互联网应用开发者,提供简化的分布式软件开发、测试和部署环境,它屏蔽了分布式软件开发底层复杂的操作,使得开发人员可以快速开发出基于云计算平台的高性能、高可扩展的互联网应用。SaaS通常面向个人用户,提供各种各样的在线软件服务。这3类服务模式被认为云计算体系架构的3个层次,但它们在技术实现上并没有必然的联系,SaaS可以在IaaS的基础上实现,也可以在PaaS的基础上实现,也可以独立实现;类似地,PaaS可以在IaaS的基础上实现,也可以独立实现。云计算体系架构如图1-2所示。

图1-2 云计算技术体系架构

1. PaaS

PaaS是指云计算服务商提供应用服务引擎,如互联网应用程序接口(API)或运行平台,用户基于服务引擎构建该类服务。PaaS是基于SaaS发展起来的,其将软件研发的平台作为一种服务,以SaaS的模式提交给用户,可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。从用户角度来说,这意味着他们无须自行建立开发平台,也不会在不同平台兼容性方面遇到困扰;从供应商的角度来说,可以进行产品多元化和产品定制化。

Salesforce.com公司的云计算结构称为Force.com。该平台作为一个服务运行在Internet 上,是完全即时请求的,收费是以每登录为基础的。让更多的独立软件提供商成为其平台的客户,从而开发出基于他们平台的多种SaaS 应用,使其成为多元化软件服务供货商(Multi Application Vendor),扩展了其业务范围。

2. IaaS

IaaS是把厂商的由多台服务器组成的“云端”基础设施,作为计量服务提供给客户。它将内存、I/O 设备、存储和计算能力整合成一个虚拟的资源池为整个业界提供所需要的存储资源和虚拟化服务器等服务。这是一种托管型硬件方式,用户付费使用厂商的硬件设施。例如,Amazon Web 服务(AWS)、 IBM 的 BlueCloud 等均是将基础设施作为服务出租。IaaS的优点是用户只需低价的硬件,按需租用相应计算能力和存储能力,大大降低了用户在硬件上的开销。目前,以Google云应用最具代表性,例如,GoogleDocs、GoogleApps、Googlesites、云计算应用平台GoogleApp Engine。GoogleDocs是最早推出的云计算应用,是软件(即服务思想)的典型应用。它是类似于微软的Office的在线办公软件,它可以处理和搜索文档、表格、幻灯片,并可以通过网络和他人分享并设置共享权限。Google文件是基于网络的文字处理和电子表格程序,可提高协作效率,多名用户可同时在线更改文件,并可以实时看到其他成员所作的编辑。用户只需一台接入互联网的计算机和可以使用Google文件的标准浏览器即可在线创建和管理、实时协作、权限管理、共享、搜索能力、修订历史记录功能,以及随时随地访问的特性,大大提高了文件操作的共享和协同能力。GoogleApps是Google企业应用套件,使用户能够处理日渐庞大的信息量,随时随地保持联系,并可与其他同事、客户和合作伙伴进行沟通、共享和协作。它集成了Cmail、GoogleTalk、Google日历、GoogleDocs及最新推出的云应用GoogleSites、API扩展及一些管理功能,包含了通信、协作与发布、管理服务三方面的应用,并且拥有着云计算的特性,能够更好地实现随时随地协同共享。另外,它还具有低成本的优势和托管的便捷,用户无须自己维护和管理搭建的协同共享平台。Googlesites是Google最新发布的云计算应用,作为GoogleApps的一个组件出现。它是一个侧重于团队协作的网站编辑工具,可利用它创建一个各种类型的团队网站,通过Googlesites可将所有类型的文件包括文档、视频、相片、日历及附件等与好友、团队或整个网络分享。Google AppEngine是Google在2008年4月发布的一个平台,使用户可以在Google的基础架构上开发和部署运行自己的应用程序。目前,Google AppEngine支持Python语言和Java语言,每个Google AppEngine应用程序可以使用达到500MB的持久存储空间及可支持每月500万综合浏览量的带宽和CPU。并且,Google AppEngine应用程序易于构建和维护,并可根据用户的访问量和数据存储需要的增长轻松扩展。同时,用户的应用可以和Google的应用程序集成,Google AppEngine还推出了软件开发套件(SDK),包括可以在用户本地计算机上模拟所有Google AppEngine服务的网络服务器应用程序。

IaaS具有以下几个主要特点:

· IT资源当做服务传送给客户。

· 基础设施可动态扩展,即可以根据应用的需求动态增加/减少资源。

· 计费服务灵活多变,按实际使用的资源进行计费。

· 多租户,相同的基础设施资源可以同时提供给多个用户。

· 企业级的基础设施,使得中小企业可以从聚集的计算资源池中获利。

3. SaaS

SaaS是一种基于互联网来提供软件服务的应用模式,其通过浏览器把服务器端的程序软件传给千万用户,供用户在线使用。SaaS提供商为用户搭建信息化所需要的所有网络基础设施及软硬件动作平台,并负责所有前期的实施、后期的维护等一系列服务;而用户则根据自己的实际需要,向SaaS提供商租赁软件服务,无须购买软硬件、建设机房、招聘IT人员,即可通过互联网使用信息系统。SaaS具有以下几方面特点。

1)多重租赁性和自定制性

SaaS提供商只需要提供一套软件系统就能够同时支持多个租户。客户可结合实际需求,定制个性化的SaaS软件。

2)可扩展性和可灵活应变性

SaaS可以通过参数应用、自定制空间、集成器,把多个不同的在线应用软件服务重新整合,形成新的软件服务,具有良好的可扩展性。此外,对SaaS应用程序的使用是动态的,用户能够根据市场需求变化,随时对应用软件作出调整,以应对新需求。

3)经济性

SaaS提供商只需要维护和升级一套软件系统,无须提供售后技术服务,从而降低了软件的维护和售后服务费用。用户以租赁的方式在线使用SaaS软件,不用购买软硬件、建设机房、招聘IT人员等,减少了前期投资、设备维护费、软件授权费等。

4)在线工作性

SaaS通过互联网提供软件托管服务,简单易用。在线软件一般容易操作,在服务器端自动升级,无须安装任何插件或软件;不需要专职人员维护,随时随处可以操作,从而为用户带来了极大的便利。

5)可配置性

在 SaaS 模式下,所有实例都使用相同的代码实施,供应商提供详细的配置选择,用户可以根据自己的实际需要选择配置。

无论是PaaS 、IaaS,还是SaaS,其核心概念都是为用户提供按需服务。于是产生了“一切皆服务”(Everything as a Service,EaaS 或XaaS)的理念。基于这种理念,以云计算为核心的创新型应用不断产生。云计算与电子商务结合产生的电子外包就是前景看好的应用之一。