深度解读 OpenStack Liberty 国内代码贡献
作者:孙琦
转载自微信:云计算技术实践
又 到了 OpenStack 新版本发布的季节,虽然秋意寒寒,但是仍然挡不住 OpenStack 再次掀起全球关注的热点。这是 OpenStack 第12个版本,与之前的沉稳低调相比,这次的 Release 中一口气多了 5 个新模块,也创下了 OpenStack 项目创建以来的最高纪录。由于天然的架构优势,让 OpenStack 在云计算横行天下的年代游刃有余,已经逐步成为了云平台的即成标准,从 OpenStack 对待 AWS 的 API 兼容的态度就能看出,OpenStack 变得越来越自信。
OpenStack Liberty 完整版本的翻译可见:https://wiki.openstack.org/wiki/ReleaseNotes/Liberty/zh-hans
本次 OpenStack Liberty 更新日志中文版本的翻译工作是由孙琦完成的。
社区贡献分析
本次统计,并没有采用 Review 的数量为依据,而直接采用 commits 的方式,也就是代码实际 merge 入库的数量。
我们仍然要先看一下模块的贡献情况:
与 之前Release的特点相似,OpenStack早期的核心模块Nova, Keystone代码commits数量出现明显下滑状态,而Neutron, Heat, Trove, Ceilometer, Cinder等模块都保持着稳中有升的态势。值得关注的是,在排名前20名的项目中,出现了两个直接与Docker有关的项目Kolla和Magnum, 一个与docker间接有关的项目Murano。可以预见,OpenStack下一步发展的热点就是在与Docker之间的勾勾搭搭。
特别需要注意的是,在stackalytics.com统计的模块中,在Kilo中是259个,而到了Liberty到了389个,当然有一些项目并非完全是OpenStack的项目,但是也从一个侧面反映出OpenStack以及周边项目的蓬勃发展。
从更新日志中我们也能看到,本次Release的正式项目中,变动较大的是Neutron和Heat两个模块。在经历不断锤炼后,Neutron逐渐走向成熟,但是从生产级别角度看,Neutron的确还有很长的路要走。
国内社区贡献分析
从 全球企业的贡献排名来看,排名状况基本变化不大,仍然是HP, Redhat, Mirantis, IBM, Rackspace, Intel, Cisco,但是非常欣喜的,国内的IT的航空母舰华为已经成功杀入前十名,这无疑是振奋人心的事情,希望华为未来能多一些对OpenStack社区的主 导力,提高中国在OpenStack社区的地位,当然最好也能扶植一下国内的OpenStack创业公司,实现共同发展、共同进步。华为的主要代码贡献集 中在dragonflow,magnum,heat等模块,特别是在dragonflow上,几乎全部是华为贡献的,magnum上也将近有五分之一的代 码。
华为社区贡献统计
记得在OpenStack五周年的庆祝活动上,Intel的陈绪博士说过,国内OpenStack贡献企业,就是一朵大云,四朵小云,下面让我们来看看这几朵小云在这个版本的表现。
99cloud社区贡献统计
排 名第16位的是99cloud,99cloud自上一个版本排名四朵小云之首后,本次继续强劲来袭,排名创造历史新高,第16名。通过对贡献模块的分析, 我们能看出99cloud最大的贡献来自于社区文档,而在项目方面的贡献则主要来自murano-dashboard,horizon,neutron等 项目上,从中可以看出99cloud对murano这个applicaton catalog的项目关注程度比较高,可能会在将来的产品中有所体现。从贡献中,我们隐约看到了九州云的副总裁李开总的提交,由此可见九州云为社区贡献的 积极程度。
UnitedStack社区贡献统计
排 在第30位的是UnitedStack,经过了上一个版本的短暂沉寂后,这个版本卷土重来,杀回前30。从代码贡献来看,UnitedStack的主要贡 献来自python-openstackclient以及部署用到的puppet相关代码,当然对neutron、trove、kolla、heat等也 有一定数量的贡献。
Kylin Cloud社区贡献统计
排名第38位的是麒麟云,其实麒麟云每次Release中总是有她的身影,但好像总是被忽略的。麒麟云最大的贡献来自Horizon项目,其他模块也有一定数量的贡献。总之,我们想到OpenStack企业的时候,的确应该时常提起麒麟云。
Easystack社区贡献统计
排 名第70位的是Easystack,Easystack也属于OpenStack早期创业的公司,对于OpenStack的贡献也是持续的。 Easystack最大的贡献来自nova,虽然数量不是很多,但是在国内企业里应该算名列前茅的啦。Easystack对Nova的贡献主要来自对 libvirt层的bug修复。
Awcloud社区贡献统计
排 名第75位的是海云捷迅,海云应该算是在国内发展比较迅猛的一家OpenStack早期创业公司。他们的贡献主要来自Neutron相关的项目,看起来应 该是为了解决项目中出现的实际问题所做的努力。海云的马力应该是公司内部贡献排名第一的,尤其是前一段时间发布的两篇关于”Neutron & OpenStack漫谈”,非常值得一读。
LeTV社区贡献统计
Netease社区贡献统计
排名第94和95位的分别是两家互联网企业,乐视和网易,乐视是最近互联网中使用OpenStack动静最大的一家了,应该能在大规模应用中发现OpenStack很多问题吧。
Huron社区贡献统计
排 名第122位的是北京休伦科技有限公司,北京休伦科技有限公司也算是国内最早一批从事OpenStack创业的公司,早在2013年的时候就已经开始投入 OpenStack私有云产品相关的研发。北京休伦科技有限公司贡献的代码主要来自Nova和Murano两个模块中,都是北京休伦科技有限公司在开发和 项目使用中发现的问题,修复后回馈给社区的,希望北京休伦科技有限公司能在下一个版本Release中贡献更多的力量。
China Mobile社区贡献统计
排 名第133位的是中国移动,之前并没有在哪一个排名上看到过中国移动在OpenStack贡献。中国移动应该算是国内运营商领域技术实力较强的一家,也是 运营商里开始从事OpenStack预研较早的一家。中国移动有大量的IT资源和设备,理应像AT&T一样在OpenStack领域大有所为。纵 观中国移动的社区贡献,主要来自Neutron和Ceilometer两个项目,几个Bug修复都是与Volume相关。
Lenovo社区贡献统计
排名第135位的是联想。不评论了。
排名第139位的是清华大学医学院附属医院,这个有点意思。但是stackalytics.com有Bug,他们的具体统计显示不出来。
H3C社区贡献统计
排名第143位的是H3C。贡献是Nova中的关于VMware的Bug Fix。
由于stackalytics并没有按照区域统计的功能,所以本次统计完全是全自动统计(全靠作者自己手动),所以难免遗漏了为OpenStack贡献的国内企业,如果发生该情况请及时告知。
社区贡献内容分析
从 贡献的commits的类型来区分,国内贡献出的代码主要还是以bug为主,这可能也与我们使用的都是OpenStack较成熟的模块有关,本身这些模块 成熟程度较高,所以想做blueprint很难。另外一个很重要的原因是和OpenStack管理流程有关的,现在像Nova, Cinder等项目都是需要先Review Specs的,其实就是所谓的设计文档,语言成为国内很多工程师贡献的最大障碍,所以这也导致了Blueprint的贡献度在国内并不高。
Huawei社区贡献——完成Blueprint
纵观整个Blueprint的完成统计情况,华为作为国内最有实力的企业,高居全球第五名,完成最多的模块为cinder和mistral。
之后能完成Blueprint的企业还包括UnitedStack、中国移动、麒麟云、海云捷迅和九州云,但是相比来说数量较少,都是个位数字。
OpenStack 在国内发展已经超过了四年的时间,但是遗憾的一点,尽管我们拥有世界上最多的开发人员,但是我们对社区仍然没有话语权,国内的用户的需求无法对社区上游形 成影响,导致很多本地化定制的需求无法真正的在社区版本代码得到体现。所以如何让中国的声音出现在社区,是我们所有OpenStack人需要思考的问题。 欣喜的一点,本土的巨头华为已经身先士卒,投入很大的力量搞OpenStack的社区贡献,我们更希望越来越多的国内传统IT巨头能够意识到这个问题,投 身于开源的事业中,否则我们又在起跑线上输给了别人。
以上仅代表作者个人观点,如有任何异议,欢迎批评指正。