隨著數字化技術優勢的釋放,數字社會正在以不可思議的速度被開發人員如火如荼地構建,而云原生以軟件應用“生于云,長于云”的技術理念,在此過程中成為軟件架構變革的新潮流。
在近日舉辦的全國互聯網架構峰會上,網易數帆資深云原生架構師裴明明受邀分享了在傳統基礎設施向云原生架構演進過程中云原生中間件的最佳實踐和收益,并展望了云原生中間件的未來發展方向。
傳統中間件遇上云原生
與云計算時代資源彈性相匹配的業務擴展性是企業采用云原生架構的動力來源之一,但云原生架構下還有一個顯著的特點對于中間件平臺來說意義非凡,即運維特性進一步下沉,與業務應用解耦,同時云原生技術生態豐富,技術棧統一,社區開源活躍,使得這一特點愈發明顯。
以網易為例,多元化的業務帶來了對Redis、Kafka、RocketMQ、ZooKeeper、Elasticsearch等各種中間件的需求,傳統中間件平臺建設面臨技術底座不統一、穩定性保障困難、高可用高安全較難滿足和創新能力不足、體系建設緩慢等痛點。“傳統基礎設施在中間件自愈能力,可觀測體系,運維能力上都缺乏有效手段,沒有統一穩定性保障手段。”裴明明說。
中間件的高可用高安全依賴于平臺架構,如多集群管控依賴于服務發現,應用交付等多項能力,傳統基礎設施也難以滿足。而因為傳統技術底座不統一,并且沒有良好的技術框架,很多中間件集群高階能力較難落地,即使有實踐經驗也無法沉淀形成平臺能力。
云原生中間件的最佳實踐
網易數帆基于云原生技術棧構建了輕舟中間件架構體系,可運行于公有云、私有云和混合云基礎設施之上。在中間件服務層,容器云平臺為可觀測性、技術/經驗沉淀提供基礎,網易數帆在此之上構建一套自動化運維管理系統,支撐各種品類的中間件數據面,此外還提供了企業級能力和通用平臺能力建設。上層則對外暴露快速訪問云原生中間件的接口,提供一鍵訪問的能力,并支持用戶通過OpenAPI的方式把輕舟中間件管理能力接入到企業現有技術平臺。
技術實現上,輕舟中間件基于Kubernetes的Operator CRD技術實現中間件集群自動運維管理。由于構建于標準Kubernetes之上,平臺具備靈活調度、故障恢復、彈性伸縮等特性。CRD的聲明式定義,能夠明確規范運維特性,使得各種中間件能夠統一管理,也易于編排。此外,還實現計算資源統一管理,租戶級使用隔離,提升資源使用效率。
裴明明重點分享了網易數帆在云原生中間件的高性能、高可用、單元化、可觀測、運維經驗沉淀、穩定性治理等方面的實踐。
以單元化為例,云原生中間件單元化能力主要解決水平擴容及故障容災等問題,對應用管理、應用協調等特性要求比較高,是高可用能力進一步演進的方向。輕舟中間件通過Rzone、Gzone、Czone等單元域劃分,協助業務進行單元化改造,并在網關層、應用層、數據層以及管控層,都基于功能架構進行了獨立的能力建設,以適配上層應用的發展。輕舟中間件單元化建設包括了數據分片、數據路由、單元容災、單元互備、跨單元訪問、故障單元自動切流、流量糾錯、禁寫保護、水平擴展等實用能力。
裴明明還強調,網易數帆建設輕舟中間件平臺的核心目標,不僅僅是讓用戶能接入,而是要打造一個工具,能夠不斷沉淀經驗,并集成一些先進理念,形成一個完整的平臺體系,讓用戶更好地使用。輕舟中間件對經驗的沉淀主要分成兩個部分:一是網易落地大量中間件的使用經驗,如高性能,高可用高安全等最佳實踐;二是集群故障治愈、多維度監控、穩性管控等運維經驗,能有效降低用戶運維管理的門檻與成本。
收益與展望
目前,網易數帆輕舟中間件平臺已經廣泛應用于銀行、證券等行業多家頭部客戶。對于用戶而言,構建這樣一套云原生中間件體系具有三層收益。首先是賦能數字化建設,形成良性循環,這得益于統一技術平臺的快速接入,以及運維知識的沉淀和反哺。其次是利用云原生技術實現資源混部、資源超售、彈性調度,從而實現資源利用率的提升。此外是通過云原生實現自動化運維,提升運維人效。
展望未來,裴明明認為,網格化、無服務化和AIOps是云原生技術體系下中間件發展最值得關注的三個方面,這也是網易數帆在中間件領域的重要探索方向。