OpenStack 与 Linux 普及的相似之处

尚无读者喜欢这篇文章。
OpenStack is developing like Linux

Opensource.com

尽管 OpenStack 拥有相当大的势头,但仍有人怀疑 OpenStack 最终是否会成功。我的同事去年在一篇博文中驳斥了一些这种怀疑,我不会在这里重复这些论点。相反,我将对 OpenStack 如何与另一个我认为我们都同意已经变得流行和成功的开源项目(即 Linux)的普及相类似,并且可能继续与之类似,进行一些观察。[1]

1. 计算新方法的组成部分

Linux 的出现正值计算领域发生变革之际。计算已变得分布式,Web 的兴起带来了新的功能和新的需求。Linux 早期的大部分增长来自为新的互联网基础设施提供动力。正是从这个滩头阵地,Linux 分支扩展到更传统的企业操作系统角色。同样,OpenStack 是云计算浪潮的一部分,其特点是新的标准化和自动化水平,以及按需和自助服务的方式向用户交付计算资源。 

2. 普及率不会是统一的

Linux 的早期采用者通常是互联网托管服务提供商和其他技术娴熟的技术消费者。OpenStack 的早期采用者也符合类似的特征。事实上,OpenStack 项目最初由 NASA 和托管服务提供商 Rackspace 创立。该技术的其他早期用户包括金融服务公司等组织,他们寻求将公共云计算的优势带入自己的数据中心,以实现更灵活的基础设施,并保持完全在他们的控制之下。主流企业采用,特别是对于非云化工作负载,将随着时间的推移而到来。 

3. 这需要时间

总的来说,新技术的采用总是需要数年时间。根据您的计算方式,主流企业对 Linux 的大规模采用从其诞生到普及经历了长达十年的时间。许多人认为 Linux 2.4 内核是第一个“企业就绪”的版本(无论他们是否能够定义他们所说的这个术语),而它直到大约 2001 年才出现在商业 Linux 发行版中——那时 Linux 已经广泛用于互联网基础设施。

这并不是说 OpenStack 的时间线会如此漫长。如今,开源软件在企业中已被广泛接受,这与 2001 年左右的情况大相径庭。但没有任何技术会一夜之间被采用。(即使 x86 虚拟化也可能花了五年时间才真正普及。) 

4. 社区与技术同等重要

Linux 早期的成功并非因为它比 Unix 技术更好。在大多数情况下,它并非如此。相反,它通常胜出是因为它比在专有硬件上运行的专有 Unix 便宜。它还为用户提供了发行版和硬件供应商的选择,以及在他们选择的情况下自定义代码的能力。然而,真正使 Linux 和更广泛的开源在长期以来与众不同的是开源开发模型的强大功能以及来自项目社区的创新。

如今,在市场的主要领域,例如处理高容量数据的基础设施,开源技术是大多数持续快速变化背后的推动力。OpenStack 也是如此。还有其他云基础设施项目——其中一些项目可以说在商业部署方面具有先发优势。但 OpenStack 获得了最多的行业关注,因为 OpenStack 拥有最大且最多样化的社区。 

5. 开源开发是一个迭代过程

人们对 OpenStack 的一个诟病是它不成熟。确实不成熟。事实上,这对于许多早期开源项目来说都是常见的抱怨。当然,早期版本的专有产品也未必成熟。但是,通常情况下,开发专有软件的公司至少会努力发布一些完整且功能齐全的东西。

另一方面,开源是一个更加迭代的过程,从早期的代码开始,这些代码不仅不成熟,而且存在明显的功能缺陷。Linux 就是这种情况,它最初只是一个业余爱好者操作系统,然后演变成适合互联网基础设施的东西,最终成为能够处理最苛刻的企业工作负载的操作系统。OpenStack 将遵循类似的轨迹。 

6. 商业发行版使企业能够消费

为了使 Linux 被主流企业接受,需要发生的重要步骤之一是必须将其作为商业产品提供。大多数企业对消费开源项目不感兴趣——尤其是对于生产工作负载。他们想要产品,也就是说,经过彻底强化、测试、记录和支持的位。他们想要围绕这些产品的生态系统,包括所需的任何认证。

OpenStack 也是如此,一些早期采用者正在直接与 OpenStack 项目合作甚至为其做出贡献,但大多数企业都在寻找 OpenStack 产品。 

7. 需要互补组件和集成

客户购买基础设施不是为了购买基础设施本身。这也许是一个显而易见的说法,但有时似乎会被遗忘。Linux 成功了,因为它成为了运行从网络服务到业务线应用程序等一切事物的绝佳平台。Linux 发行版包括构建高度功能性基础设施所需的许多开源组件;Apache Web 服务器是一个重要的早期组件。但是,随着时间的推移,企业所需的其他软件(包括专有软件)的可用性使 Linux 成为如此多组织软件堆栈的组成部分。

同样,OpenStack 将越来越多地包含构建基础设施即服务 (IaaS) 层所需的许多组件。然而,构建和管理完整的混合云还需要云管理平台、应用程序生命周期管理和平台即服务 (PaaS) 等互补产品。当然,该云还需要一个操作系统来支持在云中运行的应用程序——Linux 非常适合这个角色。 

结论

与 Linux 普及的早期和今天的 OpenStack 相比,有一件事截然不同。环境已经发生了很大变化。那时,开源对许多人来说仍然是一个新概念。主要的专有软件供应商竭尽全力说服客户,开源在某种程度上比他们自己的产品更具风险。良好的开源项目治理、许可和开发实践正在被学习,通常是通过反复试验。

今天,正如在 OpenStack 推进的速度中可以看到的那样,环境已经截然不同。开源软件无处不在,并且人们普遍认识到,开放、协作的方法通常只是开发软件的更好方式。只需看看 OpenStack 基金会 的成员构成,就可以看出有多少主要的 IT 供应商和个人认识到情况确实如此。

 


 

[1] 在本文中,我所说的 Linux 是指整个发行版/操作系统,而不是仅仅指 Linux 内核,因为考虑到 OpenStack 是由多个子项目组成的,这种比较更恰当。

 

最初发布于 Red Hat Stack:OpenStack 博客。经许可转载。

标签
User profile image.
Gordon Haff 是红帽技术布道师,是客户和行业活动中备受赞誉的常客演讲者,专注于包括红帽研究、开源采用和广泛新兴技术领域。

1 条评论

在 OpenStack 变得更稳定和健壮(即,它获得可以坐落于其上的云基础层)之前,OpenStack 的采用永远不会发生在数据中心之外。OpenStack 的设计假定了仅在数据中心中才能找到的硬件稳定性和健壮性,例如,没有任何类型的电源线干扰。

有一些项目(包括 OpenStack 社区流程内外)为 OpenStack 和其他云平台提供云基础层。内部人士之一是 TrippleO。外部人士之一是 PetiteCloud(我是其首席开发人员)。PetiteCloud 在开发和云稳定性的各个方面的实际测试用例方面更进一步,例如其核心团队成员之一制作的“U 盘上的云”(单个 U 盘上的完整 IaaS 解决方案)原型
(不是我)在最近一两天。

版权所有 © 2013 Red Hat, Inc.

© . All rights reserved.