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


