2017-12-13 09:58:00
来源:
云计算基础架构是云计算系统的重要组成部分。它通过资源虚拟化、分布式计算等技术为云计算系统搭建基础运营环境并为上层云计算应用提供存储和计算能力。通过归纳分析对当前国内外相关研究成果进行了综述。定义了云计算基础架构,指出了云基础架构的特点,重点对云基础架构进行了理论抽象,得到了云基础架构结构模型,并对云计算基础架构的主要实现技术进行了研究和分析,指出了其优点及不足。最后对现云计算基础架构的未来发展趋势进行了展望。
1.引言
自新千年IT业引入云计算概念以来,通过广大的市场需求及雄厚的技术支持,大规模云计算系统已成为当今IT业发展的主流。实现云计算的基础是实现云计算系统基础架构。一个云计算系统的优秀与否,关键在于其基础架构是否能够稳定、高效地完成各项任务。本文试图结合相关资料,对云基础架构及其效能进行分析、定义及具体阐述,为下一步研究提供有力参考。
2.云计算简介
云计算的迅猛发展与广大的市场需求和强大的技术支撑密切相关。首先,随着IT业的迅猛发展,各IT运营商都形成了各自庞大的服务器集群。如何实现现有集群的重新整合以降低运维成本,提高效率成为运营商考虑的首要问题;另外,IT市场的迅猛发展也要求各运营商提供更加稳定、快捷的服务。其次,分布式系统、虚拟化技术的不断发展完善,使得服务集群性能的快速提升成为可能。所以,在上述两方面原因的相互作用下,云计算得到了前所未有的发展。
目前,不同公司对云计算有着不同的理解和实现方式。通过对现有云计算系统的分析及对相关资料的研究[1—5],本文认为云计算是以商业需要为出发点,将数量庞大的服务器集群整合成为分布式的资源池,通过虚拟化技术、Web2.0技术将资源池强大的计算能力、存储能力和构建在其基础之上的各类应用以按需计费的形式从不同的层次(Infrastructure、Platform、Application)租赁给用户的一种新型网络运营模式。
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)。此外,每个数据块都会产生一个元数据( 当前分布式存储系统已成为云基础架构重要组成之一。在学术界,对分布式存储系统的研究逐渐成为热点。[11]提出并实现了一种对等结构分布式存储系统NDSS,该系统取消了类似GFS中主控服务器的中心节点,而是利用分布式共享内存(DSM,Distributed Shared Memory)实现了数据一致性模块,利用分布式共享位图(DSB,Distributed Shared Bitmap)限制了多个节点对信息的同时访问,解决了同步访问控制问题。以此在对等节点中完成了中心节点的主要功能。从测试结果看,NDSS系统的整体性能优于有中心节点的YNS系统[10]。
目前,云基础架构中著名的分布式存储系统还有Google的Bigtable分布式存储系统和Amazon的Dynamo分布式数据存储中心[11]等。它们虽然为云基础架构提供了强大的动力,但仍有改进之处。
3.4.3 并行编程模型
并行编程模型是云计算中的一个重要概念。它是指系统为高效并行处理海量数据而设定的一组数据处理规则。研发人员为了解决输入数据的并行计算、分发数据等问题提出了并行编程模型的概念。
MapReduce是Google公司开发的一种新的抽象模型,也是当前起主导作用的编程模型。它的设计思路来源于函数式编程语言的映射和简化操作[1]。MapReduce的核心思想是将数据逻辑列表通过Map函数处理成为键值对集。(来源:多智时代)