日前,青云科技KubeSphere產品負責人于爽受邀參加由英特爾與國際學術期刊《Science》聯袂推出的“架構師成長計劃(第二季)”,帶來了《用架構的思維為云原生做減法》的主題演講,詳細解讀了青云科技如何基于KubeSphere 為用戶構建架構思維,更輕量、更簡便、更高效地推進云原生轉型。
本文基于演講內容整理,精華如下:
云原生的理念相信大家已經不陌生,不論是實際使用的用戶,還是業界從業者,都一致認同云原生是當前重要的技術趨勢。今天主要想跟大家分享一下青云科技在幫企業推進云原生轉型過程中碰到的問題,以及我們找到的答案。
云原生帶來一道“加法”題
Gartner在分析報告中指出,到 2025 年,云原生平臺將成為 95% 以上企業新數字計劃的基礎,而 2021 年這一比例還不到 40%。云原生平臺成為企業數字基建的必需品大勢所趨,不僅是互聯網行業,制造、能源、醫療、教育、政府等各行業都在擁抱云原生技術。
這就帶來一個新問題,在 CNCF 全景圖里面,現在已經有 16 個已經畢業的項目,39 個在孵化,76 個進入沙箱,包括青云科技貢獻的 OpenELB 負載均衡器、OpenFunction 開源函數計算平臺兩個項目也在沙箱里面。
云原生生態非?;钴S,各種新興項目層出不窮。不僅僅是 Kubernetes,圍繞 Kubernetes 之上的邊緣計算、網絡、存儲、Serverless 等項目不斷涌現,構成了一張豐富的云原生“元素周期表”。就像一個化學師想去調配某個物質時,會在元素周期表里選擇適合的元素,企業在推進云原生轉型之時,也必須要清楚地知道該如何去選擇項目,更好地匹配業務。
然而,很多企業都在做加法,比如一開始選擇 Kubernetes 這個最核心的、已經畢業的項目作為底層調度平臺。當運維人員需要全面掌控平臺的情況,可能會選擇 Prometheus 的技術棧。接下來要做日志管理,做微服務架構改造,就像一道加法題,不停地在最原始的 Kubernetes 之上做加法。這種做法,就導致 Kubernetes 這個雪球越來越大,越來越難推動,碎片化日益嚴重,需要不停協調技術人員去調研新的技術框架和開源項目,企業的運維成本逐層升高。
伴隨業務發展,場景增多,企業還需要做更多的加法。比如,不斷給技術人員施加壓力去學習新的東西,雇傭新的人員掌握新的技能。平臺構建好之后,人員的維護是企業看不見的成本,如何去管理這些平臺,讓平臺各個組件無縫地升級,這些都會加載到企業的成本上。
青云科技破解之道:KubeSphere
2018年,青云科技找到了自己的解決辦法,推出了 KubeSphere 容器平臺。KubeSphere在推出時,秉承的理念是讓用戶只需要一款產品,就能享受一支云原生團隊帶來的服務。KubeSphere 通過產品化的方式屏蔽掉整個云原生生態各種碎片化的問題,開發者和企業用戶只需要面對場景本身。
首先,KubeSphere 支持一鍵安裝,組件按需開啟。比如運維團隊需要可觀測性里的監控、日志、告警等能力,只需要開啟相關的組件。開發團隊需要 DevOps 各種場景的能力支持,可以在后臺開啟 DevOps 組件。KubeSphere 完全按需匹配企業當前的場景和能力。
其次,KubeSphere 提供插件市場,集成當前主流開源組件。開發者和企業需要什么,KubeSphere 就提供什么,一鍵部署,靈活掌握。借助KubeSphere,極大地幫助企業降低了碎片化、運維成本和管理成本上升等問題。
第三,KubeSphere 提供跨基礎設施全場景支持。從 2018 年至今,KubeSphere 積累了大量垂直場景的能力。支持敏捷 DevOps,內置 Jenkins 和 Argo CD,支持各種業務場景的 CI/CD。圍繞可觀測性,提供跨集群、跨異構基礎設施的觀測能力,無縫對接各種主流的網絡存儲,管理邊緣云的邊緣節點等。
最后,KubeSphere 提供垂直多租戶的多層管理能力。在上層應用上,能夠滿足企業多樣化的業務需求,而且 KubeSphere 是一個純軟件,不管企業之前的環境是使用物理服務器、公有云、私有云,還是云廠商的托管服務,都可以直接部署 KubeSphere,有極大的兼容性和包容性。
KubeSphere 還與英特爾達成合作:基于全新升級的 KubeSphere 企業版,雙方打造了更高效的企業級云原生容器平臺,在“安全、網絡、性能”方面顯著提升;集成英特爾開源的Kata Container,讓企業用戶在 KubeSphere 界面就可以選擇 Kata Container的運行環境,無縫將業務運行在 Kata Container Runtime 里;集成英特爾開源的 Multus,為企業用戶提供多元的網絡插件集中管理能力等。
另外,雙方研發團隊還聯合實現軟硬一體優化、應用性能優化。而作為云原生開源生態的重要參與者,未來雙方將深化合作,更敏捷地將新技術、新項目能力進行整合。
尋求“加法”之外的更優解
青云科技推出 KubeSphere 破局方向之后,還在尋求更優的解決方案。1+1+1+1+1+……這種加法的成本提升帶來很多隱性痛點。比如前面提到的,KubeSphere 集成了英特爾的 Kata Container,集成的過程就意味著后臺的 API Server 要做改造,集成新功能的 API,這其實是一種變相的侵入式開發,整個版本要為新特性去做新的規劃,版本節奏也要做新的調整。
集群監控增強
當一個項目要發布新版本,KubeSphere 想集成它的新功能,就需要去做新的技術評估,新的后臺架構設計調整,匹配相應的開發測試人員。同時,KubeSphere 也有自己的版本迭代節奏,很難去快速匹配。當新版本發布之后,需要在用戶環境中進行版本更新,即使用戶的 IT 環境可以實現滾動更新,且基于高可用架構,但對于一個后端 API 服務的單一副本來說,這就是一次中斷式更新。如果希望新特性更好地呈現在 KubeSphere 界面,前后端代碼需要整體調整。這種前后端構建的配合,其實是非常低效的行為。
KubeSphere 希望實現真正無縫地與大量優秀開源項目的整合,更加敏捷地為用戶提供云原生生態體系的各種新能力。KubeSphere 即將重磅推出可插拔功能,這是在 KubeSphere 面對“加法”問題給出的解決方案之上尋求的更優解。
KubeSphere 的目標是為每一位用戶和云原生玩家提供專屬的云原生平臺。如果和 CNCF 全景圖中的開源項目作比較,那些開源項目好比自助餐,每位食客可以拿著盤子去選自己想吃的食物,這個盤子可能會越盛越多。KubeSphere 希望變成每位用戶的專屬廚房,企業的業務當前處于什么階段,需要什么樣的能力,通過可插拔開放架構的設計進行創新調整,天然地 KubeSphere 就能變成用戶想要的樣子。借助 KubeSphere,青云科技希望將自身的各種能力,及整個云原生生態的能力整合起來,讓每一位參與者都能夠去打造自己的 KubeSphere。
通過上圖可以看到,KubeSphere 的核心組件在這次架構調整中變得更加輕薄,很多支撐組件以插件化的方式整合到 KubeSphere 架構里面。無論是用戶的業務,還是合作伙伴的新能力,都以插件的方式整合到 KubeSphere 里面。
我們很快也會將 KubeDesign 域名開放出來,整個前端類庫也是開源開放的。比如我們的合作伙伴有個項目,需要在界面上嵌入新的表單,就可以直接用前端開源的類庫整合到新的控制臺。而且,來自第三方的 API 都是直接動態注冊的,實現了前后端一體的熱更新。外部合作伙伴新的能力不用再等 KubeSphere 的版本更新,就可以快速整合到現有的 KubeSphere 框架里。
同時,這套前后端一致的插件架構也可以為合作伙伴提供新的 UI 框架,幫助他們打造自己的 KubeSphere 控制臺。在 KubeSphere 里,整體的 UI 體驗做了進一步的優化和提升,整個 UI 更像一個桌面操作系統,實現真正的云原生時代的分布式操作系統。每個組件都是卡片式的,可以按需靈活定制整個前端控制臺。
KubeSphere 還會提供松耦合架構的插件中心,插件可以按需開啟和關閉,從此告別由于“不斷做加法”帶來的臃腫現狀。
Build Your Own KubeSphere,通過 KubeSphere 架構,我們實現了 BYOK,KubeSphere 不再單純地屬于當前 KubeSphere 社區,KubeSphere 完全屬于用戶,屬于每一位合作伙伴。
目前 KubeSphere 前后端框架已經在 GitHub 社區完全開放,相關文檔已經就緒。非常誠摯地歡迎大家加入 KubeSphere 的生態,一起共建新一代的云原生分布式操作系統。
我的分享就到這里,謝謝大家。