慎思篤行——網易數帆開源這一年

語言: CN / TW / HK
對於中國開源界而言,2021年因明確的政策指引就值得說道陳義。對網易數帆而言,2021年開源之路同樣值得回顧:一年之內,網易數帆先後推出四個自主開源專案,也將 Kyuubi 專案送入 Apache 基金會孵化。種種行動,讓業界更深刻地感受到了網易數帆開源“架構開放,核心開源”的態度。

踐行 Apache Way,推動大資料平民化

從早期的 LAMP 架構,到今天的 Hadoop 生態,Apache 軟體基金會(ASF)在開源領域影響深遠,其形成的 “The Apache Way” ,已經成為引領全球社群開發者進步的開源哲學。2021年,網易數帆遵循這一哲學的努力,也締造了數帆與 ASF 愈發深厚的緣分。
 
其一,在 Apache Spark 社群,網易數帆大資料專家燕青(社群 ID:yaooqinn)成為了專案 Committer( https://mp.weixin.qq.com/s/MXAnPRDvQlY71fU3SsoaPg )。從 Databricks 380 億美元的估值不難看出 Spark 的分量,這得益於社群自誕生之日就大神雲集,但也反過來說明在這個頂級專案成熟期成為新晉 Committer 何其困難。事實上,加上燕青,就職中國網際網路公司的 Apache Spark Committer 目前也僅 5 位。對此燕青的祕訣是 8 個字:保持活躍,持續貢獻。
 
其二,網易數帆發起的 Kyuubi 專案,在 Champion 和 Mentors 的指導及社群成員的支援下進入了 ASF 孵化器( https://mp.weixin.qq.com/s/0ANp1ps21DjgfuuOAT51Ww ),這代表了頂級基金會對數帆開源工作的肯定。Kyuubi 的研發始於高度封裝大資料算力的樸素想法,通過提供企業級資料湖探索提供標準化的介面,使得使用者能夠像處理普通資料一樣處理大資料,推動大資料平民化。
 
進入 Apache 孵化器之後,Apache Kyuubi 社群遵循 “The Apache Way” 運作,圍繞“Community Over Code”的理念構建良性的使用者和開發者生態逐漸成為工作重心。截至目前, 社群開發者數量增長了 10 倍,新晉了 2 位 Committer( https://mp.weixin.qq.com/s/RH5eo0yv0mC1btIel9LvkA ),並在 RELEASE POLICY 下完成了 3 個正式版本的釋出 ,實現包括對最新的 Spark 3.x 版本的支援與增強,在資料湖平臺 Delta Lake、Iceberg 和 Hudi 之上進行充分的測試,賦予使用者調動整個資料湖生態的資料的能力,使得專案成為一個面向 Serverless SQL on Lakehouse 的服務。
 
 
社群驅動也使得 Apache Kyuubi 的使用者生態更為豐富,不僅有 T3 出行( https://mp.weixin.qq.com/s/DPMKHhtxd2D96A3comlPiA )、知乎、bilibili、eBay 這樣的網際網路公司,也有中國移動、海康威視這樣的傳統企業,還有騰訊雲、新華三、亞信科技這樣的服務商。

衝擊雲原生,強化生產落地能力

雲原生是當前業界核心技術路線,與公有云服務商偏向自家基礎設施的優化不同,網易數帆對雲原生的追求近乎偏執:網易副總裁、網易杭州研究院執行院長、網易數帆總經理汪源提出了一個統一雲原生作業系統的設計——以一套 Kubernetes 平臺統一管理任意基礎設施,支撐任意負載。這與國產軟硬體技術推廣的趨勢暗合,但反過來也對雲原生的可落地性提出了更高要求。
 
網易數帆雲原生技術棧以 Kubernetes、Istio 和 Envoy 為核心,以解決社群技術在生產應用所面臨的易用性、可用率保障、效能和成本優化等現實問題為重點工作。2021 年開源的 KubeCube、KubeDiag、Slime 和 Hango(函谷)等 4 個專案( https://mp.weixin.qq.com/s/0Fnn3mIjrx5DB0ksAqNy1g ),就是這些方面的階段性成果。
 
 
實現輕量化的 Kubernetes。 KubeCube 以輕量化的設計理念,補足統一的 多叢集多租戶管理,提供 Kubernetes 資源視覺化管理和豐富的可觀測性 ,滿足了企業對容器雲平臺的期待。一位使用者分享了自己在 UK8S 叢集上做簡單的部署對接測試的筆記,前後 6 步即可完成安裝部署,其中包括了一些必要的配置。
 
破解 Kubernetes 運維之痛。 KubeDiag 作為雲原生診斷運維編排框架,創新性地實現了 “經驗即程式碼” ,即診斷經驗全部通過程式碼實現並通過標準化的方式整合到框架中,可運行於任意 Kubernetes 環境。通過 Kubernetes 提供的標準化能力,KubeDiag 將問題診斷和故障運維工作中的專業經驗進行沉澱,助力使用者實現 DevOps 流程中監控、運維、診斷的全自動化管理以及場景化的互動式根因定位
 
突破 Istio 管理缺陷。 Slime 專案的推出,完善了 Istio 在本地限流、黑白名單、降級等微服務治理的高階特性的缺陷,以及配置全量下發的負擔,提升了易用性和效能。而作為 Istio 的 CRD 管理器,Slime 支援無縫對接 Istio, 無需任何的定製化改造
 
擴充套件 Istio 的雲原生閘道器。 採用 Envoy 作為網路代理元件,Hango 提供了適用微服務閘道器、七層負載均衡、Kubernetes Ingress、Serverless閘道器等 各種雲原生場景的 API 閘道器能力和可觀測性 ,當然還有 C++ 加持的 高效能 ,單例項效能可達10w TPS以上,領先業界競品 50%+。

推進開源管理,探索開源供應鏈治理

可以看到,包括 2020 年開源的雲原生軟體定義儲存系統 Curve,網易數帆的每一個專案都很有特色,各有使用場景。但專案數量增多,也意味著開源管理的問題。借鑑業界實踐,數帆初步形成了一套開源管理規範,在每個專案開源之前,藉助網易杭州研究院技術委員會 對其價值、社群、應用、影響力、技術創新與先進性及團隊能力等進行嚴格的評估 。公司高層對開源的支援也更為明確,汪源撰文指明瞭開源模式對企業級基礎軟體的重要性和網易數帆的開源思路( https://mp.weixin.qq.com/s/9eujTFc-MOmB8xbY07-V2A )。
 
在開源之後,網易數帆持續投入社群建設,並通過參與一些權威機構測評來檢驗專案的發展,Curve 就是一個典型。這一年,Curve 獲評中國信通院 OSCAR 尖峰開源專案及開源社群,通過可信開源專案評估,併成為可信開源共同體正式成員( https://mp.weixin.qq.com/s/YWbzLBnp2pk_yVjnfwpfpQ )。
技術層面,Curve 社群基於使用者反饋,釋出了 CurveFS 增強統一儲存管理( https://mp.weixin.qq.com/s/p-qjLl8BpsQVCviqwm4mLQ ),在保持效能優勢的基礎上實現全場景支援,並推出新的運維工具降低部署管理的門檻。
 
 
作為一家堅持開源開放的企業服務提供商,開源供應鏈治理也是網易數帆的必答題,這涉及管理機構、管理制度、開源引入溯源、交付物管理等多個方面。憑藉一套涵蓋管理機構、管理制度、過程卡點和結果導向的開源供應鏈治理策略和相應的工具集,網易數帆輕舟微服務平臺通過了信通院首批可信開源供應鏈風險管理能力評估——也是首個通過該項評估的微服務/服務網格類產品。

持續佈道,融入社群分享開源經驗

為構建良好的社群生態,降低開發者和使用者理解專案的門檻,開源團隊也聯合社區使用者積極開展或參與社群佈道,並生產了 一系列高質量的技術解讀文章,包括架構設計的思考、技術實現的要點、業務應用的成效等。2021 年,網易數帆貢獻了 12 場線上/線下開源分享,生產了 20 篇優質文章,據不完全統計覆蓋受眾 50000+。
 
 
憑藉這些分享,網易數帆也被頭部社群開源中國的評選為 2021 年度 OSCHINA 優秀技術團隊( https://my.oschina.net/oscpyaqxylk/blog/5350757 )。

寫在最後

2021 年是網易數帆自主開源開始發力的一年,當然我們還有更多開源故事,例如在其他社群專案的貢獻和分享,受邀加入開放原子基金會下的 openEuler 社群加強國內開源生態的建設,在此不再贅述。
 
深耕企業級基礎軟體,堅持“架構開放,核心開源”的戰略,網易數帆得到了社群的良性反饋。未來,網易數帆還會開源更多的能力。例如,雲原生日誌專案 Loggie、實時資料湖引擎 Arctic 都已經在籌備開源之中,不久之後大家會看到我們的新訊息。
 
對於數字化轉型浪潮下企業級基礎軟體的革新,網易數帆目前的開源成果只是前進了一小步,我們的專案還很年輕,我們在開源領域還只是一個懵懂的中學生,因為熱愛而肆意揮灑才華。不過,也正因為如此,網易數帆開源的“大學”將會有更大的想象空間。在此,我們呼喚志同道合的夥伴加入我們的社群建設,共同創造開源數字化基礎軟體的美好未來!
 

附:網易數帆自主開源技術文章

 
瞭解更多資訊,請移步網易數帆開源主頁: