开源云计算平台的比较.docx
《开源云计算平台的比较.docx》由会员分享,可在线阅读,更多相关《开源云计算平台的比较.docx(59页珍藏版)》请在冰豆网上搜索。
开源云计算平台的比较
开源云计算平台比较
摘要
当今,云计算作为一种成功的商业模式正在快速的发展,得到了商业界和学术界的大力支持。
因为能够提供强大的计算和存储能力,云计算能够以较低的成本完成海量的任务,受到了许多IT公司的青睐,纷纷推出了云计算发展战略。
云计算包含两个方面的含义:
一方面是底层构建的云计算平台的基础设施,是构建上层应用程序的基础;另一方面是构建在这个基础平台之上的云计算应用程序。
本文首先简述了云计算,云计算的背景,以及云计算平台构架,然后主要对当前的几种云计算平台做了很简单的汇总调研,并从几个方面总结分析了其特征和性能。
关键词 云计算;开源;云计算平台
Comparativeofopensourcecloudcomputingplatform
Abstract
Today,thecloudcomputingasasuccessfulbusinessmodelisdevelopingrapidly,andhasgotthecommercialandacademicsupport.Becauseitcanprovidepowerfulcomputingandstoragecapacity,cloudcomputingcancompletemassivetaskatlowcost,manyITcompaniesattachegreatimportancetoit,andlaunchtheircloudcomputingstrategyoneafteranother.
Cloudcomputingconsistsoftwoaspects:
oneistobuildtheunderlyinginfrastructureforcloudcomputingplatformthatisusedtobuildthebasisfortheupperapplication;theotherhand,iscloudcomputingapplicationsbuiltonthisfoundationplatform.
Thisarticlefirstbrieflycloudcomputing,inthecontextofcloudcomputing,cloudcomputingplatformarchitecture,andthenseveralcloudcomputingplatformtodoasimplesummaryofresearchandsummaryanalysisofitsfeaturesandperformancefromseveralaspects.
Keywords Cloudcomputing;Opensource;Cloudcomputingplatform
不要删除行尾的分节符,此行不会被打印
目录
摘要
Abstract
第1章绪论1
1.1课题背景1
1.2云计算背景及平台结构1
1.3研究现状3
1.3.1国外云计算发展现状3
1.3.2国内云计算发展现状3
1.4云计算体系结构4
第2章云计算技术6
2.1云计算特点6
2.2云计算分类7
2.2.1软件即服务(SaaS)7
2.2.2平台即服务(PaaS)7
2.2.3基础设施即服务(IaaS)8
2.3云计算与网格计算8
第3章主要开源云计算平台简介10
3.1Abiquo公司开源云计算平台10
3.1.1abiquo10
3.1.2abiNtense12
3.1.3abiData13
3.2Eucalyptus开源云计算平台13
3.2.1软件架构14
3.2.2组件15
3.2.3AmazonWeb服务兼容性17
3.2.4功能17
3.2.5拓扑结构18
3.2.6虚拟组网19
3.310genMongoDB开源高性能存储平台20
3.3.1MongoDB的架构分析21
3.3.2MongoDB适用范围23
3.3.3数据操作:
集合和文件24
3.3.4MongoDB的工具26
3.4EnomalyECP弹性计算平台27
3.4.1EnomalyECP的特征28
3.4.2功能清单29
3.5云计算平台Nimbus31
3.5.1Nimbus特点33
3.5.2Nimbus体系结构33
3.5.3Nimbus组件34
3.5.4云中间件的设计与实现35
3.6本章小结37
第4章云计算平台简单分析38
4.1开源云计算平台的各自特点38
4.1.1Abiquo公司平台的特点38
4.1.2Eucalyptus开源云计算平台特点38
4.1.310genMongoDB开源高性能存储平台特点39
4.1.4EnomalyECP弹性云计算平台41
4.1.5Nimbus云计算平台的特点42
4.2本章小结43
结论44
致谢45
参考文献46
附录47
千万不要删除行尾的分节符,此行不会被打印。
在目录上点右键“更新域”,然后“更新整个目录”。
打印前,不要忘记把上面“Abstract”这一行后加一空行
第1章绪论
1.1课题背景
如何让计算机快速处理最复杂的计算任务一直是计算机研究者追求的目标,云计算就是一种新兴的计算模型:
用户可以利用该模型在任何地方通过连接的设备访问应用程序,应用程序位于可大规模伸缩的数据中心,计算资源可在其中动态部署并进行共享。
简言之,有了云计算,用户不需要计算能力很强的客户端,而是可以直接从“云”里(服务器端)获得计算能力。
利用高速互联网的传输能力,将数据的处理过程从个人计算机或服务器转移到互联网集群中,集群中的计算机都是很普通的工业标准服务器,由一个大型的数据处理中心管理着,数据中心按客户的需要分配计算资源,达到与超级计算机同样的效果。
那么到底何为云计算,为读者剖析云计算背后所采用的具体技术。
首先看一下在IBM的技术白皮书“CloudComputing”中的云计算定义:
“云计算一词用来同时描述一个系统平台或者一种类型的应用程序。
一个云计算的平台按需进行动态地部署(provision)、配置(configuration)、重新配置(reconfigure)以及取消服务(deprovision)等。
在云计算平台中的服务器可以是物理的服务器或者虚拟的服务器。
高级的计算云通常包含一些其他的计算资源,例如存储区域网络(SANs),网络设备,防火墙以及其他安全设备等。
云计算在描述应用方面,它描述了一种可以通过互联网Internet进行访问的可扩展的应用程序。
“云应用”使用大规模的数据中心以及功能强劲的服务器来运行网络应用程序与网络服务。
任何一个用户可以通过合适的互联网接入设备以及一个标准的浏览器就能够访问一个云计算应用程序。
”上述定义给出了云计算两个方面的含义:
一方面描述了基础设施,用来构造应用程序,其地位相当于PC机上的操作系统;另一方面描述了建立在这种基础设施之上的云计算应用。
云计算是IT界中一种很富有生命力的计算技术,开源云计算更是被认为是IT的趋势,那么开源云计算的平台又有哪些呢?
本文就这一问题对开源云计算平台研究现状做了做了简单的调研与分析,希望可以给云计算相关研究提供参考,推动云计算技术的发展。
1.2云计算背景及平台结构
随着人们对计算能力的要求越来越高,单独的系统已经不能满足人们对计算能力的需求。
对着分布式计算、并行计算、网格计算等的发展,近几年又提出了一个全新的计算模式——云计算。
云计算是一种商业计算模型,它可以将计算任务分布在大量计算机构成的资源池上。
使用云计算的用户可以按需要获取计算力、存储空间和信息服务。
云计算的应用包含这样一种思想,把力量结合起来,给其中的每一个成员使用。
从总体来看,云计算可以从大规模分布式的基础架构以及平台之上的云计算应用程序两个方面去理解,其中基础架构建设方面是构建整个云计算平台的根本。
云计算将计算推到了云中,也将人们的日常生活与“云”紧密联系在一起。
因为云计算从一开始定位的服务对象就是所有普通用户,可以是个人,也可以是商业性质的企业或组织。
这就意味着云计算具有无限的潜力,所以云计算的概念一经提出,马上获得了众多IT企业的高度关注,并迅速发展成为了转变传统计算模式的一种革新技术。
计算机软件与硬件技术的飞速发展也导致了计算模型的不断演化。
继分布式计算,并行计算,网格计算,效用计算,Web2.0等计算概念与模型的不断被推出以后,计算机工业界与学术界又提出了云计算模型,在某种意义上实现对这些计算概念与模型的泛化与商业化。
总体上来讲,云计算通过互联网将超大规模的计算与存储资源整合起来,并以可信服务的形式按需提供给用户。
图1-1典型云计算平台结构
图1-1给出了一个典型的云计算平台结构。
用户通过简单的终端如笔记本,PDA,甚至手机,使用简单的客户端软件甚至Web就能访问超大规模的计算与存储资源。
基于这种计算模型的诱人商业前景,目前各大主流IT公司Microsoft、Google、IBM、VMware、Amazon、Oracle等纷纷推出自己的云计算平台。
1.3研究现状
1.3.1国外云计算发展现状
云计算是多种技术混合演进的结果,由于有社会的需求以及多家公司的推动,发展非常迅速。
Google是最大的云计算技术的使用者,Google于2007年10月在全球宣布了云计划。
目前,Google已经允许第三方在Google云计算中通过GoogleAppEngine运行大型的并行程序。
Google云计算技术主要包括:
GFS,MapReduce和Bigtable。
随后,在众多开源项目中,最著名的Hadoop就是模仿Google云计算技术而产生的。
IBM于2007年推出被称为“蓝云”的计算平台,它包括一系列自我管理的虚拟化云计算软件,使来自世界各地的应用都可以访问分布式的大型服务器池。
微软在2008年10月推出了windowsAzure操作系统,微软希望通过在互联网架构上打造新云计算平台。
Azure的底层是微软全球基础服务系统,由第四代数据中心构成,目前,微软已经配置了大量的服务中心,包括几十万台的服务器。
亚马逊研发了弹性云EC2以及简单存储服务S3。
通过这些云计算技术为企业提供计算和存储服务。
服务的项目主要是:
存储空间、带宽、CPU资源以及月租费。
2007年11月,雅虎也将一个小规模的服务器群,即“云”,开放给卡内基-梅隆大学的研究人员。
惠普、因特尔和雅虎三家公司联合成立一系列数据中心,目的同样是推广云计算技术。
1.3.2国内云计算发展现状
在中国,目前云计算的发展速度也非常迅猛。
2008年IBM在北京和无锡先后建立的两个云计算中心;2008年11月,广东电子工厂研究院在东莞松山湖投资2亿元建立云计算平台;2009年11月11日,全国首家云计算产业协会在深圳成立。
2009年底,成都云计算中心开通运营,该中心是国内首家商业运营的规模化云计算中心,由曙光信息产业集团的优势资源支持和建设。
2009年12月中国云计算技术与产业联盟在东京成立,四十多家企业一起共同倡议成立中国云计算技术与产业联盟。
中国移动研究院已经建立了具备1024个CPU的元计算实验中心;解放军理工大学研制了云存储系统MassCloud,并使用它支撑基于3G大规模视频监控应用和数字地球系统。
瑞星、卡巴斯基、江民、金山、360安全卫士、趋势等公司都推出了自己的云安全解决方案。
此外,2009年5月22日,中国电子学会举办了中国首届云计算大会,共有1200多人与会。
2009年11月2日,中国互联网大会召开了“2009云计算产业峰会”。
2009年12月,中国电子学会举办了中国首届云计算学术会议。
1.4云计算体系结构
云计算充分利用网络和计算机技术实现资源的共享和服务,解决云进化、云控制、云推理和软计算等复杂问题,其基础架构可以用云计算体系结构来描述,而云计算的服务层次则从提供服务类型角度描述云计算对应提供的功能或服务,云计算技术层次从云计算软硬件结合角度说明云计算平台的构成。
在云计算中,根据其服务集合所提供的服务类型,整个云计算服务集合被划分成4个层次:
应用层、平台层、基础设施层和虚拟化层。
这4个层次每一层都对应着一个子服务集合。
云计算的服务层次是根据服务类型即服务集合来划分,层次是可以分割的,即某一层次可以单独完成一项用户的请求而不需要其他层次为其提供必要的服务和支持。
应用层对应SaaS软件即服务如:
GoogleAPPS;平台层对应PaaS平台即服务如:
IBMITFactory、GoogleAPPEngine;基础设施层对应IaaS基础设施即服务如:
AmazonEC2、IBMBlueCloud、SunGrid;虚拟化层对应硬件即服务结合Paas提供硬件服务,包括服务器集群及硬件检测等服务。
云计算技术层次和云计算服务层次不是一个概念,后者从服务的角度来划分云的层次,主要突出了云服务能给我带来什么。
而云计算的技术层次主要从系统属性和设计思想角度来说明云,是对软硬件资源在云计算技术中所充当角色的说明。
从云计算技术角度来分,云计算大约有4部分构成:
物理资源层、资源池层、管理中间件层和SOA构建层,如图1-2所示。
其中资源池层和管理中间件层是云计算技术的最关键部分。
SOA构建层:
将云计算能力封装成标准的webservices服务,并纳入到SOA体系进行管理和使用,时用户端与云端交互操作的入口,可以完成用户或服务注册,对服务的定制和使用。
管理中间件层:
在云计算技术中,中间件位于服务和服务器集群之间,提供管理和服务即云计算体系结构中的管理系统。
对标识、认证、授权、目录、安全性等服务进行标准化和操作,为应用提供统一的标准化程序接口和协议,隐藏底层硬件、操作系统和网络的异构性,统一管理网络资源。
其用户管理包括用户身份验证、用户许可、用户定制管理;资源管理包括负载均衡、资源监控、故障检测等;安全管理包括身份验证、访问授权、安全审计、综合防护等;映像管理包括映像创建、部署、管理等。
图1-2云计算技术层次模型
资源池层:
将大量相同类型的资源构成同构或接近同构的资源池,如计算池,存储池和网络池、数据库资源等,构建资源池更多的是物理资源的集成和管理工作,通过软件技术来实现相关的虚拟化功能包括虚拟环境、虚拟系统、虚拟平台。
物理资源层:
主要指能支持计算机正常运行的一些硬件设备及技术,可以是价格低廉的PC,也可以是价格昂贵的服务器及磁盘阵列等设备,可以通过现有网络技术和并行技术、分布式技术将分散的计算机组成一个能提供超强功能的集群用于计算和存储等云计算操作。
在云计算时代,本地计算机可能不再像传统计算机那样需要空间足够的硬盘、大功率的处理器和大容量的内存,只需要一些必要的硬件设备如网络设备和基本的输入输出设备等。
第2章云计算技术
云是一种大量的、可配置、易扩展、可动态规划且便于访问的虚拟化资源池,包括硬件、开发平台以及所提供的服务等。
同时该资源池实行按需分配,并提供安全保护。
云是云计算基础平台,它从资源角度来认识云计算,其主要特点包括资源的虚拟化,资源的多样性,资源的可扩展性,资源易优化性,以及互联网为中心,用户按需分配等。
云计算平台是基于云资源之上,能有高效的提供计算服务的计算平台。
它是分布式计算,并行计算和网格计算的发展。
云计算平台通过相关策略,针对用户的不同需求,动态、透明的提供虚拟计算与资源存储,同时根据用户的需求收取费用,让普通用户能够高效,迅速的进行大规模并行计算和海量数据处理等。
2.1云计算特点
从研究现状看,云计算主要具有以下一些特点:
1.超大规模
云计算将计算任务分布在大量的计算机构成的资源池上分布执行,具有大规模性。
目前,谷歌云计算已经具有100多万台服务器,Amazon、IBM、微软等的云计算均有几十万台服务器。
2.虚拟化
云计算支持用户在任意位置、使用各种终端获取应用服务。
所请求的资源来自云,而不是固定的有形实体,应用在云中某处运行,用户无需了解应用运行的具体位置。
3.高可靠性
云计算使用的数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算可靠。
4.通用性
云计算不针对特定的应用,再云环境的支撑下可以构造出千变万化的应用,同一个云可以同时支持不同的应用运行。
5.高可扩展性
云的规模可以动态伸缩,满足应用和用户规模增长的需要。
6.按需服务
云是一个庞大的资源池,用户按需计费购买。
7.廉价
由于晕的特殊容错措施可以采用非及其廉价的节点来构成云,云的自动化集中式管理使大量企业无需负担日以高昂的数据中心管理成本,云的通用性使资源的利用率较之传统系统大幅提升,用户可以充分享受云的低成本优势。
2.2云计算分类
按照服务类型,云计算主要可以分为三类:
基础设施即服务IaaS、平台即服务PaaS、软件即服务SssS。
如图1-3所示:
图1-3云计算分类
2.2.1软件即服务(SaaS)
SaaS(Softwareasaservice)的含义是软件即服务,是一种基于互联网提出的软件服务应用模式,提供SaaS服务就是把所提供的服务软件统一的部署在自己建立的数据中心,企业只需提出需求,就可使用数据中心提供的服务。
在这种服务模式下,企业用户或个人用户不用像使用传统系统软件那样建立服务器。
用户也不用考虑版本和日常维护等,这些都由服务提供商进行处理。
对于广大中小型企业来说,这种SaaS模型不仅为他们带来了方便,更为他们带来了商机,规避了投资风险。
因为这种模型便于用户通过互联网托管、部署和接入,用户只要按需缴纳费用而不用一次性投入大量的人力和物力。
目前,SaaS已经被用到企业管理软件领域、产业技术和市场。
国内主要厂商有八百客、沃力森,主要研发CRM、ERP等在线应用。
国外主要有SalesForce提供的在线CRM服务,Google在线Office和GoogleApps企业应用。
2.2.2平台即服务(PaaS)
PaaS(Platformasaservice)的含义是平台即服务,是指将软件研发的平台作为一种服务提供给使用者。
在这过程中,也是用到了SaaS所提供的服务,因此PaaS也是SaaS模式的一种应用,是把服务器平台作为一种服务提供的商业模式。
在传统的软件开发时代,若想要开发一个系统,开发者必须先准备开发硬件、软件平台,而在PaaS模式下,开发者不需要自己准备,可以直接使用云计算提供商提供的服务器平台和开发环境,大大缩短了开发周期。
PaaS为开发者提供了便利,主要是因为它能提供企业研发所需要的中间件平台(涵盖了数据库和Web应用发布服务器),同时这个中间件平台时可定制的。
应用软件开发者根据自己的需要,定制适合自己的开发平台,从而丰富了基于该平台的应用,也丰富了SaaS服务。
目前PaaS在商业界也得到了广泛的应用。
面向个人服务的Amazon公司,最初只是为了公司的运营,构建为一个系统平台,面向个人和企业出租。
用户可以自由选择操作系统和中间软件,以这种方式提供硬件以及软件平台服务,最初只是为了挽回一些损失,推向市场后却成为公司经营增长点。
Google公司也在这种服务方式下提供了平台——GoogleAppEngine,这是一个开发语言(Phthon或Java)的使用环境,用户无需搭建自己的Web发布平台和数据库服务器等,可直接使用Google提供的开发包,将开发好的软件发布到Google提供的平台上。
2.2.3基础设施即服务(IaaS)
IaaS(Infrastructureasaservice)的含义是基础设施即服务,是一种对资源的抽象。
具体地说,IaaS是将基础设施经过虚拟化后的计算资源、存储资源和网络带宽等以服务的方式通过互联网提供给用户使用,也是一种托管型的硬件使用方式。
不同云计算提供商的基础设施层所提供的服务有所不同,实现方式也有区别,但都有一个共同点,就是面对大规模的硬件资源,为实现高层次的资源管理,对底层资源进行虚拟化。
通过虚拟化这一过程,屏蔽了硬件资源产品上的差异,也为实现各种硬件资源的统一管理提供了逻辑接口。
基础设施层的资源虚拟化往往具有多个层次。
目前业界提出了虚拟机、集群、虚拟数据中心和云等若干层次分明的资源抽象。
资源虚拟化为资源逻辑定义了操作的对象和粒度,是构建基础设施层的基础。
通过对不同品牌和型号的物力资源进行抽象,以一个全局统一的资源池进行管理并呈现给客户,是基础设施层的关键。
在大规模的集群资源池中,负载问题一直都是研究的热点与难点。
如果资源池中的节点负载均衡,可以提高资源吃的整体效率。
反之,会造成资源上的浪费。
如果在设施层能提供自动化的负载均衡机制,提高资源负载均衡控制机制就不会出现某些节点由于负载过高而致使性能受到影响的情况。
目前,典型的应用如Amazon的EC2、S3、SQS,Google提供的服务器托管、租赁等服务,IBM提供的BlueCloud均提供这种服务。
2.3云计算与网格计算
网格是上世纪90年代中期发展起来的互联网核心技术。
网格技术的定义是:
“在动态、多机构参与的虚拟组织中协同共享资源和求解问题”。
网格实在网络基础上,基于SOA,使用互操作、按需集成等技术手段,把分散在不同地理位置的资源模拟成为一个整体,实现计算、存储、数据、软件以及设备等资源的共享,从而大幅图稿资源的利用率,是用户获得前所未有的计算和信息能力。
国际网格界致力于网格中间件、网格平台和网格应用建设。
著名的网格中间件有GlobusToolkit、UNICORE、Condor、gLite等,其中的GlobusToolkit得到了广泛的认可。
类似于云计算可以分为IaaS、PaaS、SaaS三种类型,网格计算也可以分为三种不同的类型:
计算网格、信息网格和知识网格。
网格计算在概念上争论了很多年,在体系结构上也有三次大的变化,在标准规范上花费了大量的人力,并且所设定的目标也是非常的远大——要在跨平台、跨组织、跨信任域的极其复杂的异构环境下协同解决问题以及共享资源,要想共享的资源也是五花八门——高性能计算机、数据库、设备、软件、知识等等。
网格计算个云计算的关系如下。
目标方面,网格计算主要致力于共享高性能计算力和数据资源,实现资源共享和协同工作,而云计算则为了提供通用的计算机平台和存储空间,提供各种软件服务。
网格计算的资源来自于不同机构,而云间算则来自同一机构。
网格计算希望共享的资源是异构资源,而云计算则是同构资源。
网格计算的资源节点是高性能的计算机,但是云计算可以将简单的服务器甚至是PC作为资源节点。
网格计算通过虚拟组织来虚拟化试图,云计算通过虚拟机。
网格计算是解决以紧耦合问题为主的计算,云计算以松耦合问题为主。
网格计算的用户多为科学界人士,而云计算多用于商业以及社会。
但是网格计算是免费的,而云计算是按量计费的。
网格计算的标准:
统一的国际标准OGSA/WSRF,云计算现在暂无标准,只有开放的云计算联盟。
从上可以看出,云计算暂时不在概念和标准上争论和纠结,完全致力于商业应用。
Google云计算和Amazon云计算就有着非常大的区别,云计算只是对二者以前认识的商业服务和应用新的共同名称。
网格计算和云计算的关系,就有点类似于OSI和TCP/IP之间的关系。
OSI是TCP