我们起草了这篇报道来回答最近听到的多次被问到的问题,特别是来自于打算创建他们自己的私有云的组织机构的问题。 您是怎么比较OpendNebula和OpenStack的呢? 这真是一个复杂的问题。因为开源项目和技术呈现出多维度,这个问题没有唯一的答案。但是我们并不会畏惧回答这个问题,简而言之,它们代表了两种不同的开源模形。OpenNebula侧重于用户的需求而OpenStack是厂商驱动的。 这并不是质疑它们哪一个更优,它们只是代表了不同的方法。让我们来基于如下的开源属性做比较:内部结构、管理模式,路标定义,贡献者概况,目标用户,产品和市场竞争力。显然这种比较是有偏颇的(无法避免),但是我们将尽可让的让它中立。 不同的开源项目模型 这个两个项目都遵照Apache2.0标准发布代码,依照公共的路线图遵照透明的开发流程,对于贡献者都是相同的许可标准。尽管如此,它们有着明显的不同,特别是以下方面:
现在的问题是: 为什么OpenNebula遵照的是“慈悲的独裁者”的管理模式? 在我们看来,OpenStack的管理者是互相竞争的财团,他们试图创建他们自己的产品或者得对特定设备提供兼容。这种多厂商的模式增加了创建基础平台的难度,因为这个平台既要满足项目的需求又要平衡每个厂商的目标。有趣的是这些厂商同时还提供与OpenStack组件直接竞争的商业软件。 传统上讲,多厂商工业财团是长远来讲商业化核心组件的最佳途径,特别是当已经存在了基础稳定的软件,但短期内这种方式并不会从草稿产生一个完全符合企业级需求的解决方案。这种状况下增加更多的开发者和成员只会使项目进展慢下来。众所周知的Brooks法则可以适用于开发和管理阶段。OpenStack已经达到了一个峰值,基于共识的方式限制了这个项目的竞争力。 我们相信有着极强个人领导力的集中模式将会是快速构建产品已就绪的、企业级的开源产品的最佳途径,特别是在市场快速发展的初始阶段。请不要给我们打个控制欲极强的标签;我们这么做是因为我们想要创建一个伟大的产品,我们想要对整个产品负责,我们需要对我们的用户负责。“慈悲的独裁者”的模式是像Android,Linux Kernel等这些成功的开源产品所遵循的模式,在我们看来,它是关注工程质量的最有效的方法,是优先响应用户需求的最佳方法,也是长期维护项目的最佳方法。 基于以上原因,组织做出如下论述:OpenNebula是由用户创建为用户服务的,OpenStack是由厂商开发为厂商服务的。 这看起来有点像是承诺,但是我们一直信守着这一理念很多年,还没有发现什么可以证明这样做是错误的。 B 不同的云模型
虽然有多个组织打算创建云,就有多少种关于云计算的理解,但它们大部分都落入这两个极端的云计算模型:
虽然OpenStack现在正在试图让每个人都得到所需,它原来被创建出来就是做为一种开源的力量来与亚马逊的云服务(AWS)竞争的。因些,OpenStack着重关注了基础供应的部分,而OpenNebula则更好的满足了企业云计算的需求。这两个工具都支持基础云计算,它们提供的功能还是有一部分重合的。然而每个云模型都代表了不同的架构约束,需要不同的接口,管理能力和集成支持。OpenNebula和OpenStack满足了不同的需求,实现了完全不同的理念。 |