OpenStack 七年盘点,热潮褪去后的明天在哪?

百家 作者:InfoQ 2017-07-10 03:24:19
策划|Gary
作者|唐亚光
OpenStack 于 2010 年发布,到现在已有 7 年之久。几年前云计算的星星之火,现在业已成燎原之势。这几年,有 CloudStack 卖身、Nebula 倒闭、Docker 出世等等大事,OpenStack 的七年之痒,未来将何去何从?
写在前面

2006 年,亚马逊正式推出其第一个云计算服务,没过几年,云计算的烈火燎原之势便开始在全球铺展开来。4 年之后,开源软件 OpenStack 诞生,并呈现了野蛮式的增长,社区以及企业希望通过 OpenStack 的方式来帮助他们打造属于自己的 AWS。到现在,OpenStack 也已经走过了七年时间,在这期间,它逐步从青涩走向成熟,并且可谓是经历了大风大浪,比如 CloudStack 的淡出、Nebula 的陨落、容器的崛起等等,甚至中途不乏有唱衰 OpenStack 的言论。那在这七年里,OpenStack 都经历了哪些发展?它整体的项目发展情况如何?未来将去往何方?带着这些问题,InfoQ 邀请了国内早期 OpenStack 开发者唐亚光来为大家解读它的发展之路。

OpenStack 发展回顾

OpenStack 作为开源云计算 IaaS 的事实标准和拥有全球最多开发者的开源社区项目,于 2010 年 7 月成立之初,由 NASA(美国航天局)和 Rackspace 捐献的两个项目组成。现在已经发展到包含虚拟化管理、网络 SDN、SDS 服务编排和容器管理等功能覆盖全面的开源项目集合,并且被主流操作系统、硬件服务器、存储、网络、安全厂商等全面支持或集成。

这七年时间,它不仅实现了自身的发展目标,成为一个优秀的开源私有云架构平台,而且还带动了开源 SDN 和 SDS 的快速发展,促成了 OpenFlow 成为标准 SDN 协议之一以及 Ceph 成为主流分布式存储。仅从这几点而言 OpenStack 社区及其自身软件开发无疑是非常成功。

2010 年的 7 月 NASA 和 Rackspace 分别贡献出各自已有虚拟化管理 Nova 和对象存储 Swift 两个项目作为 OpenStack 初始项目。100 多名架构师和开发者聚集在美国德州奥斯丁参与了 OpenStack 的 Roadmap 讨论制定并且承诺未来 OpenStack 开发和社区运营遵循的 4 个开放模式。

  1. 开放源码采用 Apache 2.0 软件许可协议

  2. 开放架构设计流程通过定期开发者峰会规划 Roadmap

  3. 开放式开发开放代码和工作流程

  4. 开放的社区构建健康、充满活力的开发者和用户社区

以上四个开放准则为以后 OpenStack 快速发展壮大奠定了基础。OpenStack 之后遵循六个月的发布周期举办全球的用户和开发设计峰会来规划下一个版本的特性。每个版本的命名按字母排序第一个版本代号以会议地点德州首府命名 Austin。

拥有远大的目标和开放自由的参与模式很快 OpenStack 受到各种开发者和开源社区注目。2011 年初 OpenStack 的第二个版本 Bexar 作为技术预览版随 Ubuntu 11.04 发布。Ubuntu 成为第一个支持 OpenStack 的 Linux 发行版。OpenStack 的开发测试也以 Ubuntu 为推荐平台。Ubuntu 的母公司 Canonical 不久宣布从 OpenStack 的第三个版本 Cactus 开始官方支持 OpenStack。

2011 年 10 月份 SUSE 发布了基于 OpenStack 第四个版本 Diable 的技术预览版,2012 年 8 月发布第一个基于 Essex 的商业支持版 OpenStack。

2012 年 Red Hat 发布了基于 Essex 的技术预览版 OpenStack。经过两个技术预览版本以后 2013 年 7 月发布第一个基于 Grizzly 的商业支持版本。Grizzly 是 OpenStack 的第七个公开发布版。

2013 年 12 月商业软件巨头 Oracle 宣布加入 OpenStack 基金会成为赞助商之一。并且将 OpenStack 引入它的产品当中。2014 年 9 月 Oracle Linux 引入 Icehouse 版本。

2014 年 5 月 HP 发布 HP Helion 社区预览版作为进入 OpenStack 私有云市场的起点。在这之前 HP 从 2012 年便开始使用 OpenStack 技术构建 HP 公有云。

2015 年 6 月 Linux 基金会联合全球各大运营商以及电信厂商成立的“开放网络功能虚拟化平台”(OPNFV)社区发布第一个版本 Arno。OPNFV 是一个开放的、标准的参考架构平台,提供 NFV 的基础设施(NFVI)、虚拟化基础设施管理(VIM)、API 和其他 NFV 要素。它们共同构成虚拟网络功能所需的基础设施(VNFs)管理和网络业务流程(MANO)组件。其中 OpenStack 作为 NFVI 成为 OPNFV 不可缺少的一部分。

2016 年底,专注 OpenStack 的创业公司 Mirantis 裁员 100 人左右。同样 HPE 被传出裁掉大量 OpenStack 开发人员并且将 OpenStack 和 CloudFoundry 资产卖给 SUSE。HPE 将采用 OEM 的方式与 SUSE 合作继续销售 Helion OpenStack 和基于 CloudFoundry 的 PaaS 服务。

OpenStack 社区发展

在短短的两三年时间内,一个开源项目受到如此众多厂商的投入和支持在开源领域算是绝无仅有的。OpenStack 的社区一开始主要由 Rackspace 工程师参与,其核心开发工程师 Vish Ishay 曾经连任四届 Nova 项目开发负责人。之所以一直连任主要原因在于社区开发者还比较少。虽然社区承诺开源开放,但是项目的开发还是有 Rackspace 把控的感觉。

2012 年 Rackspace 为了社区的健康发展,捐出所有 OpenStack 相关的版权成立 OpenStack 基金会。基金会的设立使得 OpenStack 社区参与者更加多样化操作系统、服务器、网络、运营商等厂商纷纷加入。由此开始 OpenStack 社区进入了快速发展的繁荣局面。

OpenStack 较之其他开源项目不同的地方在于更加注重社区运营。每六个月举办一次的 OpenStack 峰会不仅聚集了全球开发者讨论下一阶段新功能,更是用户案例展示的最佳时机。每一次峰会 Keynote 都有来自全球的用户案例展示。宝马、美国国家安全局、中国天河超算、欧洲粒子研究所等这些用户的使用案例展示给参会的企业用户以巨大信心。

最近一次斯诺登都来站台倡导开源和安全的私有云,可见社区运营煞费苦心。

另外一个鼓励开发者参与社区的方法为按 Commit 贡献进行公司和个人排名。社区原本可能是为了激励社区贡献者,然而慢慢这个开始被商业利用。 开源贡献与商业利益纠缠在一起的时候使得开源贡献 的目的变得不纯。

商业巨头公司和创业型公司的积极参与带来了 OpenStack 社区开发的繁荣发展。然而当前的商业气息似乎比以往任何时候都浓,众多厂商将自身商业产品与开源项目糅合。OpenStack 依靠商业公司研发投入来推动自身发展没有错,但是过度依赖并且自身缺乏主导项目方向的负责人使得最终软件功能纷乱复杂。

在经历了繁荣的黄金期后 OpenStack 在个厂商巨大的投入下越来越成熟稳定。然而商业巨头如 HP、IBM 的长期投入最终还是要看商业产品回报。近一年来多个公司的开源投入方向发生了微妙的变化。OpenStack 基金会的黄金和白金会员也开始流动,有的退出有的降级。

只有 Red Hat 作为开源起家的公司一直对 OpenStack 爱的深沉。在社区开发投入上丝毫没有半点退缩迟疑,稳居贡献排行榜第一。这也许真的和公司基因有关,最懂开源商业模式并且能够证明可行的公司对于 OpenStack 也最有信心。Red Hat 对 OpenStack 的投入类似 Intel ——OpenStack 创业公司提款机。两者的投入都会间接给公司带来回报。

OpenStack 项目发展

OpenStack 作为 IaaS 开放技术架构软件涉及计算虚拟化、分布式存储、网络 SDN 等多种技术领域。因此需要各个领域的技术开发者与公司同心协力。早期 Rackspace 为了从虚拟主机服务商像云服务商转型一心押在 OpenStack 上,投入大量工程师参与 OpenStack 项目开发,主要集中在虚拟化管理 Nova。

但是网络与存储同样需要专业领域工程师。我们可以看到早期 OpenStack 简单的就是一个虚拟化平台,网络管理和存储通过 VLAN 和 LVM 实现。2012 年基于 Openvswitch 的 SDN 技术兴起,Openvswitch 社区为了自身壮大积极投入到支持 OpenStack 怀抱当中。

这本是一件极好的事,奈何 Openvswitch 本身背后有商业公司 Nicira 而 Nicira 又被 VMware 收购。结果就是 OpenStack 中的 SDN 项目从一开始就是巨头商业公司在开发。

Ceph 同样是借助 OpenStack 全球规模的社区用户被广泛关注。因为其补足了 OpenStack 分布式存储的短板。成为 OpenStack 开源架构方案中重要的一部分。如此有潜力的技术很快被巨头看上 2012 年被 Red Hat 收购。

从 2010 年的两个项目到现在,OpenStack 社区总共维护几百个软件项目。OpenStack 发展过程中逐渐建立了一套完善的开源软件开发测试规范,方便全球的开发者协同工作。为了保证软件开发功能稳定,测试系统每天运行上万个测试用例。每个代码改动都进行关联的项目功能测试。由于 Python 为 OpenStack 的社区开发指定编程语言,OpenStack 的众多项目开发甚至让 Python 成为更加流行的编程语言。

如今 OpenStack 已经发布了 15 个版本,即使从第 5 个版本 Essex 开始算用户部署的版本也有 11 个了。这样的碎片化简直比 Android 还要恐怖。因此升级一直是其困扰用户的一个问题,直到最近,借助容器化部署,组件升级变得非常容易。不像其他大部分软件或者系统拥有 LTS(长期支持稳定版)。OpenStack 的每个版本的社区维护周期只有一年。长期软件维护支持需要寻找商业支持。

OpenStack 江湖之争

技术变革是谁也无法阻挡的。新的技术总是不断涌出,OpenStack 通过强大的社区集结了几乎所有云计算相关厂商相互支撑,构建了全面的生态系统。CloudStack 出世早于 OpenStack 几年,且功能成熟稳定,并且拥有不少大规模部署用户。然而后起之秀胜在善于广泛团结一切可以团结的力量,目标宏大,人气旺,如新上市的股票,给人无尽的想象空间。其中一个点就是率先支持 AWS API,通过部署 OpenStack,让用户拥有私有的 AWS 云平台。在吸引了众多的开发者参与后,在邮件活跃度、开发者数量、公司参与数量等指标与 CloudStack 进行对比,加上众多云计算厂商宣布加入 OpenStack 基金会,市场上便不再将 OpenStack 与 CloudStack 相提并论,OpenStack 才是未来。再之后,就连 CloudStack 的商业公司 Citrix 都加入了 OpenStack 基金会,这就是趋势的力量。

然而在这么多厂商的支持下 OpenStack 是否就无敌了呢?看似紧密的社区与厂商之间的关系,在容器这个新的技术热点面前被轻松击破。厂商不再是 Pure Play OpenStack,社区贡献排名也不再提及。原来之前的暧昧都是各有所图。好在社区早早的感知到容器可能带来的挑战,2015 年 OpenStack 就在宣传与 Docker 是共荣共存,更有新的项目专门支持 kubernetes 在 OpenStack 之上运行管理。这样,OpenStack 不仅仅是一个 IaaS 平台了 。容器集群的支持和服务编排组件等让 OpenStack 更加贴近 PaaS。

笔者认为容器与 IaaS OpenStack 并不是互相替代的关系。尽管在某些少数场景下功能重叠,容器集群更加轻量级。单就技术本身而言各自有其应用场景,融合使用也属于 IaaS+PaaS 的主流架构。OpenStack 只是不再是追捧的技术焦点,这感觉大概像热恋到婚姻的状态转变。OpenStack 技术并没有被抛弃,只是在被广泛应用之后归于平淡。并且融入了众多方案当中,如 OPNFV 中的作为 NFVI 参考架构。社区和厂商焦虑的是这种平淡是否导致渐渐被遗忘,进而被取代?

我们且待 OpenStack 七年生(之)日(痒)之际,在社区举办的覆盖南美、欧洲、亚太等地的 OpenStack Day 活动上看实况,事实说明一切。

OpenStack 商业市场

OpenStack 社区的全球化推广和造势让开发者社区迅速扩大。

OpenStack 由两个开源项目成长为支持多种虚拟化计算、分布式存储、SDN 网络的过程中也同时出现了众多的 OpenStack 创业公司。这些公司也与开发者一样具有全球化分布的特点,从欧美到亚太。他们成为了整个 OpenStack 生态繁荣发展的助推剂。这种狂热使得商业巨头也不得不加快步伐抢占由新技术催生的即将到来的巨大市场。于是 Cisco、IBM 等在投入社区的同时分别收购了 OpenStack 创业公司。这种巨头的收购消息进一步让 OpenStack 成为最受瞩目的社区项目。

围绕开源软件进行商业模式探索成为近年来越来越多公司的发展方向。在这一领域 Red Hat 无疑是最成功的,也是众多创业公司争相效仿的。基于 OpenStack 这一规模仅次于 Linux Kernel 的全球性开源项目的创业公司这次在商业市场探索上走得更远。探索的路上前者的失败并不能否定后来者的未来。

入场早不一定结局好,提前拿到了 OpenStack 市场的门票的 Nebula 由 NASA 军事研究中心 CTO 于 2011 年成立,并且网罗了 OpenStack 社区早期核心开发者。然而其在美国市场主推的基于 OpenStack 和硬件服务器的一体机方案却没有获得市场认可,于 2015 年停止运营。这其中一方面和 OpenStack 的发展步伐有关。2013 年到 2015 年这段时间虽然是 OpenStack 最热的时候,但是其稳定易用性并未达到最佳。企业客户对于新技术的认知和接受也需要一段时间。另外和公司的商业和运营模式也有一定关系。类似这样早期入场却因自身运营导致后期失去优势的公司国内也有。对于 OpenStack 创业公司而言准确把握市场最重要市场需求是检验商业模式是否可行的关键。

同样入场早的 HP 对于 OpenStack 社区的投入可谓巨大,贡献排行位列前三保持了多个发布版本。激进的 HP 在 2012 年便开始使用 OpenStack 尝试运营公有云。HP 的公有云和 Rackspace 的公有云都是 Powered by OpenStack。结局是一个与 2015 年宣布停止运营一个因营收没有增长市值萎缩被私有化。公有云的失败这个真的不能怪 OpenStack,我相信即使换其他技术这两家也不会在短时间在公有云市场竞争过 AWS、Google 与 Microsoft。

至于 OpenStack 在国内的发展,得益于国家战略和创业浪潮。自主可控的政策导向极大的推动了国内企业级市场向开源的靠拢。众多的国内厂商已经占据 OpenStack 基金会半壁江山。 目前落地项目也是遍地开花。在中国,基于开源的企业创业公司未来如何?即不能因之前红旗 Linux 的结局而停止脚步,也不妄想短时间成为中国的 Red Hat,我们还是满怀期待吧。

OpenStack 迷之未来

去年今日此门中,人面桃花相映红。人面不知何处去,桃花依旧笑春风。热潮褪去,OpenStack 终于不被各有所图之人簇拥。在此,我仅代表 OpenStack 的用户感谢曾经所有参与 OpenStack 社区开发投入的公司,无论商业成功与否,你们助力 OpenStack 在经历 7 年开发后趋于成熟。

接下来 OpenStack 将迎来新的发展节奏同时面临新的问题与挑战。社区核心开发者流失有可能导致项目开发进度慢甚至停止维护,比如 Fuel,曾经最流行的部署工具,因为 Mirantis 战略转变,由活跃开发变为维护模式,并且从 OpenStack 官方项目中移除。之前盲目扩张创建的“大帐篷”(Big Tent)模式如今遇到了问题,社区已经在讨论做出改变。OpenStack 下某些非核心项目可能面临整合和优胜劣汰的局面。

最后引用圣经里面的一句话:“尘归尘,土归土”,不留恋过去,让 OpenStack 迎接新的未来吧。

作者介绍

唐亚光,2011 年开始参与 OpenStack 社区,国内早期 OpenStack 开发者,爱开源,爱 Python,更爱 OpenStack。先后就职于新浪云计算、Canonical 和 Mirantis。从事过 OpenStack 社区开发,云平台运维和解决方案架构设计等工作。

今日荐文

点击下方图片即可阅读

微软顶级代码女神给年轻程序员的一些宝贵建议


  

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接