云计算基础架构综述
2012-07-12武警工程大学张龙军
武警工程大学 冯 昊 邹 涛 张龙军
陕西省警卫局 王 伟
云计算基础架构综述
武警工程大学 冯 昊 邹 涛 张龙军
陕西省警卫局 王 伟
云计算基础架构是云计算系统的重要组成部分。它通过资源虚拟化、分布式计算等技术为云计算系统搭建基础运营环境并为上层云计算应用提供存储和计算能力。本文通过归纳分析对当前国内外相关研究成果进行了综述。定义了云计算基础架构,指出了云基础架构的特点,重点对云基础架构进行了理论抽象,得到了云基础架构结构模型,并对云计算基础架构的主要实现技术进行了研究和分析,指出了其优点及不足。最后对现云计算基础架构的未来发展趋势进行了展望。
云计算;云基础架构;虚拟化技术;分布式存储系统;并行编程模型
1.引言
自新千年IT业引入云计算概念以来,通过广大的市场需求及雄厚的技术支持,大规模云计算系统已成为当今IT业发展的主流。实现云计算的基础是实现云计算系统基础架构。一个云计算系统的优秀与否,关键在于其基础架构是否能够稳定、高效地完成各项任务。本文试图结合相关资料,对云基础架构及其效能进行分析、定义及具体阐述,为下一步研究提供有力参考。
2.云计算简介
云计算的迅猛发展与广大的市场需求和强大的技术支撑密切相关。首先,随着IT业的迅猛发展,各IT运营商都形成了各自庞大的服务器集群。如何实现现有集群的重新整合以降低运维成本,提高效率成为运营商考虑的首要问题;另外,IT市场的迅猛发展也要求各运营商提供更加稳定、快捷的服务。其次,分布式系统、虚拟化技术的不断发展完善,使得服务集群性能的快速提升成为可能。所以,在上述两方面原因的相互作用下,云计算得到了前所未有的发展。
目前,不同公司对云计算有着不同的理解和实现方式。通过对现有云计算系统的分析及对相关资料的研究[1-5],本文认为云计算是以商业需要为出发点,将数量庞大的服务器集群整合成为分布式的资源池,通过虚拟化技术、Web2.0技术将资源池强大的计算能力、存储能力和构建在其基础之上的各类应用以按需计费的形式从不同的层次(Infrastructure、Platform、Application)租赁给用户的一种新型网络运营模式。
由上述定义可得到云计算体系结构如图1。
由图可知,云计算基础架构位于云计算系统的底层,它为云计算系统的出色运营提供了有力的支持。
3.云计算基础架构
3.1 云计算基础架构的定义
目前,业界及学术界对云计算基础架构还没有一个统一的定义利标准。各IT运营商均根据自身的实际情况,以各自的理解定义和实现云计算基础架构的部署。解放军理工大学教授刘鹏在其著作《云计算》中提出:云基础架构及管理层由数据中心与云基础架构、安全产品、基础架构和运营管理三大部分组成[3]。作为虚拟化技术的龙头,Vmware公司在谈到其云基础架构层产品时说道:云计算基础架构是指通过虚拟化技术将传统数据中心转变为云基础架构并在其之上创建云,将IT基础架构作为服务交付给客户使用[6]。Lenk等人在其文章谈及云计算基础设施层时也指出:云基础架构可划分为基础设施服务和资源集两大部分,其中资源集可分为虚拟资源集和物力资源集;而基础设施服务又分为高级基础设施服务、基本基础设施服务、计算服务、存储服务和网络服务[7]。
通过对现有云基础架构以及对相关文献资料的研究,本文认为云计算基础架构是指由硬件资源(PC服务器、磁盘阵列、路由器、交换机及相关配套设备)组成,通过虚拟化技术、分布式并行技术整合形成的用以直接对外提供存储、计算服务或作为基础设施为上层云计算应用提供存储、计算能力支撑的一种高效、可靠并且具有良好扩展性的底层分布式系统。
3.2 云计算基础架构的分类
通过分析研究现有云计算系统及相关[8-12],本文认为云基础架构按照服务的对象可分为基础型云基础架构和外向型云基础架构:基础型云基础架构指主要向运系统上层提供计算、存储资源服务的云基础架构,基础型云基础架构的代表系统有:TFS、GFS、Cassandra、KIDC;外向型云基础架构指直接向用户提供计算、存储资源服务的云基础架构,外向型云基础架构的代表系统有:IBM Ensembles、Amazon EC2、Amazon S3、HyperCloud、Megastore。
3.3 云基础架构的结构体系
通过对当前业界主流云基础架构系统的分析和对相关学术成果的研究,可以看出云基础架构的作用是通过将物理资源转化为虚拟资源池,实现对资源的监控、调度和管理以达到为上层应用和用户提供弹性的计算和存储资源的目的。云基础架构结构框架如图2。
由此本文将云基础架构分为以下五个层次:
1)物理层是指搭建、部署云基础架构所需的物理设备和配套环境。起作用时为云基础架构提供基本的物力资源,并保持物理设备的可靠性。
2)虚拟层是指通过虚拟化技术解除实现方式、地理位置或底层物理配置对计算机资源的限制,打破上层与物力资源之间的耦合关系,形成统一的虚拟资源。虚拟层的作用是为上层提供可靠且能够灵活按需分配的虚拟资源。虚拟层由虚拟计算资源、虚拟存储资源和虚拟网络资源组成。
3)数据层是指对云基础架构内运行的客户数据进行基本操作和管理的层次。数据层主要包含两个部分,既数据处理与数据管理。
4)管理层是整个云基础架构中的一个抽象层次。它对云基础架构的各类资源进行监控,根据实际负载状况对资源进行管理和调度并且根据上层需求对资源进行快速部署,以保证云基础架构高效运行。云基础架构管理层主要由资源监控、负载管理、资源部署和安全管理四个部分组成。
5)服务层是指为上层云计算应用调用云基础架构计算、存储资源预留的接口和对用户使用云基础架构计算、存储资源提供的交互界面。服务层对云基础架构效能的影响体现在服务层各类接口的通用性上。因为服务层接口与上层的松耦合性能够减小底层云基础架构对上层应用的限制,从而提高云基础架构自身的可用性。
到了小学阶段,除了孩子的安全问题,家长们开始关注孩子的学习情况,而老师更注重孩子学习习惯的养成。老师可以在班级群发布学习信息,分享教育方法等。但个别老师会在班级群里给家长发布一些模糊教师职责与家长职责的任务,如监督孩子写作业,帮孩子批改、订正作业等。这也是目前小学班级群易受抨击的原因之一。
3.4 云基础架构实现的主要技术
3.4.1 虚拟化技术
虚拟化是表示计算机资源的一种抽象方法。通过虚拟化,可以简化基础设施、系统和软件等计算机资源的表示、访问和管理,并为这些资源提供标准的接口来接受输入和提供输出[2]。通过虚拟化技术,可以实现在一台服务器上运行多个虚拟机,从而提供服务器的效率。由于绝大部分PC产品均属于X86架构,所以本文论述的虚拟化技术主要指X86架构的虚拟化技术。当前X86虚拟化技术的主流产品是VMware的VMware vSphere。
vSphere主要用于服务器的虚拟化,即在一台物理服务器上运行多台虚拟机,以次达到服务器整合和优化的目的。vSphere的核心是ESX架构,它可分为两部分:Service Console和VMKernel。其中前者提供管理服务,后者提供虚拟化能力。
随着虚拟化技术在云计算中发展中的作用越来越重要,对虚拟化技术的研究也成为热点。对虚拟资源的管理便是热点之一,[13]提出将VM模型集成到资源管理框架里,利用两极调度将VM的管理集成至批调度器里,以次为用户提供调度服务。
当前如Amazon EC2等云计算产品大多是以虚拟机的形式为用户提供计算能力,但对于虚拟机的具体配置,需要用户手动完成,因此虚拟化技术在自适应方面还需要进一步研究。
3.4.2 分布式存储系统
随着IT业的发展,网上交易、网上检索等系统所要处理的数据量越来越大。如何利用最低的资源成本创造最高的运行效率成为各大运营商考虑的首要问题。因此研发人员开发完成了一系列分布式存储系统,为云计算提供了强有力的后盾。
分布式存储系统研发目的是为云基础架构提供高效、海量的数据存储能力。各大运营商在搭建自己的云基础架构前都会开发自己的分布式存储系统如Google的GFS分布式文件系统。Google的GFS(Google File System)[14]是Google研发完成的作用于底层的分布式文件系统。GFS的作用是为大规模分布式应用系统提供强大的数据存储服务。GFS的核心设计思路是将系统故障当作一种常态来处理,实现这一思路的技术主要是提供多个副本进行操作。在接口方面GFS除提供基本的Creat、Delete、Open、Close、Read、Write外还提供Snapshot和记录追加两项操作。Snapshot以最低的开销创建一个文件或目录副本,记录追加则保证多客户同时对文件进行数据追加时的原子性和正确性。
GFS含有一个主控服务器(Master)和多个块服务器(Chunk Server)。一份文件由外围设备经接口,会被分为有限个数据块(每个数据块64MB)。此外,每个数据块都会产生一个元数据(<64MB),元数据包含文件和块的命名空间、文件到块的映射信息、块副本的位置信息[1]。主控服务器主要负责存储、管理和维护各数据块的元数据,并负责管理、调度个块服务器。块服务器(Chunk Server)存储数据块并且负责数据块的维护、管理及更新。此外每个数据块拥有3个副本(任意一个由契约[16]自动设置为主副本,主副本负责带领剩余两个副本快速完成数据修改。)分别存储在不同的节点以应付突发事件。当外围设备调用文件时可将文件名及文件所属数据块传发给主控服务器进行检索,主控服务器根据元数据检索找到数据块的地址,而后将块控制权限和块地址发给外围设备。外围设备收到信息后直接与块所属的块服务器进行交互完成数据的读取。
当前分布式存储系统已成为云基础架构重要组成之一。在学术界,对分布式存储系统的研究逐渐成为热点。[11]提出并实现了一种对等结构分布式存储系统NDSS,该系统取消了类似GFS中主控服务器的中心节点,而是利用分布式共享内存(DSM,Distributed Shared Memory)实现了数据一致性模块,利用分布式共享位图(DSB,Distributed Shared Bitmap)限制了多个节点对信息的同时访问,解决了同步访问控制问题。以此在对等节点中完成了中心节点的主要功能。从测试结果看,NDSS系统的整体性能优于有中心节点的YNS系统[10]。
图1 云计算体系结构
图2 云基础架构结构框架
目前,云基础架构中著名的分布式存储系统还有Google的Bigtable分布式存储系统和Amazon的Dynamo分布式数据存储中心[11]等。它们虽然为云基础架构提供了强大的动力,但仍有改进之处。
3.4.3 并行编程模型
并行编程模型是云计算中的一个重要概念。它是指系统为高效并行处理海量数据而设定的一组数据处理规则。研发人员为了解决输入数据的并行计算、分发数据等问题提出了并行编程模型的概念。
MapReduce是Google公司开发的一种新的抽象模型,也是当前起主导作用的编程模型。它的设计思路来源于函数式编程语言的映射和简化操作[1]。MapReduce的核心思想是将数据逻辑列表通过Map函数处理成为键值对集(
当前对并行编程模型的研究大多以在MapReduce的基础上提出改进方案为主。在文献[15]中。Zaharia等人根据MapReduce建立在系统同构的假设基础上,提出了LATE(Longest Approximate Time to End)调度算法。通过新型调度算法的改进使得MapReduce在异构环境下运行。
虽然现行并行编程模型为云计算提供了强大的技术支持,在某些具体情况的适用性上还需进一步的完善。
4.结论与展望
当前对云基础架构的研究主要集中在业界IT运营商,在学术界对云计算基础架构的研究主要集中在单个技术性能的改进与提高上,明确提出云计算基础架构概念,并进行整体性理论分析研究相对较少。本文通过分析研究现有云计算基础架构实例及相关文献资料,提出了云计算基础架构定义,指出:云计算基础架构是指由硬件资源(PC服务器、磁盘阵列、路由器、交换机及相关配套设备)组成,通过虚拟化技术、分布式并行技术整合形成的用以直接对外提供存储、计算服务或作为基础设施为上层云计算应用提供存储、计算能力支撑的一种高效、可靠并且具有良好扩展性的底层分布式系统。根据云计算基础架构定义,预计在今后的一段时间内,对云计算基础架构的研究会朝着以下几个方面进行:
1)更加高效的数据交互体验。云计算基础架构为上层应用提供存储与计算能力,在此过程中必然会存在基于请求的数据交互过程。而数据交互的速度会直接影响用户对云计算应用的操作体验。所以对高效的数据交互地研究会成为未来云计算基础架构的研究重点。
2)更稳定的系统运行过程。云计算基础架构位于云计算系统的底层,其运行的稳定与否直接关系到整个云计算系统的运作。尽管当前已有多种技术手段(资源监控技术、同步复制技术,心跳检测技术等)来确保云计算基础架构的稳定性。但是这些技术手段任然存在自身消耗资源过大、检测周期与负载变化不适应等问题。而这些问题也会在今后的云计算基础架构的研究中得到解决。所以系统的稳定性也将是云计算基础架构研究的重点之一。
3)更灵活的系统扩展。随着数据量的增加,云计算基础架构不得不面临系统扩展的问题。而实时变化的数据交互量,使得云计算基础架构在扩展的同时更加注重扩展的灵活性。系统的扩展意味着资源的扩充,而系统扩展后的资源合理分配是体现灵活系统扩展的重要部分。当前尽管各类云基础架构都在努力统一和规范各自系统扩展接口并改进资源分配方式,但资源分配是否能够与负载变化同步依然是问题的实质和仍未解决的问题。而这也是云计算发展的基本出发点和立足点。所以,灵活的系统扩展能力是云计算基础架构未来的重要研究方向。
综上所述,云计算基础架构是一个具有现实意义并充满挑战的新兴领域,它的发展将对云计算发展产生巨大的推进作用,而云计算基础架构也会在未来的发展中扮演越来越重要的角色。
[1]陆嘉恒等.分布式系统与云计算[M].北京:清华大学出版社,2011.5.
[2]吴朱华.云计算核心技术剖析[M].北京:人民邮电出版社,2011.5.
[3]刘鹏.云计算[M].北京:电子工业出版社,2011.7.
[4]Tim Mather,Subra Kumaraswamy,Shahed Latif著.云计算安全与隐私[M].北京:机械工业出版社,2011.5.
[5]朱近之.智慧的云计算[M].北京:电子工业出版社,2011.4.
[6]VMware and Cloud Computing:An Evolutionary Approach to an IT Revolution.
[7]A.Lenk,M.Klems,J.Nimis,S.Tai.What is Inside the Cloud?An Architectural Map of the Cloud Landscape.http://www2.computer.org/portal/web/csdl/doi/10.1109/CLOUD.2009.5071519.
[8]房晶,吴昊,白松林.云计算安全研究综述[J].电信科学,2011,27(4):37-42.
[9]陈丹伟,黄秀丽,任勋益.云计算及安全分析[A].计算机技术与发展,2010,20(2):99-102.
[10]张建勋,古志民,邓超.云计算研究进展综述[A].计算机应用研究,2010,27(2):429-433.
[11]吴英,谢广军,刘景.对等结构的分布式存储系统设计与研究[A].计算机工程与应用,2006,42(4):135-139.
[12]王刚,刘晓光,刘景.网络软RAID的设计与实现[J].计算机研究与发展,2000,37(增刊):81-83.
[13]FREEMANT T,KEAHEY K.Flying low:simple lease with workspace pilot [C].//Proc of the 14th International Conference on Parallel Processing.
[14]GHEMAWAT S,GOBIOFF H,LEUNG S.The Google fi le system[C].//The Proceedings of the 19th Symposium on Operating Systems Principles,Lake Georage,New York,2003.
[15]JONES M T.Cloud computing with Linux cloud computing platforms and applications[EB/OL].(2008-09-1)[2008-10-15].http://www.ibm.com.
[16]GHEMAWAT S,GOBIOFF H,LEUNG S.The Google fi le system[C].//The Proceedings of the 19th Symposium on Operating Systems Principles,Lake Georage,New York,2003.
武警工程大学基础研究基金(wjy201111);研究生创新科研工程课题(2012S023)。
冯昊(1987—),男,仡佬族,贵州贵阳人,武警工程大学硕士研究生在读,主要研究方向:通信安全、计算机网络、云计算。
邹涛(1961—),男,陕西西安人,副教授,硕士生导师,主要研究方向:军事通信。
张龙军(1961—),男,陕西西安人,博士后,教授,硕士生导师,主要研究方向:信息安全。
王伟(1967—),男,陕西西安人,大学本科,现供职于陕西省警卫局,主要研究方向:通信安全。