背景
雲原生是雲計算髮展的必然產物,而云原生的持續生長也絕非偶然。
2021年,雲原生呈現怎樣的面貌、又帶來了哪些新變化?阿里雲容器服務研發總監易立近日在阿里雲開發者大會發表了《雲原生應用新邊界》的演講,並表示,雲原生為開發者提供了三方面便利:應用基礎設施“零”維護、應用架構現代化“零”阻力、數字與物理世界“零”邊界。
雲原生:因雲而生
雲原生是因雲而生的技術,它根植於開發者,並提供最大雲價值。
在 CNCF 2020 開發者現狀報告中,現在全球有超過 470 萬開發者在使用雲原生技術,佔全部後端開發者的 36%。開發者已經成為雲原生變革最主要的推動力量。
應用基礎設施“零”維護
容器、Serverless 等雲原生技術持續推動計算界面上移,複雜性下沉,讓開發者可以關注於業務創新而非基礎設施,這樣可以極大提升研發效率。
阿里云為開發者提供了全國最豐富的雲原生產品,幫助企業專注於業務創新、而非基礎設施建設。企業可以通過容器服務, 函數計算,服務網格,實現應用架構的互聯網化,在此之上,雲原生數據庫、雲原生 AI,雲原生大數據等產品更可以幫助企業加速業務流程的數字化與智能化
應用架構現代化“零”阻力
越來越多的企業希望通過應用現代化改造,比如微服務化、Mesh 化,帶來新的的收益,更好地滿足業務發展的需求。不過新技術也會給現有應用架構帶來很大的衝擊。利用雲原生技術,可以循序漸進將現有應用架構平滑升級。
在對現有應用進行現代化改造時, 開發者需要把一個單體應用程序分拆為分佈式的微服務架構, Spring Cloud / Dubbo 等微服務架構都是以 SDK 代碼庫的方式把服務治理邏輯構建在應用程序之中。但這種架構存在幾個問題:
- 侵入性:在微服務框架中,服務治理能力的實現和生命週期與業務邏輯耦合在一起的。服務治理能力的變更和增強需要應用的重新構建和部署,導致升級和維護成本提升。
- 實現綁定:由於微服務框架代碼庫通常由特定語言實現,難以支持多語言(polyglot)異構系統之間的集成為挑戰。
因此,社區提出 Service Mesh(服務網格)架構 —— 將應用的業務邏輯與服務治理能力解耦。服務治理的能力運行在一個獨立的 Sidecar 進程之中,獨立部署。通過網絡攔截來實現對應用透明的服務發現、流量管理、可觀測性、安全等能力。
解決了上述侵入性、綁定的問題,具體優勢如下:
- 複雜性下沉:服務治理實現下沉到基礎設施,可以獨立演進。使得開發人員可以更加聚焦於業務應用本身。
- 零侵入:無需代碼改造既可以實現零信任安全,可觀測性等高階能力。
- 多語言支持:可以透明支持多種編程語言和編程框架。
那麼,微服務與服務網格是否非此即彼,魚與熊掌不可得兼?在進行服務網格改造的同時,如何與現有微服務架構兼容並存?
隨著社區的努力,服務網格和微服務可以很好地結合在一起, 支撐企業微服務架構平滑演進。
阿里雲提供的託管服務網格 ASM
- 支持 Dubbo 通信協議, 通過聲明式方式支持灰度發佈、金絲雀發佈、無損下線等能力。
- 利用阿里開源的 Nacos 服務註冊中心,可以統一支持 Mesh 應用和微服務應用的服務註冊與發現。Nacos 2.0 性能提升 10倍, 有效地支持大規模服務網格應用落地。
- Apache Dubbo 3.0 也在探索 Proxyless 式,也就是採用無代理方式支持服務網格; 在Proxyless模式下無需sidecar即可直接通過服務網格的 UDPA 協議實現對 Dubbo 應用的流量管理。這種方式可以進一步網絡延遲,減少資源開銷。
- 服務網格也加強了對虛擬機應用部署的支持,助力遺留應用的平滑升級。
以東風日產汽車為例,介紹企業的服務網格化遷移之路。首先,它的數據服務採用 Python/Java 等不同語言開發,Java 應用使用 Dubbo 微服務框架,Python 使用 REST/HTTP 進行服務調用,缺乏統一的服務治理能力;其次,虛擬機、容器化部署等多種方式並存,希望全面遷移到容器架構。
通過 ASM 服務網格, 無論 Python/Java 應用,是虛擬機不是還是容器化部署, 都可以加入服務網格, 以統一的、聲明的方式實現服務治理。其中,現有 Dubbo 微服務應用和網格中的應用, 可以統一使用 Nacos 註冊中心實現服務註冊與發現, 保持現有應用架構的兼容性。
數字與物理世界“零”邊界
數字化創新需要深入行業,將物理和數字世界融合在一起,才能實現創新的業務價值。雲邊端計算一體協同成為趨勢,昨天的阿里雲峰會描繪了未來雲發展的方向,一雲多芯,一雲多形態,雲與 AIoT 相結合,這有這樣才能支撐無處不在的計算。而以容器為代表的雲原生技術,因為其敏捷、輕量、可移植的優勢,將成為下一代分佈式雲應用的最重要的載體。
物流是數字化創新的典型場景,圍繞著人、貨、機、車四個維度,涉及大量的數據處理,智能調度等複雜業務場景。以申通快遞為例,每天涉及數億包裹的中轉、運輸和派送。數字化技術在物流供應鏈優化方面發揮重要作用。申通快遞基於阿里雲邊緣容器產品構建了整體雲邊端一體化架構的物流雲 PaaS 平臺。
- PaaS 平臺在中心雲負責分佈式資源調度和應用管理,大數據處理和智能化分析。
- 位於各地倉儲中心的邊緣雲節點結合 IoT 設備支持快遞業務的核心流程,掃描校驗等操作在本地即可完成,降低了延遲,減少了對雲端的強依賴。
這樣架構能夠幫助企業成本下降 30%, 穩定性從 99.9% 提升到 99.95%,不但支撐了日常的業務開展,也能從容應對雙十一這樣的業務高峰。
菜鳥物流雲 PaaS 正是利用阿里雲邊緣容器服務 ACK@Edge,解決了計算下沉後的分佈式資源調度、應用管理、自治運維等挑戰。而其背後的核心技術就是阿里雲開源的 OpenYurt 項目,該項目已經成為 CNCF 沙箱項目。
邊緣計算面臨著算力分散,資源異構以及弱網連接等技術挑戰。OpenYurt 是基於 Kubernetes 打造的雲邊協同計算框架,具備邊緣應用管理,邊緣自治自愈、邊緣算力管理等核心能力。
此外,OpenYurt 堅持在原生 K8s 非侵入實現,主打標準化和開放性。在過去兩年OpenYurt 已實現在 CDN、優酷、菜鳥、工業大腦、城市大腦等行業的落地,也支撐了聲網、快手等客戶。
如果雲是企業智能化的大腦,而 IoT 設備就是眼和手,實現了與物理世界的交互。利用 K8s 降低海量分佈式設備的管理複雜性,可以將分佈式應用和 IoT 設備實現統一管理和更好的協同。將雲原生與 IoT 相結合,會有巨大的創新機遇。
攜手VMware共建雲原生IoT生態,聚開源社區合力打造領域標準
阿里雲容器服務負責人易立、VMware 中國研發中心研發總監路廣聯合宣佈達成雙方在“雲原生邊緣計算”領域的技術戰略合作,希望未來依託開源社區力量,加速邊緣雲原生生態系統的構建,共同推動雲邊融合進程,幫助更多企業全面擁抱數智化轉型升級。
基於共同的理想和願景,OpenYurt 社區與 Linux 基金會下屬 EdgeX Foundry 社區會在邊緣計算、IoT、雲原生領域深入合作:一方面,通過雲原生方式重新定義 IoT 領域的設備管理模式,實現設備孿生能力;一方面,並利用 EdgeX Foundry 成熟的技術生態,讓雲原生應用支持各種物聯網協議和設備。
阿里雲開源項目 OpenYurt 和由 VMware 共同發起並維護其中國社區的開源項目 EdgeX Foundry 展開深度合作,將幫助企業和邊緣業務開發者在不需要對 K8s 進行任何改造的基礎下,輕鬆打造雲邊端一體化協同的 IT 架構。作為“即插即用”的開源 IoT Edge 平臺,EdgeX Foundry(EdgeX)支持來自不同製造商,使用不同協議的設備。同時,OpenYurt 通過原生插件即可將 Kubernetes 延伸至邊緣場景,並且支持所有的上游 Kubernetes 特性。
讀者福利
繼阿里巴巴向社區發佈雲原生架構白皮書之後,阿里雲重磅發佈《阿里云云原生架構實踐》一書,提供更為詳盡的技術細節及落地場景案例,這本書得到了阿里雲智能總裁、達摩院院長張建鋒、阿里巴巴 CTO 程立的大力推薦。
現在發起讀者送書活動, 掃下方二維碼找到《進擊的雲原生,為開發者提供更多可能性》一文,評論區留言:
#互動話題:如果用一個形象或者一個詞來代替雲原生,你覺得是什麼,為什麼?
評論點贊量最多的三位讀者,每人可以獲得《阿里云云原生架構實踐》一本。