1.3 云计算的服务类型
云计算的服务类型可分为三种:基础设施即服务IaaS、平台即服务PaaS和软件即服务SaaS。三种不同的云服务类型所拥有的资源不同,向用户提供的云服务也不相同,如图1.3所示。
图1.3 云计算的服务类型
这三种服务类型都是云服务提供商将资源以服务的形式通过网络提供给用户的。基础设施即服务提供基础性的计算资源,如计算、网络或存储;平台即服务提供开发或应用平台,如数据库、应用平台(如运行Python、PHP等代码的平台)等;软件即服务提供由云服务服务商管理和托管的完整应用软件,用户可以通过互联网来便捷地使用应用软件。下面具体介绍这三种服务类型的特点和其发展现状。
1.3.1 基础设施即服务
IaaS把基础设施以服务的形式提供给用户,通常按照所消耗资源的成本进行收费。IaaS提供的是基于服务器和存储等硬件资源的可高度扩展,以及按需变化的能力,如基本的计算和存储能力。用户通过互联网租用云计算平台上的基础资源,根据需求自动分配相应数量的资源,无须为基础的硬件设备付出相应的原始成本。同时,用户无须管理或控制任何云计算基础设施,但能在此基础上调用资源[12]。
服务的供应是IaaS的关键,其质量会直接影响用户的使用效率以及IaaS运行、维护的成本。IaaS的一个核心技术是自动化技术,通过该技术,用户可以在没有云服务提供商干预的情况下以自助服务的方式完成对资源使用的请求。IaaS的另一个重要技术是虚拟化技术,它以虚拟化技术为基础,实现物理资源共享,极大地提高资源利用率,同时降低IaaS建设成本与用户使用成本;并且,虚拟化技术的动态迁移功能可以大幅度地提高云服务可用性。目前IaaS市场主要参与者类型有:互联网公司(亚马逊、谷歌、阿里巴巴、腾讯等),创业公司,IDC/CDN厂商,电信运营商(中国电信),硬件厂商(IBM、华为、浪潮),以及从事云计算安全、云存储、云管理(MSP)的专业型厂商。IaaS市场竞争的关键要素有三个:拥有IDC(Internet Data Center)资源的规模和质量、产品和解决方案成熟度,以及用户服务体系的搭建能力。
1.3.2 平台即服务
PaaS把经过封装的计算能力和存储能力以服务的形式提供给用户,通常按照用户使用情况进行计费。PaaS不仅为用户提供操作系统、运行环境、开发工具、数据库等服务,同时还承载人工智能、大数据、物联网等多种应用。PaaS又可以分为两种类型:开发组件即服务和软件平台即服务。开发组件即服务一般面向应用软件开发商或独立开发者,提供的是一个开发平台和API组件,依据不同需求进行定制,使其在PaaS服务提供商所提供的在线开发平台上进行开发,实现自己的SaaS应用或产品。软件平台即服务提供一个基于云计算模式的软件平台运行环境,基于该软件平台运行环境,应用软件开发商或独立开发者能够动态地获取运行资源以满足负载情况变化的需求,并获取一些中间件支持来支撑应用程序的运行。
PaaS的核心技术有两个:基于云的软件开发、测试及运行技术,以及大规模分布式应用运行环境。软件开发者是PaaS的主要服务对象,他们需要通过互联网在云计算平台中编写并运行程序。基于云的软件开发、测试及运行技术,软件开发者既可以通过浏览器、远程控制台(控制台中运行开发工具)等技术,使用在线开发工具直接在远程进行开发,而不需要在本地安装开发工具;也可以利用云计算的集成技术,通过本地开发工具将开发好的应用直接部署到云计算中,以远程操作的方式进行调试。大规模分布式应用运行环境,是指利用大量服务器构建的可扩展的文件系统、数据库及应用中间件,使应用程序充分利用云计算中心的海量存储和计算资源,充分扩展地自身的规模,消除原来单一物理硬件造成的资源瓶颈,可以满足数百万用户的访问要求。目前国际领先的云服务提供商几乎都具有PaaS,如亚马逊AWS、谷歌云、微软Azure、阿里云、腾讯云、华为云等,均联合产业链上下游企业,打造开放的云生态。
1.3.3 软件即服务
SaaS把应用软件以服务的形式提供给用户,是个人用户最常使用的云服务。云服务提供商先把应用软件部署在云上,用户只需通过互联网接入,无须耗费磁盘以及服务器空间等资源。
SaaS的核心技术主要包括Web 2.0、多用户和虚拟化技术。随着AJAX等技术的发展,Web应用具有越来越高的易用性,使得用户能够体验到一些桌面应用的良好体验,从而让人们能够迅速地接受Web应用对桌面应用的替代。多用户是一种软件的单个实例可以向多个用户提供服务的软件架构,该实例的硬件和软件架构在多个用户之间共享,从而使得每个用户消耗的资源大大降低,为用户降低了成本。虚拟化不同于多用户技术,它的软件架构不共享,而是在多个用户之间共享硬件基础架构。SaaS的服务对象包括个人与企业。面向个人的SaaS产品有在线文档编辑、表格制作、账务管理、文件管理、日程计划、照片管理、联系人管理等;面向企业的SaaS产品主要是CRM(用户关系管理)、ERP(企业资源计划)、HRM(人力资源管理)、OA(办公系统)、财务管理等。SaaS厂商分为云原生厂商(Salesforce、销售易、环信)和云转型传统软件厂商(Oracle、金蝶、用友、奥哲网络)。随着传统企业上云需求的增多,SaaS厂商正在向集成方面发展,针对特定行业添加新的开发工具、系统集成和部署选项。目前,在ERP、CRM等通用型领域,国际厂商市场份额占比较大[13]。
1.3.4 三种云计算服务类型的对比
IaaS、PaaS、SaaS这三种云计算服务类型均具有云计算的特征,均有支持其服务的核心技术。它们均可以单独地成为“一朵云”,直接面向最终用户提供服务,也可以通过获取下层云计算平台的资源提供服务,还可以只用来为上层服务提供支撑。三种云计算服务类型的对比如表1.4所示。
表1.4 三种云计算服务类型的对比
SaaS提供最为集成化的功能、最小的用户可扩展性及相对较高的集成化安全性。PaaS提供的是开发者在平台之上开发应用的能力,它倾向于提供比SaaS更多的可扩展性,其代价是丧失SaaS为用户提供的特色功能,让用户拥有更多的灵活性。IaaS几乎不提供和应用类似的特色功能,但却有极大的可扩展性,安全保护能力和功能较少,要求用户自己管理操作系统、应用和内容。
三种云计算服务类型隐含了类似软件架构范式的层次关系,自底向上依次为计算机硬件、操作系统、中间件和应用。图1.4所示为云计算架构的参考模型。
图1.4 云计算架构的参考模型
由图1.4可以看到,IaaS涵盖了从机房设备到硬件平台等所有的基础设施资源,包括将资源抽象的能力、交付资源的物理或逻辑网络连接,IaaS提供一组API,允许用户与基础设施进行管理或其他形式的交互。PaaS增加了集成和中间层,用于与应用开发框架、中间件、数据库、消息传递和队列等功能进行集成,允许开发者在平台之上进行开发,开发的语言和工具由PaaS提供。SaaS是完整的、多用户的应用程序,具有大型软件平台的复杂架构。企业在进行信息化平台建设时,可以直接租用SaaS的网络基础设施及相应的软件、硬件,并购买前期实施、后期维护等一系列服务,只需支付相应的租赁和服务费用,便可以通过互联网获取相应的硬件、软件和维护服务,享有软件的使用权和升级权。