常见的IaaS开源平台有OpenStack、CloudStack、Eucalyptus和OpenNebula,公开的现状报告和社区分析显示,OpenStack和CloudStack的在企业接受度和社区的发展情况已经远远超越另外两者,如图1所示。本研究报告将对OpenStack和CloudStack这两个最为流行的开源云平台进行对比,为企业在进行私有云建设时的技术选型提供参考和建议。
图1、开源云平台社区活跃度对比图
2. OpenStack和CloudStack的对比
1)历史背景和概况
OpenStack由NASA和Rackspace公司在2010年联合发布,两者分别贡献计算代码(Nova)和存储代码(Swift),以Apache许可协议进行授权。OpenStack的目标是提供一个既可以用来建设公有云也能建设私有云的通用的开源云计算平台,而且做到云平台的搭建尽量的简单方便,同时能够快速的横向扩展。OpenStack独立于任何企业,遵循开源、开放设计、开放开发流程和开放社区的理念,完全由社区主导和维护。OpenStack的发布周期是半年,到目前为止已经发布8个正式版本,最新的版本是Havana,在每个版本发布之后社区都会举行一次峰会,来自世界各地的公司和开发者一起讨论下一个版本的设计,同时进行OpenStack相关的技术分享,值得一提的是,最近的一次峰会在中国的香港举行。
CloudStack最初由Cloud.com公司开发,分为商业和开源两个版本,开源版本通过GPLv3(GNU General Public License, version 3)许可协议进行授权,Citrix公司在2011年收购Cloud.com后,将全部代码开源,并在2012年将CloudStack贡献给Apache软件基金会,成为Apache的孵化项目,同时将授权协议改为更加宽松开放和商业友好的Apache许可协议,CloudStack在2013年3月份升级为Apache的正式项目。CloudStack的目标是提供高度可用的、高度可扩展的能够进行大规模虚拟机部署和管理的开放云平台。CloudStack的发布周期并不固定,目前最新的版本是4.2,社区每年会举行一次全球协作会议(CloudStack Collaboration Conference)进行技术分享和交流。
2)平台架构
OpenStack采用分布式架构,整个平台按照功能不同分为多个模块项目,如图2所示,项目之间通过消息队列中间件和RESTful形式的API进行交互通信(其中认证项目为其它项目提供认证和服务注册),因此每个项目都可以单独部署在不同的主机上,架构非常的灵活,OpenStack对外提供丰富和功能强大的API,使得资源可以被用户方便的使用和调度,同时提供和Amazon AWS(Amazon Web Services)兼容的API。
图2、OpenStack分布式架构图
CloudStack采用集中式的单体架构(Monolithic architecture),如图3所示,整个平台只有一个项目构成,不同模块之间通过的本地调用进行交互,在一台主机上就可以完成平台的部署,非常方便,CloudStack同样地对外提供自身API和与Amazon AWS相兼容的API。
图3、CloudStack集中式架构图
可以看到两者的架构几乎是相对的,OpenStack的分布式架构灵活性好,不同的项目可以单独部署,因此可以很容易的根据实际需要进行功能组合,并且由于不同的项目间耦合性低,项目间功能划分明确,因此针对单独功能进行定制开发也非常方便,缺点是部署麻烦,每个项目都要部署配置一遍;CloudStack因为只有一个项目,所以部署起来会相对容易很多,然而平台的扩展性就要相对弱一些。
3)平台整体比较
OpenStack和CloudStack的功能对比如表1所示,我们从授权协议、支持的底层技术和用户群等不同方面对两者进行了比较。
OpenStack |
CloudStack |
|
授权协议 |
Apache 2.0,可以免费商用 |
Apache 2.0,可以免费商用 |
虚拟化技术 |
XenServer/XCP,KVM,QEMU, |
XenServer,KVM,QEMU, |
网络服务 |
VLAN,Flat,FlatDHCP |
VLAN,Flat,OpenFlow |
存储支持 |
iSCSI,Ceph,NFS,LVM,Swift,Sheepdog |
NFS,LVM,Ceph,Swift |
调度策略 |
模型全面,易扩展 |
模型简单,可扩展 |
用户界面 |
功能完善,界面简单 |
功能完善,界面友好 |
数据库 |
PostgreSQL,MySQL,SQLite |
MySQL |
虚拟机模板 |
支持 |
支持 |
组件 |
Nova,Glance,Keystone, |
Console Proxy VM, |
开发主导 |
开源社区 |
Citrix公司 |
开发语言 |
Python |
Java |
官方文档 |
非常详细 |
详细 |
版本问题 |
存在版本兼容性问题 |
不存在版本兼容性问题 |
用户群 |
160家左右,包括NASA、 |
不到60家,包括诺基亚、 |
表1、OpenStack与CloudStack 比较
4)平台选择
经过前面的比较分析我们能够获得这样的结论,OpenStack和CloudStack都是功能强大的开源云平台,满足企业私有云建设的需求,并且因为开放开源,都可以根据需要进行定制。不同的是CloudStack因为是从商业软件开源出来的,所以对企业来说会更容易上手,在云平台构建时会比较方便,然而同样因为其带有商业软件属性,平台架构比较集中,模块间耦合度比较高,因此扩展性不是太好,同时二次开发的成本较高;OpenStack自诞生之初就是开源软件,并采用分布式的架构,所有的开发都是由社区承担,不同的项目之间几乎没有耦合,所以可以方便的进行开发定制,然而因为其有多个项目组成,每个项目都要单独安装,并且要保证项目间的协作,所以部署会比较麻烦,另外由于OpenStack处于高速发展阶段,不同版本之间项目可能会有较大的变动,因此版本间的升级会比较困难。
另外值得一提的是,OpenStack和CloudStack虽然都对VMware的ESXi虚拟化技术提供支持,但支持方式是不一样的,如图4所示。CloudStack要经过vCenter才可以实现对ESXi宿主机上虚拟机的管理;而OpenStack支持直接和ESXi通信,实现对虚拟机的基本管理,只有高级功能才需要vCenter的支持。针对目前中小企业普遍采用VMware的免费虚拟化技术而没有vCenter的现状,这也是在平台选择时需要考虑的。
图4、VMware ESXi管理方式对比图
恒天云采用OpenStack开源平台进行私有云建设,因为OpenStack架构非常开放,方便定制开发,并且拥有众多技术厂商的支持,非常有可能成为云计算IaaS平台领域的Linux,所以通过对OpenStack定制开发,积累云计算的技术能力,从长远来看对企业也是非常有益的。
相关推荐
一个ppt,分析openstack 和 cloudstack 的优缺点。
CloudStack OpenStack Eucalyptus 比较
openstack+ceph非常详细整合安装部署,网上openstack+ceph文档很多,90%都是只讲openstack与ceph整合部分、也没有讲整合后如何验证。此文档包括详细拓扑图、openstack与ceph一步一步详细安装步骤,配置参数讲解。
综上所述,CloudStack和OpenStack在功能和技术架构上有诸多相似之处,但也存在一些显著差异。CloudStack更倾向于Java生态,而OpenStack则侧重于Python生态系统。此外,在某些特定功能方面,如虚拟机管理和服务方案...
Apache CloudStack和OpenNebula在易用性和企业特性上有优势,但生态和功能相对较窄。Kubernetes在容器编排领域独树一帜,适合现代化的应用部署。选择哪个平台取决于具体的需求,如部署规模、技术栈、易用性、社区...
### OpenStack技术调研报告知识点详解 #### 一、OpenStack简介 - **起源与开发者**:OpenStack由Rackspace和...通过对OpenStack的深入研究和技术实践,可以更好地理解和利用这一平台的优势,满足不同场景下的需求。
Openstack 云平台项目测试报告 Openstack 云平台项目测试报告是一份详细的测试报告...Openstack 云平台项目测试报告是一份详细的测试报告,涵盖了云平台的各个方面的测试结果,能够帮助读者了解云平台的功能和可靠性。
OpenStack 由社区维护,包括 OpenStack 计算(Nova)、OpenStack 对象存储(Swift)和 OpenStack 镜像服务(Glance)等三个主要组件。 OpenStack 计算(Nova)是一个云控制器,用来启动一个用户或一个组的虚拟实例...
3. 本地epel、openstack源制作 4. ftp服务安装 5. 修改yum源仓库指向文件 四、 keystone安装(上) 1. 安装Mysql服务 2. 安装rabbitmq消息队列 3. 为nova,neutron,cinder.heat创建用户并授权 五、 ...
云南大学软件学院云计算(陆...IaaS在开源领域也是百花齐放,最著名的开源平台为:Eucalyptus、Openstack和Cloudstack、Opennebula、Nimbus,在国内社区比较火热的主要是前三种,所以在这里主要分析一下前三种平台。
云计算平台是当前ITindustry的热门话题之一,各种云计算平台层出不穷,今天我们将对比分析几种常见的IaaS云计算平台,分别是Eucalyptus、OpenStack和CloudStack。 Eucalyptus是开源的软件基础结构,用于实现弹性的...
这篇实训报告详细介绍了如何在Linux环境中搭建OpenStack的步骤,主要基于CentOS操作系统,涉及到虚拟化技术如VirtualBox。以下是各章节内容的详细解释: ### 第一章 OpenStack准备工作 在这一章,实训主要涉及以下...
对比其他云平台,如Eucalyptus,OpenStack的最大优势在于其完全开源的特性,这意味着开发者和企业可以自由地定制、扩展和集成OpenStack到自己的环境中,而Eucalyptus虽然也支持AWS API,但其商业版本可能受到更多的...
2. **易用性**:相较于 OpenStack 的复杂性和多样性,CloudStack 提供了一个更加简洁、直观的管理界面,降低了用户的使用门槛。 3. **社区支持**:虽然 OpenStack 拥有更多的大型企业支持,但 CloudStack 的社区同样...
研究更确切的说是了解openstack也有一段时间了,在这个过程当中也做了两次报告,比较的粗浅。现在放出来分享给大家,希望能有人共同的进步。 文章不能上传附件,那我就传到了微盘上,希望大家给出宝贵建议。同时盼望...
### OpenStack安装报告知识概要 #### 1. OpenStack简介 OpenStack是一个全球性的开源云计算项目,旨在为公共和私有云提供软件基础设施。它由多个服务组件构成,这些服务包括了计算、网络、存储、镜像处理、身份认证...
最新云平台Openstack的搭建管理考核报告.pdf