【恒天云】OpenStack和CloudStack对比研究报告
摘自恒天云:http://www.hengtianyun.com/download-show-id-8.html
1. 概述
常见的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定制开发,积累云计算的技术能力,从长远来看对企业也是非常有益的。
【恒天云】OpenStack和CloudStack对比研究报告的更多相关文章
- 恒天云技术分享系列4 – OpenStack网络攻击与防御
恒天云技术分享系列:http://www.hengtianyun.com/download-show-id-13.html 云主机的网络结构本质上和传统的网络结构一致,区别大概有两点. 1.软网络管理 ...
- 恒天云单节点部署指南--OpenStack H版本虚拟机单节点部署解决方案
本帖是openstack单节点在虚拟机上部署的实践.想要玩玩和学习openstack的小伙伴都看过来,尤其是那些部署openstack失败的小伙伴.本帖可以让你先领略一下openstack的魅力.本I ...
- 恒天云 3.0:打造基于OpenStack的私有云新模式
摘自恒天云官网:http://www.hengtianyun.com/download-show-id-17.html 云计算在当今IT世界中已发展地如火如荼,越来越多的企业利用云计算改造传统的数据中 ...
- 恒天云技术分享系列5 – 虚拟化平台性能对比(KVM & VMware)
恒天云技术分享系列:http://www.hengtianyun.com/download-show-id-14.html 概述 本性能测试报告将详细陈述各虚拟化平台基准性能测试的主要结论和详细结果. ...
- 恒天云技术分享系列2 - vlan管理GUI开发
恒天云:http://www.hengtianyun.com/download-show-id-10.html 在OpenStack G版本中quantum网络模式下,horizon提供了基于quan ...
- 恒天云技术分享系列6 – vLan网络原理解析
转载自恒天云官网:http://www.hengtianyun.com/download-show-id-15.html Vlan网络模式优点 增加网络可扩展性 网络隔离,每个租户拥有独立的网络及vl ...
- 恒天云技术分享系列3 – KVM性能调优
恒天云技术分享:http://www.hengtianyun.com/download-show-id-11.html KVM是什么 KVM 是 kernel-based Virtual Machin ...
- 恒天云IaaS基础设施标准
系统总体要求: 支持多种操作系统:支持Windows,Redhat.Suse等Linux操作系统: 支持多种虚拟化系统:支持多种计算资源虚拟化方式: 网络接口:支持千兆及万兆以太网技术: 供电:支持直 ...
- 中国云运营商横向对比——IaaS服务对标
前言: 随着互联网行业的快速发展,云服务器的使用越来越普遍.中国的云服务器提供商数量也在增加,市场上有大大小小多家云服务器提供商.然而,为了在众多服务提供商中脱颖而出,国内云服务器运营商商也在不断的利 ...
随机推荐
- c++调用matlab生成的Dll动态连接库
点击打开链接http://download.csdn.net/detail/nuptboyzhb/4228429 c++调用matlab生成的Dll动态连接库 实验平台: matlab 7.0(R ...
- POJ 2200 A Card Trick(模拟)
题目链接 题意 : 一共52张牌(A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K)花色分别是C,D,H,S ...给助理5张牌,然后助理需要重新排一下次序,把第一张牌给观 ...
- lsof命令总结
1.lsof 简介 lsof 是 linux 下的一个非常实用的系统级的监控.诊断工具.它的意思是 List Open Files,很容易你就记住了它是 “ls + of”的组合~它可以用来列出被各种 ...
- EntityFreamwork 读写分离
http://www.cnblogs.com/cjw0511/p/4391092.html
- VS2013与MySql建立连接;您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧
因为之前都是看别人的项目,而没有自己从头到尾建立一个项目,所以这次尝试搭建时就出现了问题,主要是ASP.Net MVC项目中VS2013和MySql的连接. 第一个问题: 数据库表已建好,相应的数据库 ...
- 基于http.sys来开发的,真的是非常稳定
真正的WEB服务器是不会用Indy写的.因为它是基于每连接每线程的. 其实真正的服务器需要下很多功夫,无法快速开发的.比如说,字符串处理.玩服务器基本上就是玩内存.举个例子: var str:Ansi ...
- 120. Triangle
题目: Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjace ...
- SGU 130
SGU130,用k条弦将一个圆分成k+1份的方法数. #include <iostream> #include <vector> #include <string> ...
- P102、面试题14:调整数组顺序使奇数位于偶数前面
题目:输入一个整数数组,实现一个函数来调整该数组中数字的属性怒,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 思路:其实就是用快速排序法的第一轮排序,从左右夹逼,左边遇到偶数,停下来, ...
- python学习笔记一--字符串
一.字符串: (一)字符串里单个元素的操作 1. 单个字符(元素)的序列组合. 2. 序列:单个字符的位置 3. 序列的操作:内置函数len获取长度,加位置索引 4. 获取字符串的里的元素:正向索引+ ...