進(jìn)擊的云原生,為開(kāi)發(fā)者提供更多可能性
背景
云原生是云計(jì)算發(fā)展的必然產(chǎn)物,而云原生的持續(xù)生長(zhǎng)也絕非偶然。
2021年,云原生呈現(xiàn)怎樣的面貌、又帶來(lái)了哪些新變化?阿里云容器服務(wù)研發(fā)總監(jiān)易立近日在阿里云開(kāi)發(fā)者大會(huì)發(fā)表了《云原生應(yīng)用新邊界》的演講,并表示,云原生為開(kāi)發(fā)者提供了三方面便利:應(yīng)用基礎(chǔ)設(shè)施“零”維護(hù)、應(yīng)用架構(gòu)現(xiàn)代化“零”阻力、數(shù)字與物理世界“零”邊界。
云原生:因云而生
云原生是因云而生的技術(shù),它根植于開(kāi)發(fā)者,并提供最大云價(jià)值。
在 CNCF 2020 開(kāi)發(fā)者現(xiàn)狀報(bào)告中,現(xiàn)在全球有超過(guò) 470 萬(wàn)開(kāi)發(fā)者在使用云原生技術(shù),占全部后端開(kāi)發(fā)者的 36%。開(kāi)發(fā)者已經(jīng)成為云原生變革最主要的推動(dòng)力量。
應(yīng)用基礎(chǔ)設(shè)施“零”維護(hù)
容器、Serverless 等云原生技術(shù)持續(xù)推動(dòng)計(jì)算界面上移,復(fù)雜性下沉,讓開(kāi)發(fā)者可以關(guān)注于業(yè)務(wù)創(chuàng)新而非基礎(chǔ)設(shè)施,這樣可以極大提升研發(fā)效率。
阿里云為開(kāi)發(fā)者提供了全國(guó)最豐富的云原生產(chǎn)品,幫助企業(yè)專(zhuān)注于業(yè)務(wù)創(chuàng)新、而非基礎(chǔ)設(shè)施建設(shè)。企業(yè)可以通過(guò)容器服務(wù), 函數(shù)計(jì)算,服務(wù)網(wǎng)格,實(shí)現(xiàn)應(yīng)用架構(gòu)的互聯(lián)網(wǎng)化,在此之上,云原生數(shù)據(jù)庫(kù)、云原生 AI,云原生大數(shù)據(jù)等產(chǎn)品更可以幫助企業(yè)加速業(yè)務(wù)流程的數(shù)字化與智能化。
應(yīng)用架構(gòu)現(xiàn)代化“零”阻力
越來(lái)越多的企業(yè)希望通過(guò)應(yīng)用現(xiàn)代化改造,比如微服務(wù)化、Mesh 化,帶來(lái)新的的收益,更好地滿足業(yè)務(wù)發(fā)展的需求。不過(guò)新技術(shù)也會(huì)給現(xiàn)有應(yīng)用架構(gòu)帶來(lái)很大的沖擊。利用云原生技術(shù),可以循序漸進(jìn)將現(xiàn)有應(yīng)用架構(gòu)平滑升級(jí)。
在對(duì)現(xiàn)有應(yīng)用進(jìn)行現(xiàn)代化改造時(shí), 開(kāi)發(fā)者需要把一個(gè)單體應(yīng)用程序分拆為分布式的微服務(wù)架構(gòu), Spring Cloud / Dubbo 等微服務(wù)架構(gòu)都是以 SDK 代碼庫(kù)的方式把服務(wù)治理邏輯構(gòu)建在應(yīng)用程序之中。但這種架構(gòu)存在幾個(gè)問(wèn)題:
侵入性:在微服務(wù)框架中,服務(wù)治理能力的實(shí)現(xiàn)和生命周期與業(yè)務(wù)邏輯耦合在一起的。服務(wù)治理能力的變更和增強(qiáng)需要應(yīng)用的重新構(gòu)建和部署,導(dǎo)致升級(jí)和維護(hù)成本提升。
實(shí)現(xiàn)綁定:由于微服務(wù)框架代碼庫(kù)通常由特定語(yǔ)言實(shí)現(xiàn),難以支持多語(yǔ)言(polyglot)異構(gòu)系統(tǒng)之間的集成為挑戰(zhàn)。
因此,社區(qū)提出 Service Mesh(服務(wù)網(wǎng)格)架構(gòu) —— 將應(yīng)用的業(yè)務(wù)邏輯與服務(wù)治理能力解耦。服務(wù)治理的能力運(yùn)行在一個(gè)獨(dú)立的 Sidecar 進(jìn)程之中,獨(dú)立部署。通過(guò)網(wǎng)絡(luò)攔截來(lái)實(shí)現(xiàn)對(duì)應(yīng)用透明的服務(wù)發(fā)現(xiàn)、流量管理、可觀測(cè)性、安全等能力。
解決了上述侵入性、綁定的問(wèn)題,具體優(yōu)勢(shì)如下:
復(fù)雜性下沉:服務(wù)治理實(shí)現(xiàn)下沉到基礎(chǔ)設(shè)施,可以獨(dú)立演進(jìn)。使得開(kāi)發(fā)人員可以更加聚焦于業(yè)務(wù)應(yīng)用本身。
零侵入:無(wú)需代碼改造既可以實(shí)現(xiàn)零信任安全,可觀測(cè)性等高階能力。
多語(yǔ)言支持:可以透明支持多種編程語(yǔ)言和編程框架。
那么,微服務(wù)與服務(wù)網(wǎng)格是否非此即彼,魚(yú)與熊掌不可得兼?在進(jìn)行服務(wù)網(wǎng)格改造的同時(shí),如何與現(xiàn)有微服務(wù)架構(gòu)兼容并存?
隨著社區(qū)的努力,服務(wù)網(wǎng)格和微服務(wù)可以很好地結(jié)合在一起, 支撐企業(yè)微服務(wù)架構(gòu)平滑演進(jìn)。
阿里云提供的托管服務(wù)網(wǎng)格 ASM
支持 Dubbo 通信協(xié)議, 通過(guò)聲明式方式支持灰度發(fā)布、金絲雀發(fā)布、無(wú)損下線等能力。
利用阿里開(kāi)源的 Nacos 服務(wù)注冊(cè)中心,可以統(tǒng)一支持 Mesh 應(yīng)用和微服務(wù)應(yīng)用的服務(wù)注冊(cè)與發(fā)現(xiàn)。Nacos 2.0 性能提升 10 倍, 有效地支持大規(guī)模服務(wù)網(wǎng)格應(yīng)用落地。
Apache Dubbo 3.0 也在探索 Proxyless 式,也就是采用無(wú)代理方式支持服務(wù)網(wǎng)格; 在 Proxyless 模式下無(wú)需 Sidecar 即可直接通過(guò)服務(wù)網(wǎng)格的 UDPA 協(xié)議實(shí)現(xiàn)對(duì) Dubbo 應(yīng)用的流量管理。這種方式可以進(jìn)一步網(wǎng)絡(luò)延遲,減少資源開(kāi)銷(xiāo)。
服務(wù)網(wǎng)格也加強(qiáng)了對(duì)虛擬機(jī)應(yīng)用部署的支持,助力遺留應(yīng)用的平滑升級(jí)。
以東風(fēng)日產(chǎn)汽車(chē)為例,介紹企業(yè)的服務(wù)網(wǎng)格化遷移之路。首先,它的數(shù)據(jù)服務(wù)采用 Python / Java 等不同語(yǔ)言開(kāi)發(fā),Java 應(yīng)用使用 Dubbo 微服務(wù)框架,Python 使用 REST/HTTP 進(jìn)行服務(wù)調(diào)用,缺乏統(tǒng)一的服務(wù)治理能力;其次,虛擬機(jī)、容器化部署等多種方式并存,希望全面遷移到容器架構(gòu)。
通過(guò) ASM 服務(wù)網(wǎng)格, 無(wú)論 Python / Java 應(yīng)用,是虛擬機(jī)不是還是容器化部署, 都可以加入服務(wù)網(wǎng)格, 以統(tǒng)一的、聲明的方式實(shí)現(xiàn)服務(wù)治理。其中,現(xiàn)有 Dubbo 微服務(wù)應(yīng)用和網(wǎng)格中的應(yīng)用, 可以統(tǒng)一使用 Nacos 注冊(cè)中心實(shí)現(xiàn)服務(wù)注冊(cè)與發(fā)現(xiàn), 保持現(xiàn)有應(yīng)用架構(gòu)的兼容性。
數(shù)字與物理世界“零”邊界
數(shù)字化創(chuàng)新需要深入行業(yè),將物理和數(shù)字世界融合在一起,才能實(shí)現(xiàn)創(chuàng)新的業(yè)務(wù)價(jià)值。云邊端計(jì)算一體協(xié)同成為趨勢(shì),昨天的阿里云峰會(huì)描繪了未來(lái)云發(fā)展的方向,一云多芯,一云多形態(tài),云與 AIoT 相結(jié)合,這有這樣才能支撐無(wú)處不在的計(jì)算。而以容器為代表的云原生技術(shù),因?yàn)槠涿艚?、輕量、可移植的優(yōu)勢(shì),將成為下一代分布式云應(yīng)用的最重要的載體。
物流是數(shù)字化創(chuàng)新的典型場(chǎng)景,圍繞著人、貨、機(jī)、車(chē)四個(gè)維度,涉及大量的數(shù)據(jù)處理,智能調(diào)度等復(fù)雜業(yè)務(wù)場(chǎng)景。以申通快遞為例,每天涉及數(shù)億包裹的中轉(zhuǎn)、運(yùn)輸和派送。數(shù)字化技術(shù)在物流供應(yīng)鏈優(yōu)化方面發(fā)揮重要作用。申通快遞基于阿里云邊緣容器產(chǎn)品構(gòu)建了整體云邊端一體化架構(gòu)的物流云 PaaS 平臺(tái)。
PaaS 平臺(tái)在中心云負(fù)責(zé)分布式資源調(diào)度和應(yīng)用管理,大數(shù)據(jù)處理和智能化分析。
位于各地倉(cāng)儲(chǔ)中心的邊緣云節(jié)點(diǎn)結(jié)合 IoT 設(shè)備支持快遞業(yè)務(wù)的核心流程,掃描校驗(yàn)等操作在本地即可完成,降低了延遲,減少了對(duì)云端的強(qiáng)依賴(lài)。
這樣架構(gòu)能夠幫助企業(yè)成本下降 30%, 穩(wěn)定性從 99.9% 提升到 99.95%,不但支撐了日常的業(yè)務(wù)開(kāi)展,也能從容應(yīng)對(duì)雙十一這樣的業(yè)務(wù)高峰。
菜鳥(niǎo)物流云 PaaS 正是利用阿里云邊緣容器服務(wù) ACK@Edge,解決了計(jì)算下沉后的分布式資源調(diào)度、應(yīng)用管理、自治運(yùn)維等挑戰(zhàn)。而其背后的核心技術(shù)就是阿里云開(kāi)源的 OpenYurt 項(xiàng)目,該項(xiàng)目已經(jīng)成為 CNCF 沙箱項(xiàng)目。
邊緣計(jì)算面臨著算力分散,資源異構(gòu)以及弱網(wǎng)連接等技術(shù)挑戰(zhàn)。OpenYurt 是基于 Kubernetes 打造的云邊協(xié)同計(jì)算框架,具備邊緣應(yīng)用管理,邊緣自治自愈、邊緣算力管理等核心能力。
此外,OpenYurt 堅(jiān)持在原生 K8s 非侵入實(shí)現(xiàn),主打標(biāo)準(zhǔn)化和開(kāi)放性。在過(guò)去兩年 OpenYurt 已實(shí)現(xiàn)在 CDN、優(yōu)酷、菜鳥(niǎo)、工業(yè)大腦、城市大腦等行業(yè)的落地,也支撐了聲網(wǎng)、快手等客戶(hù)。
如果云是企業(yè)智能化的大腦,而 IoT 設(shè)備就是眼和手,實(shí)現(xiàn)了與物理世界的交互。利用 K8s 降低海量分布式設(shè)備的管理復(fù)雜性,可以將分布式應(yīng)用和 IoT 設(shè)備實(shí)現(xiàn)統(tǒng)一管理和更好的協(xié)同。將云原生與 IoT 相結(jié)合,會(huì)有巨大的創(chuàng)新機(jī)遇。
攜手VMware共建云原生IoT生態(tài)聚開(kāi)源社區(qū)合力打造領(lǐng)域標(biāo)準(zhǔn)
阿里云容器服務(wù)負(fù)責(zé)人易立、VMware 中國(guó)研發(fā)中心研發(fā)總監(jiān)路廣聯(lián)合宣布達(dá)成雙方在“云原生邊緣計(jì)算”領(lǐng)域的技術(shù)戰(zhàn)略合作,希望未來(lái)依托開(kāi)源社區(qū)力量,加速邊緣云原生生態(tài)系統(tǒng)的構(gòu)建,共同推動(dòng)云邊融合進(jìn)程,幫助更多企業(yè)全面擁抱數(shù)智化轉(zhuǎn)型升級(jí)。
基于共同的理想和愿景,OpenYurt 社區(qū)與 Linux 基金會(huì)下屬 EdgeX Foundry 社區(qū)會(huì)在邊緣計(jì)算、IoT、云原生領(lǐng)域深入合作:一方面,通過(guò)云原生方式重新定義 IoT 領(lǐng)域的設(shè)備管理模式,實(shí)現(xiàn)設(shè)備孿生能力;一方面,并利用 EdgeX Foundry 成熟的技術(shù)生態(tài),讓云原生應(yīng)用支持各種物聯(lián)網(wǎng)協(xié)議和設(shè)備。
阿里云開(kāi)源項(xiàng)目 OpenYurt 和由 VMware 共同發(fā)起并維護(hù)其中國(guó)社區(qū)的開(kāi)源項(xiàng)目 EdgeX Foundry 展開(kāi)深度合作,將幫助企業(yè)和邊緣業(yè)務(wù)開(kāi)發(fā)者在不需要對(duì) K8s 進(jìn)行任何改造的基礎(chǔ)下,輕松打造云邊端一體化協(xié)同的 IT 架構(gòu)。作為“即插即用”的開(kāi)源 IoT Edge 平臺(tái),Edge X Foundry(EdgeX)支持來(lái)自不同制造商,使用不同協(xié)議的設(shè)備。同時(shí),OpenYurt 通過(guò)原生插件即可將 Kubernetes 延伸至邊緣場(chǎng)景,并且支持所有的上游 Kubernetes 特性。
此外,會(huì)上宣布《阿里云云原生架構(gòu)實(shí)踐》正式出版。這是一部從技術(shù)和商業(yè)雙重視角剖析云原生如何賦能實(shí)際業(yè)務(wù)的著作,是阿里云智能云原生應(yīng)用平臺(tái)團(tuán)隊(duì)的經(jīng)驗(yàn)總結(jié),得到了阿里云智能總裁兼達(dá)摩院院長(zhǎng)張建鋒、阿里巴巴首席技術(shù)官程立、阿里云智能基礎(chǔ)產(chǎn)品事業(yè)部負(fù)責(zé)人蔣江偉等專(zhuān)家的聯(lián)袂推薦。
本書(shū)內(nèi)容全面,對(duì)云原生所涵蓋的技術(shù)和業(yè)務(wù)特性一覽無(wú)余,從設(shè)計(jì)原則、模式/反模式、技術(shù)選項(xiàng)、設(shè)計(jì)方法、行業(yè)案例等多個(gè)維度全面總結(jié)阿里云云原生架構(gòu)的方法論和實(shí)踐經(jīng)驗(yàn)。