Linux中國

一群雲端的開源踐行者

導讀:本文介紹了開源項目 KubeSphere 背後的故事,以及由它引發的對開源軟體發展的思考。

從一個開源項目的數據說起

作為一家主要關注於開源的技術社區,我們每年都會對以中國貢獻者為主的開源項目進行一次分析。而隨著雲計算的發展,我們對由雲計算公司發起和推動的開源項目愈加重視,在研究分析過程中,我們發現了一個開源項目的數據表現亮眼,這引起了我們對這個項目背後團隊的興趣。

圖 1 KubeSphere Grank 指標圖

這個項目就是 KubeSphere。和其他同類項目相比,KubeSphere 項目的啟動時間不算早,2018 年初才啟動。但從啟動開始,社區的活躍度就屢創新高。從上面的 Grank 指標圖可以看出,其在 2019 年度的整體活躍度(紅色線)相當高,並在今年有繼續提升的趨勢。而其平均活躍度指數 6.89 可以排入 Grank 服務端分類榜的前三十。

剛好,這個項目背後的負責人我們也很熟悉,之前曾經在《穿山甲專訪》欄目中接受過採訪——周小四(人稱「四爺」),如果你感興趣,也可以看看之前的採訪文章

如今一年過去了,為了了解現在 KubeSphere 項目有什麼新的變化,我又和他約時間,再次聊聊 KubeSphere 的發展和下一步的計劃,得到一些新的發現和體悟。

KubeSphere:「青雲」之路

談起 KubeSphere ,容我先簡單介紹一下背景。

隨著雲計算技術的發展,容器編排技術 Kubernetes 已經成為雲服務商們的角逐重點。按照 Kubernetes 的理念,它定義的是一套標準、一個生態規範,因此,各個生存於其間的雲服務商紛紛基於 Kubernetes 推出了各自的發行版和相關的生態軟體。

這其中既有 Rancher、OpenShift 這樣複雜完備的的企業級平台,也有 minikube、k3s 這樣簡單易用的實驗型工具。而今天我們提到的主角 KubeSphere就是一款開源的企業級 Kubernetes 發行版,與其外延的其它組件組成了一個完備的容器生態體系。

事實上,我們可以看到,幾乎所有的主流雲服務商都開發了 Kubernetes 引擎(KE),比如說 TKE、RKE、AKE 等等,並以此作為其基於容器的雲服務基礎。當然,這些軟體作為開源軟體生態的一分子,都或早或晚進行了開源。

而作為青雲QingCloud QKE 服務的引擎,KubeSphere 也是其中的佼佼者,並且,值得注意的是,KubeSphere 從一開始就選擇了開源,並以開源作為其產品迭代發展的模式。

相比 Kubernetes 領域的其它廠商,KubeSphere 的進入時機不算早,因此,在這種情況下仍能推動決策立項,應該壓力不小。周小四和我說,他們當時深入調研和分析了企業的市場需求,發現在該領域尚存在較大的產品空隙。固然,Kubernetes 為企業級容器應用揭曉了新的篇章,但廣泛的企業用戶在如何用好 Kubernetes 層面,需要突破較多的技術門檻和業務適配的阻礙。因此,他認為,在該領域仍大有可為,這一建議也得到青雲QingCloud 的大力支持。

而另外一方面,作為一家國內主流的企業級雲服務商,青雲QingCloud 也一直在密切跟進 Kubernetes 領域的技術發展和產品形態。所謂磨刀不誤砍柴功,正是這一年多提前付出的預研投入,讓周小四及其團隊在2018 年初開始 KubeSphere 的研發時,就能迅速發布經過了精心設計的 KubeSphere,並於半年後在青雲QingCloud IaaS 基礎設施之上推出了 QKE——KubeSphere on QingCloud 容器服務。

圖 2 KubeSphere 路線圖

倏忽間過去了兩年,KubeSphere 也即將迭代到 3.0,對於它發展至今,並取得今天的成績,周小四認為主要得益於以下原因:

  • 天時:站在 Kubernetes 的肩膀上,處於容器技術的大時代;
  • 地利:開源為它賦予了成長為參天大樹的土壤;
  • 人和:來自團隊和社區貢獻者對容器技術的深刻理解、對用戶需求的精準把握和在產品設計上的匠心獨運。

KubeSphere 的天時

撲面而來的雲原生時代,是機遇也是挑戰。這裡,我們看到了 Docker 公司如熒惑一樣迅速升起又快速淡去,我們也看到了谷歌力推的 Kubernetes 從天下三分到一統容器編排領域,真正揭開了雲原生時代的大幕。

並不是每個身處大潮之中的都是弄潮兒。說實話,這些年我看過很多雲計算領域的企業或因押錯注而不得不更弦易轍,或因產品沒有足夠的獨特優勢而泯然眾人。對於一家國內主流的企業級雲服務商,青雲QingCloud 不僅一早看好 Kubernetes,又沒有匆匆下場,更在局勢漸明時能決然重兵壓上,其實我是有些佩服和羨慕的。

在和周小四的對話中,他說,在潛心研究了 Kubernetes 生態一年後,青雲QingCloud 才正式立項,並由他帶隊開發運營 KubeSphere 容器平台。談話間,生性樂觀的周小四並沒有表現出曾經面對的困難和壓力,但是如果易位而處,我能感受到他的那種魄力和信心。

KubeSphere 的地利

那麼,KubeSphere 的地利是什麼?是開源。

有一個強大而完善的團隊,確實可以打造一款好產品,有可能取得一時之勝。但是,時代如湯湯大河,如今開源已經成為數字世界的血脈,觸達和營養了各種互聯網技術的急速發展。

在21世紀的第二個十年間,連微軟都已經搖身一變,成為了世界上最大的開源企業之一,可以說,開源已經成為了一種時髦的技術文化,它從一種軟體分發和開發模式,變成一種可以以之為脈絡的商業模式。但是,開源到底只是一種時髦文化、用來迎合大眾和媒體的流行詞,還是可以賴之生存和發展的一種機制呢?

在這方面,我們看到了企業在開源領域的眾生相,略舉幾例:

  • 買櫝還珠式開源:有的公司是只是希望貼上開源的標籤,並不真正了解開源對公司的實質價值,也無從將開源的好處和公司的發展機制相結合,空耗人力與財力,甚至沒能給開源世界帶來什麼貢獻。
  • 葉公好龍式開源,有的公司的開源成為了技術部門的 KPI 工具,他們並不真正依賴開源來提升軟體質量和改善軟體的業務生態,甚至害怕開源傷害到公司以專有代碼建立起來的業務護城河;
  • 竭澤而漁式開源,還有的公司對待開源則是奉行「拿來主義」,只有索取和利用,而不對開源軟體和開源社區做出適當的回哺,甚至倒逼一些開源軟體紛紛修改其許可證,避免被吸血。

而作為 KubeSphere 項目的負責人,周小四認為青雲QingCloud 是真正把開源做為一條切實可行的發展路線的

周小四認為,雖然目前開源領域看起來熱鬧非凡,但是真正可以稱之為成功的、健康的、可複製的開源模式尚寥寥無幾,失敗者並不鮮見。而青雲QingCloud 作為一家主流的企業級雲服務商,根植於雲技術之上,已經找到了一個切實可行的開源模式。周小四說,「公司(青雲QingCloud)給予了強有力的支持,希望 KubeSphere 可以走出一條新的開源模式路線來,真正踐行開源的思想和路徑。」

KubeSphere 的人和

說完了天時、地利,讓我們再來看看 KubeSphere 成功背後的人和。

對於一位資深的技術專家來說,精通雲計算技術並能跟上全球雲時代的技術浪潮,並不算最難的挑戰,難的在於可以站在技術之外看到用戶需求、用戶體驗和產品運營之道。

在對話中,周小四和我說,他很幸運,「總是能在對的時候找到對的人」,因此 KubeSphere 的各個細節才處理得很好。這裡他專門提到了 KubeSphere 「特別易用的前端界面」和「豐富完備的中英文文檔」,並特別慶幸每次總能找到最好的夥伴們來做這一切。當然,這些都是建立在精心設計的架構和底層 API 之上的,只是想必這部分是周小四親自操刀的,但他並沒有專門提及。

而我想,在這樣的一個團隊中,有這樣的一位領頭羊,也是一種幸運吧。

圖 3 KubeSphere and Friends

開源是如何為 KubeSphere 添磚加瓦的

緣何開源可以為 KubeSphere 提供助力呢?這是由開源模式本身的優勢所決定的。

或許有些人直覺上會感到意外,開源本身並不會因代碼的公開,導致該軟體及軟體背後的企業或組織喪失競爭力。事實上,幾乎不存在一段極其精妙的代碼可以形成長久的優勢,更重要的是,在軟體的發展過程中的工程能力才是真正的競爭力,這一點,其實和開源與否並無直接的聯繫。

那麼既然開源對競爭力並無負面影響,是否有正面的影響呢?

有的。

首先,無論是什麼軟體,其必然要滿足各種不同場景需求,才能與時俱進,不斷發展下去,而該軟體的團隊和決策者往往並不能照顧到(或遇到)各種場景,也不一定總是能做出最佳選擇。但是在開源模式下,由於代碼是公開的,總會有層出不窮的用戶場景,這些意料之內或之外的場景和需求,極大地刺激了開源軟體的生命力。

其次,通過開源極大地降低了用戶接觸門檻,因為用戶可以近乎無成本地接觸和使用這些開源軟體,並在滿足場景需求和形成知識領域之後,還會進一步的擴散該軟體的傳播範圍,而這本質上是對用戶和市場的爭奪。

最後,通過開源,軟體的參與者就不僅僅是內部團隊了。不限於對代碼的貢獻,任何提出錯誤反饋、功能需求,甚至尋求幫助的用戶,都能加速代碼的迭代和發展。一個快速迭代的軟體,其活力遠不是閉門造車所能比擬的。

而在 KubeSphere 中,對於以上幾點的踐行,實實在在地收穫到了成績。

KubeSphere 的開源成績

從 KubeSphere 的 GitHub 倉庫的活躍度看,來自青雲QingCloud 和社區貢獻者的提交、 議題 issue 都非常活躍。周小四還說,「我們的項目的 星標 Star 數現在有三千多,有人分析過,星標的質量很高,它們來自於全世界各地。」這意味著,KubeSphere 已經取得了社區的一定認可。而且,社區用戶也在主動地自發向更多的人去推薦 KubeSphere,提到這一點,周小四的振奮之情讓我感同身受。

圖 4 KubeSphere 星標增長圖

從上圖的星標增長趨勢來看,KubeSphere 的用戶關注度在持續地自然增高。

在我們對開源項目的評判當中(Grank 模型),有兩個重要的維度:

  • 項目活躍度:通過項目的提交、拉取請求、貢獻者等數據的變化幅度計算得來的一個指標;
  • 項目健康度:通過項目的社區化程度來判斷項目的健康發展程度。

從文章開始部分的圖 1 可以看到,KubeSphere 的活躍度能維持在較高水準上。尤其是經過了最近幾個月的全球性疫情之後,KubeSphere 的項目活躍度再次取得了新高。如果維持這個發展態勢,KubeSphere 的變化將日新月異。

社區化

而 KubeSphere 項目的健康度,我們可以從圖 1中看出,來自社區的代碼貢獻者的比例並不算很高,這對於一個由企業主導推動的開源項目來說,屬於正常水準。但在代碼貢獻者之外,據周小四稱,目前 KubeSphere 的社區活躍度還是很不錯的,從社區支持的多個交流平台,如國內用戶慣用的論壇、微信群,到國際用戶慣用的 Slack、郵件列表等,都有很多活躍的貢獻者和用戶。而另一方面,KubeSphere 的獨立下載量已經達上萬次,周小四表示,他的目標是這個數量將來可以進一步提升到十萬、百萬級別。

目前的貢獻者除了青雲QingCloud,還有來自本來生活、中通、VNG 等海內外多家企業,並且還有不少社區的獨立開發者希望能夠更多地參與到 KubeSphere 的直接貢獻當中。但是從目前看起來,晉陞為 KubeSphere 的核心開發成員的外部貢獻者佔比還不夠高,主要還是來自於青雲周小四說,他們還在著手豐富 KubeSphere 貢獻者生態,主要努力方向在以下兩個方面:

  • 一方面,在如何降低貢獻者的貢獻門檻方面,比如文檔、代碼規範、貢獻流程方面不斷地改進和完善;
  • 另一方面,由於 KubeSphere 本身迭代速度較快,新的功能不斷推出、原有功能不斷改善,在高歌猛進的同時,一些需要夯實的基礎性工作,比如國際化、教程、bug修復和用戶需求管理方面繼續加大投入更多的人力。

周小四說,他希望 KubeSphere 是屬於社區的開源項目—— 這一點,從項目本身的 GitHub 倉庫放在 KubeSphere 組織下可見初心。對此,周小四也設定了一個評判標準,什麼時候 KubeSphere 社區的技術委員會(**TOC**)裡面,除了青雲QingCloud 的人員以外,還有其它公司或社區的成員,才叫真正的成功

圖 5 KubeSphere 社區組織圖

對於一個開源項目的發展,周小四有著清晰的認知,從最初的產品設計,到進一步成熟迎來更多用戶,再到社區成員參與貢獻並走到更高的社區決策層面,都標誌開源社區的開放性和健康發展。

圖 6 GitHub 數據

生態化

作為雲原生領域的生態軟體,KubeSphere 堅持完全開源和開放的迭代思路,聯合多個企業與開源社區,共同打造了以 KubeSphere 容器平台為核心的開源項目。

除了集成主流的開源組件如 Jenkins、Istio、Prometheus 等,還圍繞 KubeSphere 開源了 Porter、OpenPitrix、KubeKey、Kube-events、Fluent-bit Operator、Notification Manager、CSI 插件等 80 余個開源項目,甚至 Porter——面向裸金屬環境的 Kubernetes 開源負載均衡器這樣優秀的子項目已經進入了 CNCF 雲原生全景圖。

國際化

但是,KubeSphere 並沒有滿足於當前的發展,而是更積極地謀求國際化發展。周小四說,得益於該項目在發展之初就以國際化為目標,其文檔、社區交流,除了立足於中國本土的中文環境之外,國際化是在創立之初就從頭貫徹的。甚至,他還專門招聘有國際化社區運營經驗的人員來負責全球社區建設和運營。

然而這些努力並沒有白費,他發現最近幾個月以來,KubeSphere 的國外下載量已經超過了國內的下載量,其貢獻者中也不乏來自於中國以外各個國家和地區的技術愛好者和用戶。甚至還有國外的公司主動聯繫他們,希望共同合作建立歐洲市場和社區,並提供相關的本地化工作。

周小四說,對於 KubeSphere 來說,開源的屬性為其帶來了天然的全球化屬性,但讓 KubeSphere 真正的成為一個全球化項目,正是他寄予期望的目標之一。

結語

有人說,一葉而知秋,我們講開源講了這麼多年,也從心裡認可和推行開源思想,但是只有我們真正在具體的項目中踐行開源的理念,

我也希望讀者可以從這樣一個具體的項目中,觀察和吸收到開源模式的精粹,我覺得,是時候在你的下一個,不,現在手裡的這個項目開始,落地開源思維了。你說呢?

穿山甲專訪」欄目是 Linux 中國社區推出的面向開源界、互聯網技術圈的重要領軍人物的系列採訪,將為大家介紹中國開源領域中一些積極推動開源,諳熟開源思想的技術人,並辨析其思考、挖掘其動因,揭示其背後所發生的事情,為關注開源、有志於開源的企業和技術人標出一條路徑。

取名為「穿山甲」寓意有二:取穿山甲挖掘、深入之意來象徵技術進步和表徵技術領袖的作用;穿山甲是珍稀保護動物,宣傳公益。


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國