云计算技术原理
由于云计算分为IaaS、PaaS和SaaS三种类型,不同的厂家又提供了不同的解决方案,目前还没有一个统一的技术体系结构,对读者了解云计算的原理构成了障碍。为此,本文综合不同厂家的方案,构造了一个供商榷的云计算体系结构。这个体系结构如图3所示,它概括了不同解决方案的主要特征,每一种方案或许只实现了其中部分功能,或许也还有部分相对次要功能尚未概括进来。
图3 云计算技术体系结构
云计算技术体系结构分为4层:物理资源层、资源池层、管理中间件层和SOA构建层,如图3所示。物理资源层包括计算机、存储器、网络设施、数据库和软件等;资源池层是将大量相同类型的资源构成同构或接近同构的资源池,如计算资源池、数据资源池等。构建资源池更多是物理资源的集成和管理工作,例如研究在一个标准集装箱的空间如何装下2000个服务器、解决散热和故障节点替换的问题并降低能耗;管理中间件负责对云计算的资源进行管理,并对众多应用任务进行调度,使资源能够高效、安全地为应用提供服务;SOA构建层将云计算能力封装成标准的Web Services服务,并纳入到SOA体系进行管理和使用,包括服务注册、查找、访问和构建服务工作流等。管理中间件和资源池层是云计算技术的最关键部分,SOA构建层的功能更多依靠外部设施提供。
云计算的管理中间件负责资源管理、任务管理、用户管理和安全管理等工作。资源管理负责均衡地使用云资源节点,检测节点的故障并试图恢复或屏蔽之,并对资源的使用情况进行监视统计;任务管理负责执行用户或应用提交的任务,包括完成用户任务映象(Image)的部署和管理、任务调度、任务执行、任务生命期管理等等;用户管理是实现云计算商业模式的一个必不可少的环节,包括提供用户交互接口、管理和识别用户身份、创建用户程序的执行环境、对用户的使用进行计费等;安全管理保障云计算设施的整体安全,包括身份认证、访问授权、综合防护和安全审计等。
基于上述体系结构,本文以IaaS云计算为例,简述云计算的实现机制,如图4所示。
图4 简化的IaaS实现机制
用户交互接口向应用以Web Services方式提供访问接口,获取用户需求。服务目录是用户可以访问的服务清单。系统管理模块负责管理和分配所有可用的资源,其核心是负载均衡。配置工具负责在分配的节点上准备任务运行环境。监视统计模块负责监视节点的运行状态,并完成用户使用节点情况的统计。执行过程并不复杂:用户交互接口允许用户从目录中选取并调用一个服务。该请求传递给系统管理模块后,它将为用户分配恰当的资源,然后调用配置工具来为用户准备运行环境。