CloudStack和OpenStack的区别

以汽车为例,云平台的各个组件就好像汽车的各个零部件。OpenStack的特点是,定义好了各个零件的接口,比如轮胎,你可以有各种各样的轮胎可以使用,如果你向要一部车子,你需要自己选择各个零部件,然后自己组装,自己做各个零件之间的磨合,自己做性能的优化等,总之,OpenStack提供了各种各样的零件,你可以任意组合搭配,一切都取决于你自己的技术水平。所以使用OpenStack意味着你必须有一个强大的技术团队做支撑。记得Ustack的发布会上,程辉曾经分享过一个数据,大概意思是你要玩转OpenStack,至少需要千万级的投入,团队人数最少20人,这还不能保证你能玩的好。由此可见,OpenStack的技术门槛其实挺高的。这也是Ustack等OpenStack的相关公司的价值所在。

CloudStack就好像是一部已经组装调试好的车,你可以直接开走,也可以自己动手换个喜欢的轮胎,或者在汽车外面弄个喜欢的喷绘。总之,最复杂的工作社区已经帮你做好了,你只需要学会使用就行。而且CloudStack的学习成本低,开发成本低。Java的程序员在国内太多了。

CloudStack最大优势在于apache基金会的管理,这是保证CloudStack能持续有生命力的关键。Apache基金会的管理中,很重要的一点是社区高于代码。Apache基金会关注社区的建设,项目本身的代码质量会因为社区的繁荣得到改善,社区也是项目有生命力的关键。

来看看OpenStack的玩家,HP,IBM,RedHat,Novell,Oracle,huawei,VMWare等,五一不是有极强的研发能力,没有一个不是庞然大物。国内的OpenStack的小玩家未来基本会逐渐被边缘化。OpenStack现在基本是大公司博弈的场所,小公司是无法驾驭这样一个负责的系统的。OpenStack是巨头们包装自己商业产品的嫁衣。



OpenStack 与 CloudStack 的对比  2014年

“2014开源云计算解析”的市场调查显示,69%已经不同程度地应用云计算技术,43%的用户花费大量资源在开源技术上。在这些选择了开源云的企业中,超过86%的企业关注OpenStack,并且这些数值在过去几年都在不断增长。 排在第二位的CloudStack则被远远甩在后面,只有44%。

OpenStack和CloudStack都是功能强大的开源云平台,那OpenStack是凭借什么,在百花齐放的云计算战场取得如此大幅度的领先优势呢?本文基于"用户倾向于云计算的理由"这个角度,对OpenStack和CloudStack进行对比,试着来寻找答案。

CloudStack和OpenStack的区别_第1张图片

短短几年间,云计算已不再虚无飘渺,而是落入凡间,变成实实在在的技术。而开源技术更是逐渐成为对公司、厂商更有吸引力的选择。大概一周前,Zenoss刚刚完成了一份名为“2014开源云计算解析”的市场调查显示,69%已经不同程度地应用云计算技术,43%的用户花费大量资源在开源技术上。

在这些选择了开源云的企业中,超过86%的企业关注OpenStack,并且这些数值在过去几年都在不断增长。 排在第二位的CloudStack则被远远甩在后面,只有44%。

CloudStack和OpenStack的区别_第2张图片

OpenStack和CloudStack都是功能强大的开源云平台,满足企业私有云建设的需求,并且因为开放开源,都可以根据需要进行定制。那是什么原因使OpenStack 在这场开源云计算的战争中笑傲群芳呢?

对于用户倾向于开源云计算的理由,在这份Zenoss的报告中的数据也有显示,诸多原因中以下四种最为重要:

  •  灵活性(71%)

  •  避免被厂商锁定(66%)

  •  更低的成本(66%)

  • 开放的标准和API(60%)

CloudStack和OpenStack的区别_第3张图片

那么本文,我们就将讨论的重点放在冠军OpenStack和 亚军 CloudStack上,先从这四个回合看看冠军OpenStack 和亚军 CloudStack分别是怎样迎接这场开源云战役的。

选手简介:

OpenStack由NASA和Rackspace公司在2010年联合发布,两者分别贡献计算代码(Nova)和存储代码(Swift),以Apache许可协议进行授权。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的目标是提供高度可用的、高度可扩展的能够进行大规模虚拟机部署和管理的开放云平台。

Round 1:灵活性

OpenStack由几个主要的组件组合起来完成具体工作,采用分布式架构。整个平台按照功能不同分为多个模块项目,项目之间通过消息队列中间件和RESTful形式的API进行交互通信,因此每个项目都可以单独部署在不同的主机上,支持几乎所有类型的云环境。

CloudStack采用集中式的单体架构(Monolithic architecture),整个平台只有一个项目构成,不同模块之间通过的本地调用进行交互,在一台主机上就可以完成平台的部署,非常方便。

可以看到,两者的架构几乎是相对的,OpenStack的分布式架构灵活性好,缺点每个项目都要部署配置一遍,比较麻烦;CloudStack因为只有一个项目,部署起来会相对容易很多,然而平台的扩展性就要相对弱一些。

如果单从用户最关注的灵活性的角度来看,本回合OpenStack胜。

Round2: 避免被厂商锁定

OpenStack和CloudStack都是功能强大的开源云平台,满足企业私有云建设的需求,并且因为开放开源,都可以根据需要进行定制。

不同的是CloudStack虽然在云平台构建时会比较方便,对企业来说会更容易上手,但它必竟是从商业软件开源出来的,会带有商业软件属性;而OpenStack自诞生之初就是开源软件,所有的开发都是由社区承担,采用分布式的架构,不同的项目之间几乎没有耦合,所以可以方便的进行开发定制。

综合比较,第二回合,OpenStack胜。

Roud3: 更低的成本

又如前面说到的,CloudStack由于其某种程度带有商业软件属性,平台架构又比较集中,模块间耦合度比较高,导致其二次开发的成本较高。但OpenStack面临的问题是,由多个项目组成,每个项目都要单独安装,并且要保证项目间的协作,所以部署会比较麻烦。而且以Openstack目前发展的状况看来,不同版本之间项目可能会有较大的变动,因此版本间的升级会比较困难,由此带来的运维成本不好估算。

但我们还要考虑到的是,OpenStack和 CloudStack虽然都对VMware的ESXi虚拟化技术提供支持,但支持方式是不一样的。CloudStack要经过vCenter 才可以实现对ESXi宿主机上虚拟机的管理;而OpenStack支持直接和ESXi通信,实现对虚拟机的基本管理,只有高级功能才需要vCenter的 支持。针对目前中小企业普遍采用VMware的免费虚拟化技术而没有vCenter的现状,这也是在平台选择时需要考虑的。

本回合OpenStack 险胜。

Round 4: 开放的标准和API(60%)。

我们已经知道,OpenStack和CloudStack都是功能强大的开源云平台,满足企业私有云建设的需求,并且因为开放开源,都可以根据需要进行定制。OpenStack对外提供丰富和功能强大的API,使得资源可以被用户方便的使用和调度,同时提供和Amazon AWS(Amazon Web Services)兼容的API。CloudStack同样地对外提供自身API和与Amazon AWS相兼容的API。

所以这轮,双方算打个平手。

小结:

单就Zenoss调查报告所显示的用户需要程度最高的四个标准来看,OpenStack似乎基本保持不败。但这并不代表它尽善尽美,而且如果从使用户操作方便,简便易用的角度看来,CloudStack应该更胜一筹。

我们再来回顾这个数据:超过86%的企业关注OpenStack,排在第二位的CloudStack只有44%。这个数据显示,很多用户有可能同时关注这两项技术。技术强不强是客观的,主要还是要看用户自身的需要。但就目前来看,基于OpenStack更加开放的架构,以及众多技术厂商的支持,加上OpenStack 自身迅速成长壮大的势头,从长远来看对企业还是非常有益的。