6月26日,云原生領(lǐng)域頂級(jí)大會(huì)KubeCon + CloudNativeCon落下帷幕,作為云原生技術(shù)與應(yīng)用的領(lǐng)先企業(yè),阿里云全面展示了云原生產(chǎn)品家族、開(kāi)源全景圖,讓企業(yè)、開(kāi)發(fā)者輕松享受云的技術(shù)紅利。
如今,阿里云已經(jīng)成為國(guó)內(nèi)云原生領(lǐng)域開(kāi)源貢獻(xiàn)最全面的科技公司,涵蓋編排調(diào)度、作業(yè)管理、無(wú)服務(wù)器框架等:
●主導(dǎo)維護(hù)etcd、containerd、dragonfly等多個(gè)CNCF明星項(xiàng)目的發(fā)展,已有超過(guò)10個(gè)項(xiàng)目進(jìn)入CNCFlandscape;
●項(xiàng)目建設(shè)層面:積極建設(shè)Kubernetes項(xiàng)目,貢獻(xiàn)量位居全球前10;
●開(kāi)源生態(tài)支持:加入CNCF、OCI、CDF等基金會(huì),成為多個(gè)基金會(huì)的頂級(jí)會(huì)員,共建開(kāi)源生態(tài)。
大會(huì)期間,阿里云資深技術(shù)專家、中國(guó)首個(gè)CNCF TOC李響分享了阿里巴巴探索云原生技術(shù)的經(jīng)驗(yàn),以及應(yīng)對(duì)云原生應(yīng)用落地挑戰(zhàn)的方法。

大規(guī)模實(shí)踐是云原生落地的必經(jīng)之路
云原生是一種全新的理念,也是一套涉及整個(gè)IT技術(shù)棧協(xié)同的方法論,單純的產(chǎn)品研發(fā)遠(yuǎn)遠(yuǎn)不夠,只有經(jīng)歷了大規(guī)模的場(chǎng)景實(shí)踐才實(shí)現(xiàn)到全方位的效率提升,并實(shí)現(xiàn)落地。
十年前,阿里巴巴先于其它公司遇到了大規(guī)模流量的挑戰(zhàn),于是決定升級(jí)IT架構(gòu),并開(kāi)始通過(guò)容器實(shí)踐云原生技術(shù)體系解決流量壓力。在整個(gè)業(yè)界都還沒(méi)有任何范例可供參考的大背境下,逐漸摸索出了一套比肩全球一線技術(shù)公司并且服務(wù)于整個(gè)集團(tuán)的容器化基礎(chǔ)設(shè)施架構(gòu),開(kāi)啟了中國(guó)公司將云原生技術(shù)體系在電商、金融、制造等領(lǐng)域中大規(guī)模應(yīng)用的先河。
這個(gè)探索歷程雖然孤獨(dú),但卻被始終如一的堅(jiān)持至今。正是在這個(gè)孤注一擲的技術(shù)探索與奮進(jìn)的過(guò)程中,完整的經(jīng)歷了云原生技術(shù)浪潮里的所有關(guān)鍵節(jié)點(diǎn),不僅成為了這次技術(shù)革命的重要見(jiàn)證者,也逐漸成為中國(guó)云原生技術(shù)體系當(dāng)之無(wú)愧的推動(dòng)者與引領(lǐng)者之一。
毫無(wú)疑問(wèn),阿里巴巴的互聯(lián)網(wǎng)規(guī)模以及復(fù)雜業(yè)務(wù)場(chǎng)景是推動(dòng)云原生的天然優(yōu)勢(shì),在雙11成本壓力的推動(dòng)下,資源成本與效率優(yōu)化成了云原生的起點(diǎn)。也就是從容器入手,研究低成本虛擬化與調(diào)度技術(shù):
- 提供靈活、標(biāo)準(zhǔn)的部署單元;
- 將靜態(tài)資源分配更換為動(dòng)態(tài)按需調(diào)度,進(jìn)一步提升部署效率,解決資源碎片化問(wèn)題,提高部署密度;
- 通過(guò)存儲(chǔ)網(wǎng)絡(luò)虛擬化和存儲(chǔ)計(jì)算分離等技術(shù),增強(qiáng)任務(wù)的可遷移性,進(jìn)一步提高了資源的可靠性,降低了資源成本。
在資源成本的推動(dòng)下,阿里完成了全面容器化,資源分配也被高效調(diào)度平臺(tái)接管。而阿里的云原生并未止步于此,提高研發(fā)效率與加快迭代周期是推動(dòng)阿里業(yè)務(wù)增強(qiáng)的秘密武器。
為了降低應(yīng)用部署難度,提高部署自動(dòng)化程度,阿里開(kāi)始采用 Kubernetes 作為容器編排平臺(tái),并且持續(xù)推動(dòng) Kubernetes 的性能與可擴(kuò)展性,引入了諸如 Helm 的應(yīng)用標(biāo)準(zhǔn)化管理,與此同時(shí),也開(kāi)始探索服務(wù)網(wǎng)格,致力于進(jìn)一步提高服務(wù)治理的普適性與標(biāo)準(zhǔn)性,降低開(kāi)發(fā)者使用門檻。
今年3月,阿里云智能總裁張建鋒宣布阿里巴巴集團(tuán)未來(lái)兩年內(nèi)實(shí)現(xiàn)全站上云。經(jīng)過(guò)云原生的探索與改造,如今阿里基礎(chǔ)架構(gòu)體系是現(xiàn)代化和標(biāo)準(zhǔn)化的。
- 利用容器技術(shù),應(yīng)用與宿主機(jī)運(yùn)行時(shí)完成了解耦;
- 利用 Kubernetes 對(duì) Pod 與 Volume 等的抽象,完成了對(duì)多種資源實(shí)現(xiàn)的統(tǒng)一化;
- 通過(guò)智能調(diào)度與 PaaS 平臺(tái),讓自動(dòng)遷移應(yīng)用,修復(fù)不穩(wěn)定因素成為了可能,阿里通過(guò)云原生技術(shù)大大降低了上云的難度。
在提高資源和人員效率的過(guò)程中,整個(gè)基礎(chǔ)設(shè)施也變得更加開(kāi)放,連通開(kāi)源生態(tài),在交流互動(dòng)中不斷吸收和貢獻(xiàn)好的理念、技術(shù)、思想。如今,阿里云不僅支撐著中國(guó)最大的云原生應(yīng)用雙11,而且擁有國(guó)內(nèi)最大的公共云集群和鏡像倉(cāng)庫(kù)。作為唯一入選 Gartner 的公有云容器服務(wù)競(jìng)爭(zhēng)格局的廠商,阿里云也積累了最為豐富和寶貴的客戶實(shí)踐。

持續(xù)優(yōu)化,提升企業(yè)和開(kāi)發(fā)者效率
彈性和規(guī)模性是支撐阿里巴巴各種類型的復(fù)雜場(chǎng)景以及流量高峰的關(guān)鍵因素。阿里巴巴持續(xù)優(yōu)化性能,可以分為四個(gè)維度:工作負(fù)載追蹤、性能分析、定制化調(diào)度、大規(guī)模鏡像分發(fā)。首先對(duì)工作負(fù)載調(diào)度有完整的追蹤、重放機(jī)制,其次將所有性能問(wèn)題的進(jìn)行細(xì)致分析,逐一攻克技術(shù)瓶頸。
經(jīng)過(guò)不斷打磨,阿里巴巴在 Kubernetes 規(guī)模與性能上取得了顯著的成果:將存儲(chǔ)object 的數(shù)量提升25倍,支持的節(jié)點(diǎn)數(shù)從5000提升到上萬(wàn),在端到端調(diào)度延遲從5s變?yōu)?00ms等。
其中有不少工作和社區(qū)共同開(kāi)展,而這些研發(fā)成果都已經(jīng)貢獻(xiàn)給社區(qū),其他企業(yè)及開(kāi)發(fā)者也可以享受阿里巴巴規(guī)模帶來(lái)的技術(shù)紅利。
Kubernetes 本身的可定制性很強(qiáng),阿里巴巴針對(duì)自身業(yè)務(wù)場(chǎng)景沉淀了定制化的調(diào)度能力和鏡像分發(fā)系統(tǒng),例如開(kāi)源Dragonfly 項(xiàng)目脫胎于雙11,具備極強(qiáng)的鏡像分發(fā)能力。
整體來(lái)說(shuō),阿里巴巴落地 Kubernetes 可以分為三個(gè)階段:
- 首先通過(guò) Kubernetes 提供資源供給,但是不過(guò)多干擾運(yùn)維流程,這個(gè)系統(tǒng)容器是富容器,將鏡像標(biāo)準(zhǔn)化與輕量級(jí)虛擬化能力帶給了上面的 PaaS 平臺(tái)。
- 第二步,通過(guò) Kubernetes controller 的形式改造PaaS 平臺(tái)的運(yùn)維流程,給 PaaS 帶來(lái)更強(qiáng)的面向終態(tài)的自動(dòng)化能力。
- 最后把運(yùn)行環(huán)境等傳統(tǒng)重模式改成原生容器與 pod 的輕量模式,同時(shí)將 PaaS 能力完全移交給Kubernetes controller,從而形成一個(gè)完全云原生的架構(gòu)體系。
企業(yè)如何應(yīng)對(duì)云原生落地的挑戰(zhàn)?
阿里巴巴云原生的探索,起步于自研容器和調(diào)度系統(tǒng),到如今擁抱開(kāi)源的標(biāo)準(zhǔn)化技術(shù)。目前,Kubernetes已經(jīng)成為云原生生態(tài)的中流砥柱,它不僅向下屏蔽了底層細(xì)節(jié),而且向上支撐各種周邊業(yè)務(wù)生態(tài);另一方面,社區(qū)中有著越來(lái)越多圍繞 Kubernetes 構(gòu)建的開(kāi)源項(xiàng)目,比如Service Mesh、Kubeflow。
但云原生技術(shù)架構(gòu)演進(jìn)中也存在不少挑戰(zhàn),最為艱難的挑戰(zhàn)其實(shí)來(lái)自于 Kubernetes 本身的管理。因?yàn)镵ubernetes 相對(duì)年輕,其自身的運(yùn)維管理系統(tǒng)生態(tài)尚不完善。對(duì)于阿里而言,數(shù)以萬(wàn)計(jì)的集群管理至關(guān)重要,我們探索并總結(jié)了四個(gè)方法:
- Kubernetes on Kubernetes,利用 K8s 來(lái)管理 K8s 自身;
- 節(jié)點(diǎn)發(fā)布回滾策略,按規(guī)則要求灰度發(fā)布;
- 將環(huán)境進(jìn)行鏡像切分,分為模擬環(huán)境和生產(chǎn)環(huán)境;
- 并且在監(jiān)控側(cè)下足功夫,將Kubernetes 變得更白盒化和透明化,及早發(fā)現(xiàn)問(wèn)題、預(yù)防問(wèn)題、解決問(wèn)題。
此次 KubeCon 大會(huì)上,阿里云重磅公布了兩個(gè)項(xiàng)目:Cloud Native App Hub —— 面向所有開(kāi)發(fā)者的Kubernetes 應(yīng)用管理中心,OpenKruise —— 源自全球頂級(jí)互聯(lián)網(wǎng)場(chǎng)景的 Kubernetes 自動(dòng)化開(kāi)源項(xiàng)目集。
云原生應(yīng)用中心(Cloud Native App Hub)方便用戶獲得應(yīng)用資源,并大大簡(jiǎn)化了 Kubernetes 部署安裝一個(gè)應(yīng)用的步驟;OpenKruise/Kruise 項(xiàng)目致力于成為“云原生應(yīng)用自動(dòng)化引擎”,解決大規(guī)模應(yīng)用場(chǎng)景下的諸多運(yùn)維痛點(diǎn)。