2.2 云服务的类型及应用
2.2.1 基础设施即服务
基础设施即服务交付给用户的是基本的基础设施资源。用户无须购买、维护硬件设备和相关系统软件,就可以直接在该层上构建自己的平台和应用。基础设施向用户提供虚拟化的计算资源、存储资源、网络资源和安全防护等。这些资源能够根据用户的需求动态的分配。支撑该服务的技术体系主要包括虚拟化技术和相关的资源动态管理和调度技术。
1.IaaS的基本抽象模型
从图2-3中可以看出,首先对IT基础设施进行资源池化(Pooling),即通过整合树立IT基础设施,采取相应的技术形成动态资源池;第二,对资源池的各种资源进行管理,诸如调度、监控、计量等,为服务打下基础;第三,交付给用户可用的服务包,一般是用户通过网络访问统一的服务界面,按照服务目录提供的相关服务包来选择并获取所需的服务。
图2-3 IaaS的抽象模型
IaaS服务的核心思想是以产品的形式向用户交付各种能力,而这些能力直接来自各种资源池,因此IaaS的技术构架对于资源池化、产品设计与封装,以及产品交付等方面有要求。
2.IaaS的技术构架
在IaaS的技术构架中,通过采用资源池构建、资源调度、服务封装等手段,可以将IT资源迅速转变为可交付的IT服务,从而实现IaaS云的按需自服务,资源池化、快速扩展和服务可度量。一般来讲,IaaS的总体技术架构主要分为资源层、虚拟化层、管理层和服务层在内的4层架构,如图2-4所示。
图2-4 IaaS的技术架构
为了有效地交付IaaS,服务提供商首先需要搭建和部署拥有海量资源的资源池。当获取用户的需求后,服务提供商从资源池中选取用户所需的处理器、内存、磁盘、网络等资源,并将这些资源组织成虚拟服务器提供给用户。在资源池层,服务提供商通过使用虚拟化技术,将各种物理资源抽象为能够被上层使用的虚拟化资源,以屏蔽底层硬件差异的影响,提高资源的利用率。在资源管理层,服务提供商利用资源管理软件根据用户的需求对基础资源层的各种资源进行有效的组织,以构成用户需求的服务器硬件平台。在使用IaaS时,用户看到的就是一台能够通过网络访问的服务器。在这台服务器上,用户可以根据自己的实际需要安装软件,而不必关心该服务器底层硬件的实现细节,也无须控制底层的硬件资源。但是,用户需要对操作系统、系统软件和应用软件进行部署和管理。
(1)资源层
资源层位于构架的最底层,主要包含数据中心中所有的物理设备,如硬件服务器、网络设备、存储设备等其他设备,在云平台中,位于资源层中的资源不是独立的物理设备个体,而是将所有的资源形象地集中在“池”中,组成一个集中的资源池,因此,资源层中的所有资源都将以池化的概念出现。这种汇总或池化不是物理上的,只是概念上的,便于IaaS管理人员对资源池中的各种资源进行统一的、集中的运维和管理,并且可以按照需求随意地进行组合,形成一定规模的计算资源或计算能力。其中,资源层中的主要资源包括计算资源、存储资源和网络资源。
(2)虚拟化层
虚拟化位于资源层之上,按照用户或者业务的需求,从池化资源中选择资源并打包,从而形成不同规模的计算资源,也就是常说的虚拟机。虚拟化层主要包含服务器虚拟化、存储器虚拟化和网络虚拟化等虚拟化技术,虚拟化技术是IaaS架构中的核心技术,是实现IaaS架构的基础。
服务器虚拟化能够将一台物理服务器虚拟成多台的虚拟服务器,供多个用户同时使用,并通过虚拟服务器进行隔离封装来保证其安全性,从而达到改善资源的利用率的目的。服务器虚拟化的实现依赖处理器虚拟化、内存虚拟化和I/O设备虚拟化等硬件资源虚拟化技术。
存储虚拟化将各个分散的存储系统进行整合和统一管理,并提供了方便用户调用资源的接口。存储虚拟化能够为后续的系统扩容提供便利,使资源规模动态扩大时无须考虑新增的物理存储资源之间可能存在的差异。
网络虚拟化是满足在服务器虚拟化应用过程中产生的新的网络需求。服务器虚拟化使每台虚拟服务器都要拥有自己的虚拟网卡设备才能进行网络通信,运行在同一台物理服务器上的虚拟服务器的网络流量则统一经由物理网卡输入/输出。网络虚拟化能够为每台虚拟服务器提供专属的虚拟网络设备和虚拟网络通路。同时,还可以利用虚拟交换机等网络虚拟化技术提供更加灵活的虚拟组网。
虚拟化资源管理的目的是将系统中所有的虚拟硬件资源“池”化,实现海量资源的统一管理、动态扩放,以及对用户进行按需配合。同时,虚拟化资源管理技术还需要为虚拟化资源的可用性、安全性、可靠性提供保障。
(3)管理层
管理层位于虚拟化层之上,主要对下面的资源层进行统一的运维和管理,包括收集资源的信息,了解每种资源的运行状态和性能情况,如何借助虚拟化技术选择、打包不同的资源,以及如何保证打包后的计算资源——虚拟机的高可用性或者如何实现负载均衡等。
通过资源层,一方面可以了解虚拟化层和资源层的运行情况和计算资源的对外提供情况,另一方面,管理层可以保证虚拟化层和资源层的稳定、可靠,从而为最上层的服务层打下坚实的基础。
(4)服务层
服务层位于整体架构的最上层,主要面向用户提供使用管理层、虚拟化层以及资源层的能力。
基于动态云方案构建的云计算包含了完善的自服务系统,为平台的客户7×24小时提供资源支持,并可在线提交服务请求,与客户直接沟通。自服务云平台首先提供服务的自由选择,用户可以根据实际业务的需求选择不同的服务套餐,同时自服务云平台还将提供订阅资源的综合运行监控管理,一目了然地掌握系统实时运行状态。通过自服务系统,用户可以远程管理和维护已购买的产品和服务。
另外,对所有基于资源层、虚拟化层、管理层但又不限于这几层资源的运维和管理任务,将被包含在服务层中。这些任务在面对不同的企业、业务时往往有很大差别,其中包含比较多的自定义、个性化因素。例如,用户账号管理、虚拟机权限设定等各类服务。
以上4层的结构是IaaS架构中的基础部分,只有将以上内容规划好才能为服务层提供良好的支撑。
3.代表性产品
最具代表性的IaaS产品有IBM Blue Cloud、Amazon EC2、Cisco UCS和Joyent。
(1)IBM Blue Cloud“蓝云”
IBM Blue Cloud“蓝云”解决方案是由IBM云计算中心开发的业界第一个,同时也是在技术上比较领先的企业级云计算解决方案。该解决方案可以对企业现有的基础架构进行整合,通过虚拟化技术和自动化管理技术来构建企业自己的云计算中心,并实现对企业硬件资源和软件资源的统一管理、统一分配、统一部署、统一监控和统一备份,也打破了应用对资源的独占,从而帮助企业能享受到云计算所带来的诸多优越性。
(2)Amazon EC2
EC2基于著名的开源虚拟化技术Xen,主要以提供不同规格的计算资源(也就是虚拟机)为主。通过Amazon的各种优化和创新,EC2不论在性能上还是在稳定性上都已经满足企业级的需求。而且它还提供完善的API和Web管理界面来方便用户使用。
(3)Cisco UCS
它是一个集成的可扩展多机箱平台,在一个紧密结合的系统中整合了计算、网络、存储与虚拟化功能。该系统包含一个低延时、无丢包和支持万兆以太网的统一网络阵列,以及多台企业级x86架构刀片服务器等设备,并在一个统一的管理域中管理所有资源。用户可以通过在UCS上安装VMware vSphere来支撑多达几千台虚拟机的运行。通过Cisco UCS,能够让企业快速在本地数据中心搭建基于虚拟化技术的云环境。
(4)Joyent
它提供基于Open Solaris技术的IaaS服务。其IaaS服务中最核心的是Joyent Accelerator,它能为Web应用开发人员提供基于标准的、非专有的、按需供应的虚拟化计算和存储解决方案。基于Joyent Accelerator,用户可以使用具备多核CPU、海量内存和存储的服务器设备来搭建自己的网络服务,并提供超快的访问、处理速度和超高的可靠性。
4.优势
与传统的企业数据中心相比,IaaS服务在很多方面都具有一定的优势,明显表现在以下几个方面:
①用户免维护。用户不用操心IaaS服务的维护工作,主要的维护工作都由IaaS云供应商来负责。
②成本低,经济性好。使用IaaS服务,用户不用购买大量的前期硬件,免去了用户前期的硬件购置成本,而且由于IaaS云大都采用虚拟化技术,所以应用和服务器的整合率普遍在10(也就是一台服务器运行10个应用)以上,这样能有效降低使用成本。
③开放标准。IaaS在跨平台方面稳步向前,应用能在多个IaaS云上灵活地迁移,而不会被固定在某个企业数据中心内。
④伸缩性强。传统的企业数据中心则往往需要几周时间才能给用户提供一个新的计算资源,而IaaS云只需几分钟,并且计算资源可以根据用户需求来调整其资源的大小。
⑤支持的应用广泛。因为IaaS主要是提供虚拟机,并且普通的虚拟机就能支持多种操作系统,所以IaaS所支持应用的范围也非常广泛。