進擊的云原生,為開發者提供更多可能性
背景
云原生是云計算發展的必然產物,而云原生的持續生長也絕非偶然。
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 平臺,Edge X Foundry(EdgeX)支持來自不同制造商,使用不同協議的設備。同時,OpenYurt 通過原生插件即可將 Kubernetes 延伸至邊緣場景,并且支持所有的上游 Kubernetes 特性。
此外,會上宣布《阿里云云原生架構實踐》正式出版。這是一部從技術和商業雙重視角剖析云原生如何賦能實際業務的著作,是阿里云智能云原生應用平臺團隊的經驗總結,得到了阿里云智能總裁兼達摩院院長張建鋒、阿里巴巴首席技術官程立、阿里云智能基礎產品事業部負責人蔣江偉等專家的聯袂推薦。
本書內容全面,對云原生所涵蓋的技術和業務特性一覽無余,從設計原則、模式/反模式、技術選項、設計方法、行業案例等多個維度全面總結阿里云云原生架構的方法論和實踐經驗。