6月26日,云原生領(lǐng)域頂級(jí)大會(huì)KubeCon + CloudNativeCon落下帷幕,作為云原生技術(shù)與應(yīng)用的領(lǐng)先企業(yè),阿里云全面展示了云原生產(chǎn)品家族、開源全景圖,讓企業(yè)、開發(fā)者輕松享受云的技術(shù)紅利。
如今,阿里云已經(jīng)成為國內(nèi)云原生領(lǐng)域開源貢獻(xiàn)最全面的科技公司,涵蓋編排調(diào)度、作業(yè)管理、無服務(wù)器框架等:
●主導(dǎo)維護(hù)etcd、containerd、dragonfly等多個(gè)CNCF明星項(xiàng)目的發(fā)展,已有超過10個(gè)項(xiàng)目進(jìn)入CNCFlandscape;
●項(xiàng)目建設(shè)層面:積極建設(shè)Kubernetes項(xiàng)目,貢獻(xiàn)量位居全球前10;
●開源生態(tài)支持:加入CNCF、OCI、CDF等基金會(huì),成為多個(gè)基金會(huì)的頂級(jí)會(huì)員,共建開源生態(tài)。
大會(huì)期間,阿里云資深技術(shù)專家、中國首個(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),并開始通過容器實(shí)踐云原生技術(shù)體系解決流量壓力。在整個(gè)業(yè)界都還沒有任何范例可供參考的大背境下,逐漸摸索出了一套比肩全球一線技術(shù)公司并且服務(wù)于整個(gè)集團(tuán)的容器化基礎(chǔ)設(shè)施架構(gòu),開啟了中國公司將云原生技術(shù)體系在電商、金融、制造等領(lǐng)域中大規(guī)模應(yīng)用的先河。
這個(gè)探索歷程雖然孤獨(dú),但卻被始終如一的堅(jiān)持至今。正是在這個(gè)孤注一擲的技術(shù)探索與奮進(jìn)的過程中,完整的經(jīng)歷了云原生技術(shù)浪潮里的所有關(guān)鍵節(jié)點(diǎn),不僅成為了這次技術(shù)革命的重要見證者,也逐漸成為中國云原生技術(shù)體系當(dāng)之無愧的推動(dòng)者與引領(lǐng)者之一。
毫無疑問,阿里巴巴的互聯(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)一步提升部署效率,解決資源碎片化問題,提高部署密度;
- 通過存儲(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)化程度,阿里開始采用 Kubernetes 作為容器編排平臺(tái),并且持續(xù)推動(dòng) Kubernetes 的性能與可擴(kuò)展性,引入了諸如 Helm 的應(yīng)用標(biāo)準(zhǔn)化管理,與此同時(shí),也開始探索服務(wù)網(wǎng)格,致力于進(jìn)一步提高服務(wù)治理的普適性與標(biāo)準(zhǔn)性,降低開發(fā)者使用門檻。
今年3月,阿里云智能總裁張建鋒宣布阿里巴巴集團(tuán)未來兩年內(nèi)實(shí)現(xiàn)全站上云。經(jīng)過云原生的探索與改造,如今阿里基礎(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)一化;
- 通過智能調(diào)度與 PaaS 平臺(tái),讓自動(dòng)遷移應(yīng)用,修復(fù)不穩(wěn)定因素成為了可能,阿里通過云原生技術(shù)大大降低了上云的難度。
在提高資源和人員效率的過程中,整個(gè)基礎(chǔ)設(shè)施也變得更加開放,連通開源生態(tài),在交流互動(dòng)中不斷吸收和貢獻(xiàn)好的理念、技術(shù)、思想。如今,阿里云不僅支撐著中國最大的云原生應(yīng)用雙11,而且擁有國內(nèi)最大的公共云集群和鏡像倉庫。作為唯一入選 Gartner 的公有云容器服務(wù)競(jìng)爭格局的廠商,阿里云也積累了最為豐富和寶貴的客戶實(shí)踐。

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