【恒天云】OpenStack和CloudStack对比研究报告

摘自恒天云:http://www.hengtianyun.com/download-show-id-8.html

1. 概述

常见的IaaS开源平台有OpenStack、CloudStack、Eucalyptus和OpenNebula,公开的现状报告和社区分析显示,OpenStack和CloudStack的在企业接受度和社区的发展状况已经远远超越另外二者,如图1所示。本研究报告将对OpenStack和 CloudStack这两个最为流行的开源云平台进行对比,为企业在进行私有云建设时的技术选型提供参考和建议。html

图一、开源云平台社区活跃度对比图数据库

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。分布式

图二、OpenStack分布式架构图云计算

    CloudStack采用集中式的单体架构(Monolithic architecture),如图3所示,整个平台只有一个项目构成,不一样模块之间经过的本地调用进行交互,在一台主机上就能够完成平台的部署,很是方便,CloudStack一样地对外提供自身API和与Amazon AWS相兼容的API。spa

图三、CloudStack集中式架构图设计

    能够看到二者的架构几乎是相对的,OpenStack的分布式架构灵活性好,不一样的项目能够单独部署,所以能够很容易的根据实际须要进行功能组合,而且因为不一样的项目间耦合性低,项目间功能划分明确,所以针对单独功能进行定制开发也很是方便,缺点是部署麻烦,每一个项目都要部署配置一遍;CloudStack 由于只有一个项目,因此部署起来会相对容易不少,然而平台的扩展性就要相对弱一些。htm

3)平台总体比较中间件

  OpenStack和CloudStack的功能对好比表1所示,咱们从受权协议、支持的底层技术和用户群等不一样方面对二者进行了比较。

 

OpenStack

CloudStack

受权协议

Apache 2.0,能够免费商用

Apache 2.0,能够免费商用

虚拟化技术

XenServer/XCP,KVM,QEMU
LXC,VMware ESXi/vCenter,Hyper-V Baremetal,Docker,Xen/Libvirt

XenServer,KVM,QEMU,
VMware vCenter ,LXC

网络服务

VLAN,Flat,FlatDHCP
Quantum
虚拟化网络

VLAN,Flat,OpenFlow

存储支持

iSCSI,Ceph,NFS,LVM,Swift,Sheepdog

NFS,LVM,Ceph,Swift

调度策略

模型全面,易扩展

模型简单,可扩展

用户界面

功能完善,界面简单

功能完善,界面友好

数据库

PostgreSQL,MySQL,SQLite

MySQL

虚拟机模板

支持

支持

组件

Nova,Glance,Keystone,
Horizon,Swift,Cinder,
Quantum,Heat,Ceilometer

Console Proxy VM,
Second Storage VM,
Virtual Router VM,
Host Agent,Management Server

开发主导

开源社区

Citrix公司

开发语言

Python

Java

官方文档

很是详细

详细

版本问题

存在版本兼容性问题

不存在版本兼容性问题

用户群

160家左右,包括NASA、
RedHat、Rackspace、HP、
网易、UnitedStack等

不到60家,包括诺基亚、
日本电话电报公司、Zynga、
阿尔卡特、迪斯尼等

表一、OpenStack与CloudStack 比较

4)平台选择

    通过前面的比较分析咱们可以得到这样的结论,OpenStack和CloudStack都是功能强大的开源云平台,知足企业私有云建设的需求,而且由于开放 开源,均可以根据须要进行定制。不一样的是CloudStack由于是从商业软件开源出来的,因此对企业来讲会更容易上手,在云平台构建时会比较方便,然而 一样由于其带有商业软件属性,平台架构比较集中,模块间耦合度比较高,所以扩展性不是太好,同时二次开发的成本较高;OpenStack自诞生之初就是开 源软件,并采用分布式的架构,全部的开发都是由社区承担,不一样的项目之间几乎没有耦合,因此能够方便的进行开发定制,然而由于其有多个项目组成,每一个项目 都要单独安装,而且要保证项目间的协做,因此部署会比较麻烦,另外因为OpenStack处于高速发展阶段,不一样版本之间项目可能会有较大的变更,所以版 本间的升级会比较困难。
    另外值得一提的是,OpenStack和CloudStack虽然都对VMware的ESXi虚拟化技术提供支 持,但支持方式是不同的,如图4所示。CloudStack要通过vCenter才能够实现对ESXi宿主机上虚拟机的管理;而OpenStack支持 直接和ESXi通讯,实现对虚拟机的基本管理,只有高级功能才须要vCenter的支持。针对目前中小企业广泛采用VMware的免费虚拟化技术而没有 vCenter的现状,这也是在平台选择时须要考虑的。

图四、VMware ESXi管理方式对比图

    恒天云采用OpenStack开源平台进行私有云建设,由于OpenStack架构很是开放,方便定制开发,而且拥有众多技术厂商的支持,很是有可能成为云 计算IaaS平台领域的Linux,因此经过对OpenStack定制开发,积累云计算的技术能力,从长远来看对企业也是很是有益的。

相关文章
相关标签/搜索