EUCALYPTUS,CLOUDSTACK,OPENSTACK和OPENNEBULA:两个云模型的故事

在过去的五年里,自从 OpenNebula 2008年3月份发布第一个开源版本以来,我们参与了很多演讲,讨论和会议,旨在告诉人们OpenNebula和其他的一些开源的云管理平台(CMPs)的不同,主要是与 EucalyptusOpenStack 的比较。最通常的理解是所有的CMPs在同一市场上竞争,试图填补彼此的空白。因此,经过多年的竞争,人们也跳出了错误的认识——在开源的CMPs市场只有一个赢家。然而,在Joe Brockmeier的博文“ 这不是Highlander,不只有一个开源云”讲到,市场为几个开源CMPs提供了一个空间,解决不同的云基础生态环境,组合在一起成为一个广阔的云生态系统。

我们用这篇文章来简单的描述下我们在不同的云模型上的使用经验,以及我们对于主要的开源CMPs的观点。不要指望我们会放在一起来并排比较社区的大小,不同的工具的技术特征,或者项目的管理架构。我们试图只专注于他们的一般的处理和在整体云市场的位置,当然,我们也会尽可能的保持中立态度。

两种不同的云模型 

虽然有很多方式来理解云计算,也有很多构建云的机构,但是他们大都介于两种极端的云模型之间:

是的,我们说过,我们只想关注开源的CMPs。然而,上面我们有意的使用了两个最重要的云“产品”,VMware vCloud 和 AWS,一个云管理平台一个云服务,他们也是我们最熟悉的两种模型的实现。我们更进一步了解到大多数使用第一种云模型的用户明确地表示他们希望寻找一个vCloud的替代品,因为它太贵了,并且他们想避免厂商的锁定,或者因为它不能适应用户需求。同样地,使用第二种云模型的用户明确地表示Amazon作为他们构建私有云的一种类型。


下面的表格描述了两种不同类型云的主要特性。这不是个详单,我列出这些只是想说明两者不同的设计哲学。

Datacenter Virtualization Infrastructure Provision
应用  在传统方式中定义一个多层应用,“企业”方式 “重构”适合云范式的应用
接口 功能丰富的API和管理入口 简单的云APIs和自助入口
管理能力  虚拟和物理资源的完整生命周期的管理 底层基础设施抽象的虚拟资源的简单生命周期管理
云部署  大部分私有 大部分公有
内部设计  由数据中心复杂性自下而上的设计 由云接口的高效实现自上而下设计
企业应用能力  高可用,强容错,副本集,调度任务···通过云平台提供 它们大多数构建到应用程序中,像“错误的设计”
数据中心继承  很简单的适配与任何存在的基础设施环境 建立在新的,同类商品的基础设施上



这种现存的云模型分类已经不新鲜了.  “Datacenter Virtualization” 和“Infrastructure Provider” 云模型被不同的作者给了不同的命名: 很多分析师称为“Enterprise Cloud” 和 “Next Generation Cloud” , Lydia Leong称为 “Cloud-in” 和 “Cloud-out”, Randy Bias称为 “Enterprise Cloud “和 “Open Cloud”, Simon Wardley称为 “Enterprise Cloud” 和 “Private Cloud”, Matt Asay称为 “Private Cloud” 和 “Public Cloud” , Massimo Re Ferrè称为 “Policy-based Clouds” and “Design for fail Clouds” ,这些模型也可归类为“设计支持基础设施的应用程序”与“设计充分利用基础设施的应用程序”。

两种云管理平台的不同特色 

现有的开源的CMPs可以放置在两种模式间。我们创建了一个图表,CMP象限,旨在帮助企业更好的了解现在和未来的云市场前景。一个维度是“云模式”,第二个维度代表“灵活性”,按照产品对数据中心服务的适应性和自定义性提供一个分化型的云服务,这个维度从低到高表示了产品适应性的等级。最后,我们在图表中放上主要的云生态系统开源产品:Eucalyptus, CloudStack, OpenStack 和 OpenNebula….或者那些用户通常用来和OpenNebula比较的工具。

一些重要的说明,

比较vCloud 到 AWS 或者比较 vCloud 到 OpenStack 就像是比较苹果到橘子一样,正如,Massimo Re Ferrè 和Boris Renski分别的表达的一样。虽然都是水果但口味不同。那就是说,由于所有的工具都是使用来做云计算,那么必然在提供的功能上有些重叠性。这种重叠往往比那些工具更接近“云模式”的轴线。


在设计理念和目标市场上OpenNebula 和Eucalyptus有些根本上的不同,他们在象限的相反区域服务于不同的需求和继承与不同的理念。他们代表接近于vCloud 和AWS的开源软件的化身。同样地很多公司比较OpenNebula 和OpenStack因为它们都代表着厂商对于灵活性的需求,因此错误的认为它们都能使用同一种类型的云。

展望未来 

在OpenNebula中,我们不认为一种云模型将能支配其他的,他们或许会在很长一段时间内聚集在一起,至少十年吧。因此,由于一个单独的CMP不能满足所有人的需求,我们看到一个带有多个产品的云空间聚集于不同的环境和行业。这是自然进化,同样也发生其他市场上。这四个开源的CMPs将共存,在某些情况下还会一起工作在一个广阔的云生态系统上。


在某种程度上,这种合作已经开始了。我们的一些用户已经总结了一些使用OpenNebula和其他云平台的经验:

我们确信短期内我们将会看到一些开源的CMPs工作在一起,同时寻求自己在云市场的不同位置。