阿里云叔同:以容器为代表的云原生技术,已成为释放云价值的最短路径
作者 | 丁宇(叔同)?阿里云智能容器平臺(tái)負(fù)責(zé)人?、劉丹
2019 年阿里巴巴 雙11 核心系統(tǒng) 100% 以云原生的方式上云,完美支撐了 54.4w 峰值流量以及 2684 億的成交量。隨著阿里巴巴經(jīng)濟(jì)體云原生技術(shù)的全面升級(jí),容器性能、穩(wěn)定性及在線率也得到了全面提升。本文作者將從云計(jì)算時(shí)代容器的發(fā)展路徑為出發(fā)點(diǎn),剖析阿里云的容器技術(shù)演進(jìn)歷程,借此探析整個(gè)行業(yè)的發(fā)展趨勢(shì)。
以容器為代表的云原生技術(shù),成為云時(shí)代釋放云價(jià)值的最短路徑
過去我們常以虛擬化作為云平臺(tái)和與客戶交互的界面,為企業(yè)帶來靈活性的同時(shí)也帶來一定的管理復(fù)雜度;容器的出現(xiàn),在虛擬化的基礎(chǔ)上向上封裝了一層,逐步成為云平臺(tái)和與客戶交互的新界面之一,應(yīng)用的構(gòu)建、分發(fā)和交付得以在這個(gè)層面上實(shí)現(xiàn)標(biāo)準(zhǔn)化,大幅降低了企業(yè) IT 實(shí)施和運(yùn)維成本,提升了業(yè)務(wù)創(chuàng)新的效率。
從技術(shù)發(fā)展的維度看,開源讓云計(jì)算變得越來越標(biāo)準(zhǔn)化,容器已經(jīng)成為應(yīng)用分發(fā)和交付的標(biāo)準(zhǔn),可以將應(yīng)用與底層運(yùn)行環(huán)境解耦;Kubernetes 成為資源調(diào)度和編排的標(biāo)準(zhǔn),屏蔽了底層架構(gòu)的差異性,幫助應(yīng)用平滑運(yùn)行在不同的基礎(chǔ)設(shè)施上;在此基礎(chǔ)上建立的上層應(yīng)用抽象如微服務(wù)和服務(wù)網(wǎng)格,逐步形成應(yīng)用架構(gòu)現(xiàn)代化演進(jìn)的標(biāo)準(zhǔn),開發(fā)者只需要關(guān)注自身的業(yè)務(wù)邏輯,無需關(guān)注底層實(shí)現(xiàn),云原生正在通過方法論、工具集和理念重塑整個(gè)軟件技術(shù)棧和生命周期。
“以容器為代表的云原生技術(shù),用開放、標(biāo)準(zhǔn)的技術(shù)體系,幫助企業(yè)和開發(fā)者在云上構(gòu)建和運(yùn)行可彈性擴(kuò)展、容錯(cuò)性好、易于管理、便于觀察的系統(tǒng),已經(jīng)成為釋放云價(jià)值的最短路徑。”在提及容器演進(jìn)歷程中叔同強(qiáng)調(diào)道。最早創(chuàng)造和應(yīng)用容器技術(shù)的是互聯(lián)網(wǎng)公司,今天有了開放標(biāo)準(zhǔn)的云原生生態(tài),使得容器技術(shù)得到迅速普及,越來越多的企業(yè)和開發(fā)者使用容器構(gòu)建應(yīng)用,共同享受這一技術(shù)紅利。
目前企業(yè)級(jí)用戶對(duì)于容器技術(shù)有何新的需求呢?對(duì)此,叔同表示:**云原生應(yīng)用落地過程中,安全性是企業(yè)用戶最為關(guān)注的需求之一。**傳統(tǒng)的 RunC 容器與宿主機(jī) Linux 共享內(nèi)核,通過 CGroup 和 namespace 提供有限的隔離性,隨著越來越多的企業(yè)客戶開始關(guān)注容器安全,近兩年新型高隔離、安全的運(yùn)行時(shí)開始出現(xiàn),包括 MircoVM ?(Kata Container、FireCracker) 方向和 gVisor 安全沙箱方向。
阿里云和螞蟻金服團(tuán)隊(duì)合作,引入安全沙箱容器技術(shù),于 2019 年 9 月發(fā)布了基于輕量虛擬化技術(shù)的 RunV 安全沙箱,相比于 RunC 容器,每個(gè) RunV 容器具有獨(dú)立內(nèi)核,即使容器所屬內(nèi)核被攻破,也不會(huì)影響其他容器。阿里云容器服務(wù)提供了端到端的云原生安全架構(gòu),包括基礎(chǔ)設(shè)施安全、軟件供應(yīng)鏈安全和運(yùn)行時(shí)安全,為企業(yè)提供全方位、立體化、多層次的安全防護(hù)。
第二個(gè)需求是混合云架構(gòu),上云已是大勢(shì)所趨,很多客戶由于業(yè)務(wù)原因會(huì)考慮混合云的方式,不同云環(huán)境的基礎(chǔ)設(shè)施和安全架構(gòu)差異會(huì)造成企業(yè) IT 和運(yùn)維體系的割裂,加大管理復(fù)雜性。
在云原生時(shí)代,以容器、Kubernetes 為代表的技術(shù)屏蔽了基礎(chǔ)設(shè)施差異,作為底座推動(dòng)了以應(yīng)用為中心的混合云 2.0 架構(gòu)到來,滿足了用戶訴求。同時(shí)企業(yè)在運(yùn)營(yíng)效率、研發(fā)效率、運(yùn)行成本以及系統(tǒng)容錯(cuò)性、可維護(hù)性等方面,也提出了更高的要求。阿里云在整個(gè)容器產(chǎn)品的研發(fā)過程中,致力于解決企業(yè)痛點(diǎn),盡管各個(gè)企業(yè)對(duì)于上云的訴求有諸多不同,但容器和云原生作為一種普適技術(shù),可以滿足不同企業(yè)不同層次的需求。
談及阿里云對(duì)于容器技術(shù)與產(chǎn)品的創(chuàng)新,叔同強(qiáng)調(diào),“阿里云希望在云原生領(lǐng)域繼續(xù)走社區(qū)路線,和開源技術(shù)完全兼容,利用阿里巴巴經(jīng)濟(jì)體的規(guī)模復(fù)雜度和阿里云客戶的場(chǎng)景豐富度,不斷創(chuàng)新,形成云原生的技術(shù)領(lǐng)先并回饋社區(qū)共建標(biāo)準(zhǔn)。2019 年年初我們將云原生大規(guī)模生產(chǎn)落地最佳實(shí)踐沉淀下來,以開源項(xiàng)目 OpenKruise 的方式向社區(qū)開放,一方面幫助企業(yè)客戶在云原生的探索過程中,少走彎路減少技術(shù)碎片化;一方面推動(dòng)上游社區(qū)逐漸完善和豐富應(yīng)用自動(dòng)化管理能力。
在 2019 年 10 月,阿里云聯(lián)合微軟一起發(fā)布開放應(yīng)用模型 Open Application Model(OAM),OAM 是專注于描述應(yīng)用生命周期的標(biāo)準(zhǔn)規(guī)范,可以幫助應(yīng)用開發(fā)者、應(yīng)用運(yùn)維人員和基礎(chǔ)架構(gòu)運(yùn)維團(tuán)隊(duì)更好地進(jìn)行協(xié)同。在這個(gè)模型里開發(fā)人員負(fù)責(zé)定義應(yīng)用組成、依賴與架構(gòu);應(yīng)用運(yùn)維人員負(fù)責(zé)定義應(yīng)用運(yùn)行時(shí)配置與運(yùn)維需求,比如發(fā)布策略和監(jiān)控指標(biāo),而基礎(chǔ)架構(gòu)運(yùn)維團(tuán)隊(duì)可以針對(duì)應(yīng)用部署環(huán)境的不同,配置定制化參數(shù),通過這種關(guān)注點(diǎn)分離的設(shè)計(jì),可以將應(yīng)用定義、運(yùn)維能力與基礎(chǔ)設(shè)施實(shí)現(xiàn)解耦,讓應(yīng)用交付變得更加高效、可靠和自動(dòng)化,解決行業(yè)痛點(diǎn)。
Serverless 通過更高層次的抽象,讓開發(fā)者免去資源管理、日常運(yùn)維等工作,做到簡(jiǎn)化研發(fā)、極致彈性、按用付費(fèi)。阿里云打造了函數(shù)計(jì)算產(chǎn)品 FunctionCompute:
- 提供了事件驅(qū)動(dòng)的編程方式;
- 提供了面向應(yīng)用的 Serverless 應(yīng)用托管平臺(tái) SAE,用戶只需提供應(yīng)用實(shí)現(xiàn),而平臺(tái)負(fù)責(zé)彈性、自動(dòng)化運(yùn)維;
- 提供了面向容器的 Serverless 產(chǎn)品 ECI 和 Serverless ?Kubernetes,另一方面也在推動(dòng)一些傳統(tǒng)技術(shù)的 Serverless 化,例如數(shù)據(jù)庫和消息中間件。
在技術(shù)創(chuàng)新的驅(qū)動(dòng)下,阿里云希望成為云原生最佳的產(chǎn)品實(shí)現(xiàn),繼續(xù)發(fā)揮國(guó)內(nèi)最大規(guī)模的云原生應(yīng)用實(shí)踐、國(guó)內(nèi)最豐富的云原生產(chǎn)品家族、國(guó)內(nèi)最大的云原生客戶群體、國(guó)內(nèi)最全面的云原生開源貢獻(xiàn)的優(yōu)勢(shì),服務(wù)更廣泛的企業(yè)客戶和開發(fā)者。”
十一年 雙11 的云化架構(gòu)演進(jìn)與升級(jí),造就容器技術(shù)最好的創(chuàng)新土壤
“阿里云與其他云廠商最大的不同,就是阿里巴巴的核心業(yè)務(wù)運(yùn)行在云上,形成最好的創(chuàng)新土壤,也就是說我們最先進(jìn)的技術(shù),首先會(huì)在阿里巴巴自己的業(yè)務(wù)體系中進(jìn)行嘗試,得到了大規(guī)模的運(yùn)用,證明其技術(shù)的普適性與價(jià)值后再開放給客戶。”
在談及阿里云容器化進(jìn)展時(shí),叔同強(qiáng)調(diào):任何技術(shù)都會(huì)在阿里巴巴自己的業(yè)務(wù)體系中得到嘗試與應(yīng)用, 2011 年阿里云開始邁進(jìn)容器大門,2013 年 Docker 問世,阿里云容器迅速融合其先進(jìn)理念,并在 2015 年推進(jìn)集團(tuán)業(yè)務(wù)全面的容器化演進(jìn),而這一系列的發(fā)展與演進(jìn)其實(shí)都離不開 雙11 大促的需求,例如全面容器化幫助 雙11 大促實(shí)現(xiàn)快速彈性擴(kuò)容。
在 雙11 活動(dòng)的歷練中,數(shù)以百萬的容器支撐著 雙11 活動(dòng)順利進(jìn)行。由于業(yè)務(wù)的超大規(guī)模使得其復(fù)雜程度非常高,這也為容器技術(shù)帶來了更大的挑戰(zhàn)。例如在容器鏡像分發(fā)過程中,一次發(fā)布分發(fā)幾萬個(gè)鏡像,這樣巨大的流量是一個(gè)不小的挑戰(zhàn)。為實(shí)現(xiàn)效率的極致要求,阿里云利用 P2P 技術(shù),實(shí)現(xiàn)大規(guī)模大批量的快速分發(fā),實(shí)現(xiàn) 10 秒內(nèi)完成跨機(jī)房鏡像下載容器啟動(dòng)。
容器技術(shù)對(duì)于 雙11 的顯著影響還包括在具體的混部技術(shù)實(shí)施中,叔同表示通過混部技術(shù),阿里巴巴集團(tuán)范圍內(nèi)能夠節(jié)省 30% 左右的 IT 成本支出,能夠在 雙11 這個(gè)特殊時(shí)間段里,將每萬筆交易成本下降超過 75%。
容器、微服務(wù)、人工智能未來趨勢(shì):協(xié)作、融合
容器技術(shù)已經(jīng)獲得了業(yè)界的廣泛認(rèn)可,在未來的發(fā)展前景,不僅取決于其在技術(shù)領(lǐng)域的卓越表現(xiàn),同時(shí)也需要與更多的技術(shù)相融合,從而成為與時(shí)代共同進(jìn)步的成功產(chǎn)品技術(shù)。
早期 Kubernetes 上主要運(yùn)行無狀態(tài)的 Web 應(yīng)用,比如基于 Apache Dubbo/Spring Cloud 的微服務(wù)應(yīng)用,現(xiàn)在越來越多的企業(yè)核心業(yè)務(wù)、數(shù)據(jù)智能業(yè)務(wù)和創(chuàng)新業(yè)務(wù)也運(yùn)行在 Kubernetes 之上。以阿里云自身的云產(chǎn)品舉例,包括企業(yè)級(jí)分布式應(yīng)用服務(wù) EDAS 、實(shí)時(shí)計(jì)算平臺(tái) Flink 、彈性 AI 算法服務(wù) EAS 、區(qū)塊鏈平臺(tái) BaaS 都部署在阿里云 Kubernetes 服務(wù) ACK 之上。
從應(yīng)用架構(gòu)演進(jìn)來看,容器的發(fā)展促進(jìn)了微服務(wù)的發(fā)展。微服務(wù)在早期落地遇到的大問題是架構(gòu)拆分導(dǎo)致的運(yùn)維復(fù)雜度和環(huán)境不一致,正是通過容器對(duì)應(yīng)用和其運(yùn)行環(huán)境的打包和隔離,很好的解決微服務(wù)體系的痛點(diǎn),讓微服務(wù)得以快速發(fā)展。微服務(wù)架構(gòu)的引入解決了一些問題的同時(shí),入侵了研發(fā)框架,框架迭代和研發(fā)迭代被耦合,并且在多語言環(huán)境的支持不夠友好,在管理上也更加復(fù)雜。因此社區(qū)開始嘗試 Service Mesh,逐漸把微服務(wù)能力從框架能力下沉為平臺(tái)能力,可以看到容器與微服務(wù)在互相促進(jìn)。
**“云原生與 AI 是絕佳搭檔,兩者是相互賦能的。”**在提及 AI 與容器的融合時(shí)叔同強(qiáng)調(diào)。首先 AI 是新興領(lǐng)域,架構(gòu)上沒有那么多歷史包袱,另外 AI ?計(jì)算本身對(duì)彈性、資源效率和部署效率有所要求,容器技術(shù)可以解決上述問題。GPU、FPGA、專有的 ASIC 芯片等新架構(gòu),帶來巨大算力提升的同時(shí)也帶來管理維護(hù)的難度,利用 Kubernetes 提供對(duì)異構(gòu)資源的統(tǒng)一管理和高效調(diào)度,提升彈性支持細(xì)粒度共享,可以提升資源利用率 3 到 5 倍。
AI 對(duì)于容器云原生技術(shù)同樣幫助巨大,AI 往往代表著業(yè)務(wù)場(chǎng)景,這對(duì)于云原生技術(shù)如何更為普適通用提供了豐富的驗(yàn)證空間,從而提升了云原生技術(shù)的成熟度。
容器技術(shù)出現(xiàn)已經(jīng)超過 6 年,Kubernetes 的快速發(fā)展已不是新聞,但這并不意味著容器技術(shù)的生態(tài)系統(tǒng)已經(jīng)發(fā)展平緩。相反的是,容器及其周邊的技術(shù)體系還在保持高速發(fā)展。
談及未來關(guān)注的新技術(shù)、新方向,叔同坦承要讓容器走到所有的環(huán)境中,不僅是傳統(tǒng) IDC,更要走到公共云、專有云、邊緣節(jié)點(diǎn)、物聯(lián)網(wǎng)、大數(shù)據(jù)、AI 等各種場(chǎng)景中,希望運(yùn)用云原生技術(shù)降低云計(jì)算的使用門檻,真正實(shí)現(xiàn)云上拐點(diǎn)。
點(diǎn)擊下載《不一樣的 雙11 技術(shù):阿里巴巴經(jīng)濟(jì)體云原生實(shí)踐》
本書亮點(diǎn)
- 雙11 超大規(guī)模 K8s 集群實(shí)踐中,遇到的問題及解決方法詳述
- 云原生化最佳組合:Kubernetes 容器 神龍,實(shí)現(xiàn)核心系統(tǒng) 100% 上云的技術(shù)細(xì)節(jié)
- 雙 11 Service Mesh 超大規(guī)模落地解決方案
“阿里巴巴云原生關(guān)注微服務(wù)、Serverless、容器、Service Mesh 等技術(shù)領(lǐng)域、聚焦云原生流行技術(shù)趨勢(shì)、云原生大規(guī)模的落地實(shí)踐,做最懂云原生開發(fā)者的技術(shù)圈。”
總結(jié)
以上是生活随笔為你收集整理的阿里云叔同:以容器为代表的云原生技术,已成为释放云价值的最短路径的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kubernetes v1.17 版本解
- 下一篇: 从零开始入门 K8s | etcd 性能