KusionStack 開源有感|歷時兩年,打破 “隔行如隔山” 困境

SOFAStack發表於2022-06-08

圖片

文|朵曉東(花名:奕杉 )

KusionStack 負責人、螞蟻集團高階技術專家

在基礎設施技術領域深耕,專注雲原生網路、運維及程式語言等技術工作

本文 2580 字 閱讀 6 分鐘

|前言|

本文撰寫於 KusionStack 開源前夕,作者有感而發,回顧了團隊從 Kusion 專案開發之初到現今成功走上開源之路的艱辛歷程。當中既描述了作者及其團隊做 Kusion 專案的初心和專案發展至今的成果,也表達了作者自身對團隊的由衷感激,字裡行間都散發著真情實感。

KusionStack 是什麼?

KusionStack 是開源的可程式設計雲原生協議棧!

Kusion 一詞來源於 fusion (意為融合) ,希望通過一站式的技術棧融合運維體系的多個角色,提升運維基礎設施的開放性、擴充套件性,從整體上降本增效。KusionStack 通過定義雲原生可程式設計接入層,提供包括配置語言 KCL、模型介面、自動化工具、最佳實踐在內的一整套解決方案,連通雲原生基礎設施與業務應用,連線定義和使用基礎設施的各個團隊,串聯應用生命週期的研發、測試、整合、釋出各個階段,服務於雲原生自動化系統建設,加速雲原生落地。

圖片

PART. 1

為了一個理想的運維體系

2019 年秋,MOSN 的工作已持續了近兩年,期間我們逐步完成了在支付寶核心鏈路的形態驗證。整個過程中除了 MOSN 本身面對的種種技術挑戰和困難,所謂的雲原生技術紅利,實際上也已經掣肘於運維繫統固化所造成的效率制約。

有一天主管找我吃飯 (下套) ,期間向我描述了他理想中的運維體系:

他希望 SRE 能通過一種專用語言來編寫需求,通過寫程式碼來定義基礎設施的狀態,而不是花費極大的精力在檢查、發現、修復的迴圈上。基礎設施團隊則通過提供開放的可程式語言和工具支撐不同訴求的 SRE 團隊,達到更高的整體 ROI。

我立刻意識到這和 Hashicorp 的 Terraform 神之相似 (後來 Hashicorp 在 2021 年底上市,以超過 150 億美元的市值成為迄今為止市值最高的一次開源 IPO) 。另一方面,不同於 IaaS 交付場景,螞蟻面對著大量更規模化、複雜度更高的雲原生 PaaS 場景,又讓我想到了 Google 內部運用專用語言、工具等技術開放 Borg[1]運維能力的實踐[2],當時感覺這是一個既有意思又有挑戰的事[3]。

飯桌上我們聊了一些思路以及一些還不太確定的挑戰,他問我想不想搞一個試試,搞不成也沒關係。當時沒想太多,飯沒吃完就答應了。

圖片

PART. 2

漫長的學習、探索與實踐

隔行如隔山。

沒有過語言設計研發的經驗,也沒有過開放自動化系統設計的經驗,專案開展之初,我們就陷入了舉步維艱的困境。

經歷了一段漫長時間的學習、摸索和實踐的反覆迴圈之後,專案依舊沒有大的起色,更困難的是我們不但要面對螞蟻內部複雜又耦合的場景和問題,還要經受「這種高度工程化的方式在螞蟻是否有生存土壤」的質疑。

屋漏偏逢連夜雨,期間又令人惋惜且無奈的經歷了一些人事變化,同時由於種種原因,專案一度陷入了各種困境。整個 2020 年,我們在未知、糾結、無奈中度過…… 

感謝瓴熙、庭堅和我的主管,感謝你們當時沒有放棄這個專案,依然與我一同堅守。

圖片

PART. 3

痛並快樂的孵化之旅

通過持續地佈道、交流和溝通,我們逐步在基礎設施技術團隊和 SRE 團隊找到了更多有共識的朋友。

同時在技術上,我們亦脫離了迷茫,真正意義上地啟動了 Kusion 專案,也成功地從 PoC 過渡到了 MVP 的階段。

最終,我們以“非標”應用為切入點,開始了痛並快樂著的孵化之旅。

感謝零執、青河、子波、李豐、毋涯、向野、達遠……在這裡無法一一列舉,感謝你們的堅持讓這個想法逐步成為現實。

圖片

PART. 4

突破與進展

略過中間的種種探索和實踐,回顧這段歷程,在這一年多的時間裡我們結合了編譯技術、運維及平臺技術,成功建立了一個基於 Kusion 可程式設計技術棧的運維體系。

在業務場景上,專案覆蓋了從 IaaS 到 SaaS 的大量運維場景,截至目前共接入了 800+ 應用,覆蓋 9 個 BG,21 個 BU,其中典型案例交付運維提效 90% 以上,這也是螞蟻內部第一次將大量異構應用納入到一整套運維技術棧。

在螞蟻我們基於雲原生容器和微服務技術深入探索了 DevOps、CICD 實踐,完善了螞蟻的雲原生技術體系,逐步釋放了雲原生效率紅利,同時形成了一個近 300 人的虛擬運維研發團隊。

不同職能不同團隊的參與者凝聚在一起解決各自所面對的問題,貢獻了 3W+ commit 和 35W+ 行程式碼,有一些參與者自發成為 Kusion 的研發者 。我認為這些工程師文化理念和領域知識的積累帶來了遠超運維業務本身的價值。

圖片

此外,Kusion 也成為了可程式設計基線產品、雲原生運維產品、多雲交付產品等新一代運維產品的基礎技術,成為螞蟻運維體系架構升級的一部分。

不忘初心,我們希望通過技術手段促進與運維參與方的合作關係的合理化、基於開放技術棧的自動化,以及運維資料與知識的沉澱積累,以達到整體協作運維效率的不斷提升。

同時,因螞蟻內部運維場景較多且鏈路複雜,每個環節都需要最懂運維業務的 SRE 密切參與,與平臺、應用研發協同工作,最終各環節聯合在一起形成了一套完整的運維體系,在這樣的思路下開放技術也會越來越重要。

平臺研發、SRE、應用研發等多種角色協同編寫的程式碼是一種資料的沉澱,亦是一種業務知識的沉澱,基於這些資料和知識,未來會有更多的可能性。

PART. 5

走上開源之路

在歷經了一段內部探索之後,我們希望把 KusionStack 開源到技術社群。因為我們意識到自身面對的問題,其他公司、團隊其實也同樣正在面對。藉助開源這件事,我們希望團隊的這些工作成果能對更多人有所幫助。

當然,也受限於自身能力以及精力和資源的投入,我們希望能有更多朋友參與進來,與我們共同去完善 KusionStack,不論你是工作在雲原生、運維自動化、程式語言或者是編譯器中的哪一個領域,我們都非常期待和歡迎你的加入。

PART. 6

期待與你共成長

這段經歷對我來說異常寶貴,不僅僅是在於自身再一次在新的技術領域和螞蟻的技術升級方面嘗試了新的探索並實現了突破,更寶貴的是,自己還擁有了一段與一群人均 95 後的小夥伴一起將想法落地實現的奇幻歷程。

在未來, Kusion 的朋友圈不再侷限於螞蟻內部,面向開源,我們期待著能有更多的社群朋友在 KusionStack 與我們共同成長!

瞭解更多...

KusionStack Star 一下✨:
https://github.com/KusionStack

KusionStack 的開源,希望能對大家有所幫助,也希望能跟更多朋友共同完善 KusionStack。歡迎對雲原生、運維自動化、程式語言、編譯器感興趣的同學一起參與社群共建,在新的技術領域升級方面進行探索和突破,實現更多新的想法。

點選文末閱讀原文直達專案地址。

【參考連結】

[1]《Large-scale cluster management at Google with Borg》:https://pdos.csail.mit.edu/6.824/papers/borg.pdf

[2]Configuration Specifics:https://sre.google/workbook/configuration-specifics/

[3]《Borg, Omega, and Kubernetes》:https://queue.acm.org/detail.cfm?id=2898444

【本週推薦閱讀】

圖片

KCL:宣告式的雲原生配置策略語言

圖片

精彩回顧|KusionStack 開源啦~

圖片

【GLCC】程式設計夏令營 高校學生報名正式開始!

圖片

螞蟻集團 Service Mesh 進展回顧與展望|SOFAStack 四週年

圖片

相關文章