OpenStack 如何笑傲开源云计算战场—— OpenStack 与 CloudStack 的对比

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

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

OpenStack 如何笑傲开源云计算战场—— OpenStack 与 CloudStack 的对比

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

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

OpenStack 如何笑傲开源云计算战场—— OpenStack 与 CloudStack 的对比

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

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

  •  灵活性(71%)
  •  避免被厂商锁定(66%)
  •  更低的成本(66%)
  • 开放的标准和API(60%)

OpenStack 如何笑傲开源云计算战场—— OpenStack 与 CloudStack 的对比

那么本文,我们就将讨论的重点放在冠军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。

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

小结:

相关推荐