网站大量收购独家精品文档,联系QQ:2885784924

开源IaaS云平台的分析与比较.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
开源IaaS云平台的分析与比较

开源IaaS云平台的分析与比较 作为云计算的一种重要形式,IaaS服务有各种开源和商业云平台方案。本文立足于使用开源IaaS云平台来开发公有云和私有云管理平台的角度,介绍和比较了Eucalyptus、OpenNebula、CloudStack和OpenStack等开源IaaS云平台。 从AWS看成功云平台的特点 AWS是当前最成功的云计算平台,其系统架构最大的特点就是通过Web Service接口开放数据和功能,一切以服务为第一位;并通过SOA的架构使系统达到松耦合。 AWS 提供的Web Service栈,由访问层(API、管理控制台和各种命令行等),通用服务层(身份认证、监控、部署和自动化等),PaaS层服务(并行处理、内容传输 和消息服务等),IaaS层服务(计算EC2、存储S3/EBS、网络服务VPC/ELB等以及数据库服务)几部分组成。用户应用使用IaaS基础IT资 源,将PaaS和通用服务作为应用架构中的组件来构建自己的服务。综合来看,AWS生态环境中系统架构的核心思想为SOA、分层和服务组合。 私有云的需求 除了AWS这类公有云平台,私有云和混合云也是IaaS的重要形式。企业对于私有云平台通常会有以下几个需求。 计算虚拟技术的多样选择(KVM、XEN、ESX、ESXi、Hyper-V和XenServer等)。 存储技术/设备的多样支持(交换机、路由器和防火墙等)。 网络技术/设备的多种支持(NAS、IP-SAN和FC-SAN等)。 多种API的支持。 前三个需求要求IaaS平台能屏蔽底层的具体技术/设备的差别对外呈现基本一致的能力与接口。这一般要采用抽象框架加插件的设计来实现。另外,基于计算虚拟化、网络和存储等技术自成体系的原因,整个架构设计中须考虑将计算虚拟化、网络和存储独立成三个子系统或服务。 因此,云平台至少应包含三层:API或接入层提供各种不同API或访问方式,核心虚拟化管理层整合底层服务来对外提供IaaS服务,计算/存储/网络服务层屏蔽技术差异。 技术团队开发需求 小型技术团队精英化,每个人都能够参与整体设计。大型团队则为金字塔结构,只有少数人能够参与整体设计,多数人员因能力和职责的原因只能接触到单个功能或模块。 为满足这两种团队的要求,云平台的整体软件架构必须做到松耦合,通过组合组件、模块和服务来构成整个系统;同时需要组件、模块和服务功能内聚以便于小团队独立维护,方便独立的设计、开发和演进。 另外,云平台需要考虑提供基础共享组件在各个服务中重用。典型的可重用组件为数据库ORM、消息通信、服务端基础框架、配置管理系统、日志系统和错误定位系 统等。很多大型团队会整合这些基础共享服务,通过领域描述语言自动化生成基础框架代码,使开发人员可以专注于具体的服务实现和关键技术研究。 云平台的介绍和比较 下面从系统架构要分层、组件化,采用SOA以达到系统松耦合;组件服务使用框架插件化设计;开发平台化等方面来比较4个开源IaaS云平台。 Eucalyptus Eucalyptus 是最早试图克隆AWS的开源IaaS云平台,整体架构如图1的左半部分所示。Eucalyptus由云控制器(CLC)、Walrus、集群控制器 (CC)、存储控制器(SC)和节点控制器(NC)组成,它们相互协作共同提供所需的云服务。组件间使用支持WS-Security的SOAP消息实现安 全的通信。Eucalyptus对外提供兼容AWS的SOAP和Query接口,不提供其他API。 图1 Eucalyptus系统架构和CLC逻辑架构 从分层的角度来看,Eucalyptus缺乏API层设计, CLC是全局资源管理层,集群服务(CC和SC)为底层资源管理层。CLC、CC和NC三层结构不是软件架构层面的分层,只能看作一种为了管理较大规模集群的工程化方法。 从组件服务角度看,每个集群中将计算和存储服务设计为独立服务,网络仍为与计算服务的一部分。尽管Eucalyptus在代码实现上是将网络部分独立出来的,但整体上并未按照独立的服务来设计,整体设计解耦不够。 CLC 是Eucalyptus的核心,包括虚拟机控制、存储卷管理、网络资源(Address)管理、镜像管理、快照管理、Keypair管理和元数据管理等服 务模块。开源ESB Mule将所有的服务编排起来,通过Eucalyptus服务对外统一提供EC2和EBS服务,如图1的右半部分所示。由此可以看 到,Eucalyptus在SOA层面上做得较好。但ESB技术门槛高,对设计开发人员要求较高。同时因为Eucalyptus只在很少的地方支持插件 (如多Hypervisor支持的插件),所以整体上对抽象框架和插件的设计做得不多。 从开发平台的角度来看,Eucalyptus的主要 开发语言为Java和C;CLC采用

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档