自从OpenNebula的第一个开源版本在2008年三月发布以来,在过去的五年中,有很多针对这个产品的介绍会、讨论会和研讨会,业内人士都想知道 OpenNebula是如何与其他开源云计算管理平台(CMP)(主要是Eucalyptus和OpenStack)叫板的。业内所形成的最普遍共识是, 所有的云计算管理平台都在同一个市场中展开竞争,都试图独自占领这一领域。因此,人们就得出了错误的结论:在经过多年的激烈竞争之后,这个市场只会幸存下 一个开源CMP赢家。但是,正如Joe Brockmeier在其博文“并不是高地,那不仅仅一个开源云计算”中所指出的那样,在这个市场里有着足够大的空间供多个解决不同云计算问题的开源 CMP共同存在,从而形成一个广泛的开放云计算生态系统。
本文简要地介绍了对不同云计算模式类型的经验,以及对于主流开源CMP们如何实现他们目标的看法。不要指望有一个图表能够事无巨细地比较不同阵营的规模、不同工具的技术特点、或者项目的管理结构。
在关注开源CMP的同时也不能忽略两个主要的云计算“产品”,VMware的vCloud和AWS,一个专用CMP和一个云计算服务,因为他们是两种模式的最著名实施。
第 一个云计算模式的大部分用户都明确地表达了他们希望找到一个vCloud的开源替代解决方案的意愿。vCloud过于昂贵,用户也不想受制于厂商, vCloud无法做出调整以满足他们的个性化需求这些都是造成这个结果的原因。第二种云计算模式的用户则明确地提出,希望把Amazon作为他们内部构建 的云计算类型。
下表列出了两种云计算模式的主要特点。这个表格的内容可能并不完整,但可以说明两者之间的差异。
对 现有云计算模式的分类并不新。有很多人为“数据中心虚拟化“和”基础设施供应商“云计算模式提出过很多个名称。有分析人士称其为“企业云计算“和”下一代 云计算“,Lydia Leong称其为”Cloud-in"和“Cloud-out”,还有Randy Bias的“企业云计算”和“开放云计算”,Simon Wardley的“企业云计算”和“私有云计算”,Matt Asay的“私有云计算”和“公共云计算”,而把这些模式归类为“设计基础设施以支持应用程序”和“设计使用基础设施的有应用程序”的Massimo Re Ferrè则称之为“基于政策的云计算”和“为故障云计算设计”。
两种不同受众的云管理平台
现有的开源 CMP可位于两种模式之间的某个位置。我们创建的一个图表,CMP象限图,它旨在帮助企业更好地理解云计算市场现在和未来的发展。其中的一个维度是“云计 算模式”而另一个维度则是“灵活性”,其中灵活性是指产品适应数据中心服务并被定制以提供差异化云计算服务的能力。这个维度表明了产品适应性的水平,从低 到高。最后,我们根据实际情况把云计算生态系统中主要的开源供应商们分别放在了象限图中合适的位置上。Eucalyptus、CloudStack、 OpenStack 以及 OpenNebula... 或者至少那些对于我们用户和客户来说比较常用的工具。
我们并不是说图表中的某一个位置(参见“工具”)比其他的位置好,我们只是想表明有些CMP的差异性是无法比较的,他们位于完全不同的范畴(参见“象限中的区域”)。
图表中的位置并不表示绝对值,CMP们所在的相对位置表明了他们“云计算模式”和“灵活性”的相关信息。
软件开放性与该图表正交,你也可以用它来比较专用性的CMP。
任何CMP都可用于构建公共云计算或私有云计算,在象限图中的所有这些CMP都可以实施云计算API。
最后,但并不是说最不重要的是,这个图表并不是一成不变的,随着时间的推移不同CMP的位置都会向左、右、上或下运动,但是他们不会同时出现在不同的位置上。每个可能的应用场景并不是只有一个完美的解决方案。
比 较vCloud与AWS或者比较vCloud和OpenStack就如同比较苹果和橘子一样,这一观点已由Massimo Re Ferrè 和 Boris Renski分别阐明。这两样虽然都是水果,但口味非常不同。很明显,虽然所有的工具都能实现基础设施云计算,但是这些工具所提供的功能总还是有着一些重 叠的。对于那些更接近云计算模式维度的工具来说,这种功能重叠的趋势更大。
OpenNebula和Eucalyptus两者之间的理念和目 标市场都存在根本性的差异。我会说,他们分别是vCloud和AWS的典型开源代表。因为OpenNebula和OpenStack代表了适应很多公司需 求的灵活解决方案,所以他们用同样的方法来比较这两者,但是却错误地认为这两者能够实现相同类型的云计算。同样明显的是,Eucalyptus和 OpenStack满足了相同的需求,从而成为同类型云计算的竞争对手。
展望未来
我们不认为一种云计算模式将 会成为绝对的主导。他们有可能在很长的一段时间里彼此融合,但这个时间不是在十年内。因为一个单一CMP无法满足所有用户的需求,所以我们会看到一个有着 多个产品的开源云计算市场,而各种产品都注重于不同的环境或行业。这是一种自然进化,在其他的市场领域中也发生着相同的事情。四个开源CMP将同生共存, 而在某些情况下,他们将在一个广泛的开发云计算生态系统中携手合作。
在某种程度上,这种合作已经开始了。我们的一些用户已反馈了OpenNebula和其他云计算平台的使用体验:
一些公司正在混合企业云计算和内部云计算服务。当计算资源容量需求激增时,他们就实施一个Cloudbursting架构,它可实现从OpenNebula企业云计算到基于OpenStack云计算或基于Eucalyptus云计算的改变。
其他的企业正在使用来自于不同项目的组件来构建他们的云计算。 OpenNebula的整合功能可实现它在数据中心中与OpenStack Swift或OpenStack Quantum的分别整合,以实现对象/块存储和网络管理功能。
我们相信,在短时间内我们就会看到一些共同协作的开源CMP,而同时他们也会在他们各自的云计算市场中想方设法地体现他们的与众不同。