深度解讀 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巨頭能夠意識到這個問題,投 身于開源的事業中,否則我們又在起跑線上輸給了別人。
以上僅代表作者個人觀點,如有任何異議,歡迎批評指正。