摘自恒天云: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,
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、
阿尔卡特、迪斯尼等

表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对比研究报告的更多相关文章

  1. 恒天云技术分享系列4 – OpenStack网络攻击与防御

    恒天云技术分享系列:http://www.hengtianyun.com/download-show-id-13.html 云主机的网络结构本质上和传统的网络结构一致,区别大概有两点. 1.软网络管理 ...

  2. 恒天云单节点部署指南--OpenStack H版本虚拟机单节点部署解决方案

    本帖是openstack单节点在虚拟机上部署的实践.想要玩玩和学习openstack的小伙伴都看过来,尤其是那些部署openstack失败的小伙伴.本帖可以让你先领略一下openstack的魅力.本I ...

  3. 恒天云 3.0:打造基于OpenStack的私有云新模式

    摘自恒天云官网:http://www.hengtianyun.com/download-show-id-17.html 云计算在当今IT世界中已发展地如火如荼,越来越多的企业利用云计算改造传统的数据中 ...

  4. 恒天云技术分享系列5 – 虚拟化平台性能对比(KVM & VMware)

    恒天云技术分享系列:http://www.hengtianyun.com/download-show-id-14.html 概述 本性能测试报告将详细陈述各虚拟化平台基准性能测试的主要结论和详细结果. ...

  5. 恒天云技术分享系列2 - vlan管理GUI开发

    恒天云:http://www.hengtianyun.com/download-show-id-10.html 在OpenStack G版本中quantum网络模式下,horizon提供了基于quan ...

  6. 恒天云技术分享系列6 – vLan网络原理解析

    转载自恒天云官网:http://www.hengtianyun.com/download-show-id-15.html Vlan网络模式优点 增加网络可扩展性 网络隔离,每个租户拥有独立的网络及vl ...

  7. 恒天云技术分享系列3 – KVM性能调优

    恒天云技术分享:http://www.hengtianyun.com/download-show-id-11.html KVM是什么 KVM 是 kernel-based Virtual Machin ...

  8. 恒天云IaaS基础设施标准

    系统总体要求: 支持多种操作系统:支持Windows,Redhat.Suse等Linux操作系统: 支持多种虚拟化系统:支持多种计算资源虚拟化方式: 网络接口:支持千兆及万兆以太网技术: 供电:支持直 ...

  9. 中国云运营商横向对比——IaaS服务对标

    前言: 随着互联网行业的快速发展,云服务器的使用越来越普遍.中国的云服务器提供商数量也在增加,市场上有大大小小多家云服务器提供商.然而,为了在众多服务提供商中脱颖而出,国内云服务器运营商商也在不断的利 ...

随机推荐

  1. 关于Java中try-catch-finally-return语句的思考

    我们知道return语句用在某一个方法中,一是用于返回函数的执行结果,二是用于返回值为void类型的函数中,仅仅是一个return语句(return ;),此时用于结束方法的执行,也即此return后 ...

  2. C语言的左位移能不能超过8位?

    C语言的左位移能不能超过8位?比如b=a<<20; 这样可以不?如果可以,一个字节只有8个位,左移20位是不是连右边其它字节的12个位(20-8)也一起左移? 字符变量左移八次后,所有的位 ...

  3. HDU 1031 Design T-Shirt

    http://acm.hdu.edu.cn/showproblem.php?pid=1031 题意 :n个人,每个人对m件衣服打分,每个人对第 i 件衣服的打分要加起来,选取和前 k 高的输出他们的编 ...

  4. C++调用C#生成的DLL文件的各种问题

    C++调用C#生成的DLL文件: 首先选择建立一个C#的类库,然后再按照需求编写需要的函数 之后,对于C++调用过程需要注意的几点: 1.使用#using <....some.dll>指出 ...

  5. SQLite入门与分析(三)---内核概述(2)

    写在前面:本节是前一节内容的后续部分,这两节都是从全局的角度SQLite内核各个模块的设计和功能.只有从全局上把握SQLite,才会更容易的理解SQLite的实现.SQLite采用了层次化,模块化的设 ...

  6. 188. Best Time to Buy and Sell Stock IV

    题目: 链接: 题解: 测试: Reference:

  7. 程序员的自我修养(2)——计算机网络(转) good

    相关文章:程序员的自我修养——操作系统篇 几乎所有的计算机程序,都会牵涉到网络通信.因此,了解计算机基础网络知识,对每一个程序员来说都是异常重要的. 本文在介绍一些基础网络知识的同时,给出了一些高质量 ...

  8. System.Drawing.Design.UITypeEditor自定义控件属性GetEditStyle(ITypeDescriptorContext context),EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.C ...

  9. bzoj2595

    一开始看是插头dp,后来发现还有一个叫斯坦纳树的东西 什么叫斯坦纳树,就是使给定点连通开销和最小的树(可以包含多余的点) 到这张平面图上,我们不难想到用dp来解决,设f[x,y,S]表示连通集合为S, ...

  10. 剑指Offer:互为变位词

    // 判断两个单词是否互为变位词: 如果两个单词中的字母相同,并且每个字母出现的次数也相同, 那么这两个单词互为变位词 #include <stdio.h> #include <st ...