云计算基础架构
根据我们在上面提出的云计算应用场景模型,本节提出一个云计算的基本架构,为读者提供参考。这一架构的框架如图9.1所示。
在这一框架下我们着力要解决以下几个问题。
(1)不可信节点出现故障时对用户的隔离。
(2)计算与存储的整合,以适应计算密集和数据密集的任务。
(3)计算资源和存储资源的虚拟化。
(4)应用层不同应用和不同用户之间数据存储和计算的隔离。
(5)应用层接口和操作系统的提供。
我们曾强调这一云计算系统是基于不可信节点设计的,框架的底层就是由大量的这类节点组成,各服务器使用现有的主流操作系统,通过各类网络将所有的节 点连接起来成为一个庞大的机群系统,这一部分组成了云计算的物理硬件核心,这一核心的复杂性将通过云计算的软件核心层对所有用户屏蔽。这些复杂性包括节点 故障、网络故障、节点间的调度、负载平衡、数据安全、数据存储位置、计算位置、各节点的具体配置、系统高可用性的实现等。Google的系统给了我们良好 的示范,我们在搜索框中进行搜索时同时有大量的服务器在为我们工作,但所有服务器的工作细节我们完全不用知道,我们面对的只是一个简洁的搜索框。
这一框架中计算和虚拟化层实现对计算资源和存储资源虚拟为用户提供弹性化的计算和存储资源。分布式文件系统为系统提供有副本策略的文件存储服务,文 件存储的安全级别可分为:单机级、跨服务器级、跨机柜级和跨区域级。该文件系统不但为系统提供了一个安全的存储平台,而且由于其分布式和带副本策略所以可 以为计算层提供存储支持,实现计算向存储的迁移,降低数据在网络间的传递时间,并且在节点失效时可以实现计算和存储同时向备份节点的迁移,从而在节点不可 信的情况下实现系统的高可用性。虚拟化层、文件系统层和计算层构成了云计算基础架构的软件核心层,也是现阶段我们需要主要攻克的技术层,通过软件核心层云 计算中的存储、计算和失效将被全部隔离,应用层将无法"看"硬件层的工作细节,
应用层通过云操作系统和API与云计算基础架构接口,由于其位于硬件核心层和软件核心层之上,不同用户和应用程序在使用该平台时只能"看"到的是一台"可弹性伸缩的巨型计算机",下层的软件和硬件运行的细节情况都无法"看"到。
这一框架实现了云计算将所有节点的计算资源和存储资源细节隐藏于云端的功能,体现了云计算"大象无形"的技术哲学之妙。