如何用架構的思維為雲原生做減法?

語言: CN / TW / HK

"

日前,青雲科技 KubeSphere 產品負責人於爽受邀參加由英特爾與國際學術期刊《Science》聯袂推出的“架構師成長計劃(第二季)”,帶來了《用架構的思維為雲原生做減法》的主題演講,詳細解讀了青雲科技如何基於 KubeSphere 為使用者構建架構思維,更輕量、更簡便、更高效地推進雲原生轉型。

本文基於演講內容整理,精華如下:

"

雲原生的理念相信大家已經不陌生,不論是實際使用的使用者,還是業界從業者,都一致認同雲原生是當前重要的技術趨勢。

今天主要想 跟大家分享一下青雲科技在幫企業推進雲原生轉型的過程中碰到的問題,以及我們找到的答案。

雲原生帶來一道“加法”題

Gartner 在分析報告中指出,到 2025 年,雲原生平臺將成為 95% 以上企業新數字計劃的基礎,而 2021 年這一比例還不到 40% 。

雲原生平臺成為企業數字基建的必需品大勢所趨,不僅是網際網路行業,製造、能源、醫療、教育、政府等各行業都在擁抱雲原生技術。

這就帶來一個新問題,在 CNCF 全景圖裡面,現在已經有 16 個已經畢業的專案,39 個在孵化,76 個進入沙箱,包括青雲科技貢獻的 OpenELB 負載均衡器、OpenFunction 開源函式計算平臺兩個專案也在沙箱裡面。

雲原生生態非常活躍,各種新興專案層出不窮。不僅僅是 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 的生態,一起共建新一代的雲原生分散式作業系統。

我的分享就到這裡,謝謝大家。

掃描二維碼

瞭解或諮詢 KubeSphere

▼▼▼

KubeSphere (https://kubesphere.io)是在 Kubernetes 之上構建的 開源容器平臺 ,提供全棧的 IT 自動化運維的能力,簡化企業的 DevOps 工作流。

KubeSphere 已被  Aqara 智慧家居、愛立信、本來生活、東軟、華雲、新浪、三一重工、華夏銀行、四川航空、國藥集團、微眾銀行、杭州數跑科技、紫金保險、去哪兒網、中通、中國人民銀行、中國銀行、中國人保壽險、中國太平保險、中國移動、中國聯通、中國電信、天翼雲、中移金科、Radore、ZaloPay  等海內外數萬家企業採用。KubeSphere 提供了開發者友好的嚮導式操作介面和豐富的企業級功能,包括  Kubernetes   多雲與多叢集管理、DevOps (CI/CD)、應用生命週期管理、邊緣計算、微服務治理 (Service Mesh)、多租戶管理、可觀測性、儲存與網路管理、GPU support  等功能,幫助企業快速構建一個強大和功能豐富的容器雲平臺。

 :sparkles: GitHub :https://github.com/kubesphere

 :computer: 官網(中國站) :https://kubesphere.com.cn

:man:‍:computer:‍  微信群: 請搜尋新增群助手微訊號  kubesphere

 :link: 企業服務 https://kubespher e.cloud