OpenStack沒落了嗎?
OpenStack回顧
OpenStack在2010年7月由NASA和Rackspace宣布啟動,2010年10月Austin Release后,除了Bexar、Cactus、Diablo版本外,后續(xù)版本都遵循6個月發(fā)布周期,如今正在開發(fā)的是Ussuri版本,最新的穩(wěn)定版本是去年10月份發(fā)布的Train版本。

OpenStack沒落了嗎?
我是從2012年初開始參與到OpenStack社區(qū),這幾年見證了OpenStack從一個開源項目逐漸成為開源產(chǎn)品的全過程。大概在兩三年前每次發(fā)布前都會寫一些關(guān)于OpenStack新版本功能和社區(qū)分析的文章,但是隨著我的工作重心轉(zhuǎn)移,對OpenStack社區(qū)關(guān)注逐漸減少。
隨著容器、K8S等新興技術(shù)的崛起,OpenStack無疑受到了很大的沖擊,在之前兩年經(jīng)常看到一些唱衰OpenStack的文章。但是不可否認,目前OpenStack已經(jīng)進入到了一個穩(wěn)定階段,很多私有云、專有云項目都是基于OpenStack提供解決方案。所以我認為并不存在OpenStack沒落一說,只是技術(shù)發(fā)展的必經(jīng)階段:當(dāng)?shù)讓又饾u穩(wěn)定后,關(guān)注度往上發(fā)展。
同時,我們也看到,OpenStack基金會也在通過吸納更多的項目來維持自身的影響力,比如:安全容器項目Kata Container,邊緣計算項目StarlingX。
這是我對目前國內(nèi)云計算市場的一張不完全總結(jié),從這張圖中我們應(yīng)該可以很清晰的看到OpenStack對國內(nèi)云計算市場深遠的影響。同時,大家也能看出來誰才是真正的OpenStack這個開源項目的既得利益者。

OpenStack社區(qū)大數(shù)據(jù)
從A版本開始到今天(2020年4月29日),總共有442家公司為OpenStack社區(qū)貢獻過代碼。排名前三位的分別是:Red Hat, Rackspace和Mirantis。中國唯一入選前十的是華為。

OpenStack總共出現(xiàn)了706個Official項目,提交代碼次數(shù)最多的是nova, neutron和cinder項目。

總共有8523名開發(fā)者成功提交過1個以上的commits。從名字分析,前十名中有兩位中國人:Zhong Shengping(麒麟云,主要貢獻在自動化安裝OpenStack相關(guān)項目puppet和ansible)和Qiming Teng(IBM 滕啟明博士,主要貢獻在senlin項目)。當(dāng)然,我知道國內(nèi)為OpenStack項目貢獻的人很多,在這就不一一列舉了。

OpenStack社區(qū)貢獻變化趨勢
參與貢獻的公司已經(jīng)呈現(xiàn)明顯下降趨勢,從國內(nèi)情況來看,很多OpenStack初創(chuàng)公司也在積極投身K8S相關(guān)項目的研究,產(chǎn)品上提供基于容器的PaaS平臺,豐富自己的解決方案。從圖中可以看到,OpenStack參與公司最多的是在Ocata Release中,參與公司達到了210家,從時間看是在2016年到2017年之間的時間點。這也是國內(nèi)客戶對OpenStack普遍接受的時間點。另外從C版本開始一直到O版本(2011年到2017年)基本每個版本迭代維持20%以上的增長,可見在這個階段絕大多數(shù)公司都看好OpenStack的未來。國內(nèi)開源領(lǐng)域在這個階段感覺也是最活躍的,畢竟只有當(dāng)商業(yè)利益和開源目標(biāo)相吻合時,這個開源項目才能得到最大的支持力度。從O版本之后,參與的公司呈現(xiàn)小幅度下降趨勢,不是很明顯,大概在10%以內(nèi),下跌最明顯的階段是在S版本到T版本,也就是2019年。S版本有161家公司提交代碼,而T版本只有126家,而目前U版本已經(jīng)下降到了119家公司。

從開發(fā)者數(shù)量看也呈現(xiàn)出相同的趨勢,參與人數(shù)最多的是N版本,有2422人提交了commit。而到了S版本開發(fā)者僅為1189人,下降了一半還多。

最后一張圖,我們來看一下OpenStack模塊數(shù)量。在早期OpenStack中一個新的項目獲得批準是需要技術(shù)委員會批準的,也就是TC Approved,這樣的項目到今天為止一共只有20個,主要是OpenStack基礎(chǔ)的計算、存儲和網(wǎng)絡(luò)服務(wù),包括:Nova, Neutron, Cinder, Heat, Horizon, Keystone, Ironic, Swift, Ceilometer, Glance, Sahara, Trove, Designate, neutron-lib, sahara的各種插件。但是在2015年,社區(qū)決定采用Big Tent模式。Big Tent模式本意是基于OpenStack底層的計算、存儲和網(wǎng)絡(luò)等基礎(chǔ)組件,構(gòu)建更龐大的云原生應(yīng)用場景,類似AWS。但是由于OpenStack自身部署、升級的復(fù)雜性,是社區(qū)力量更加分散,這樣的設(shè)計并沒有帶來意料之中的效果。我個人理解,這樣的生態(tài)建設(shè)更適合K8S。在A版本中僅有8個模塊,到了最新的T版本中,模塊數(shù)量變?yōu)?09個,還沒有Release的U版本中,模塊數(shù)量增長為627個。

總結(jié)
由于OpenStack提供的服務(wù)屬于基礎(chǔ)架構(gòu)層,從生態(tài)角度看,團結(jié)了各個層面的公司。從硬件的服務(wù)器、處理器、網(wǎng)絡(luò)、存儲廠商,到操作系統(tǒng)廠商,再到OpenStack創(chuàng)業(yè)公司,應(yīng)用廠商,直到最終用戶。之前我們總說OpenStack是僅次于Linux的世界上第二大開源社區(qū),不知道現(xiàn)在這種說法是否還準確。但是不可否認,OpenStack出現(xiàn)給了原來默默耕耘的開發(fā)者們走到前臺充分展現(xiàn)的機會,也將國內(nèi)開源的熱潮推向了一個新的高度。