在雲原生浪潮的推動下,容器和 Kubernetes 技術和應用發展迅猛。最近,雲原生計算基金會 CNCF 釋出了與 SlashData 聯手撰寫的 最新版《雲原生開發現狀報告》,該報告顯示,「Kubernetes 在過去的 12 個月取得了令人矚目的增長——今天,全球共有 560 萬開發人員在使用 Kubernetes。對於那些擁有 500 多名員工的大型組織而言,Kubernetes 和容器的採用率猛增,這意味著 Kubernetes 已經完全滿足企業的需求。很多時候,開發人員甚至在沒有意識到 Kubernetes 的情況下就在使用它。」
雲原生已經成為數位經濟技術的創新基石,與此同時,容器正在成為企業使用雲的新介面,為企業的計算基礎設施、應用架構、組織文化和研發流程帶來新一輪變革。最近,阿里雲容器服務團隊幾位核心成員在一次訪談中,分享了他們對企業級容器應用市場的變化和 2022 年容器技術重點發展方向的趨勢觀察。本文希望結合 2021 年阿里云云原生容器服務的重點事件,幫助大家梳理雲原生容器領域的核心發展脈絡,把握技術趨勢走向。
盤點:2021 阿里云云原生容器服務大事記
1. 全面升級,讓雲的邊界拓展至企業需要的每個場景
2021 年 9 月,阿里雲容器服務宣佈全面升級為 ACK Anywhere,並行布 ACK 發行版、ACK 敏捷版、ACK ONE 分散式雲容器平臺;以及面向異構計算支撐、資源排程、網路、雲原生 AI、智慧化運維、雲原生製品分發等六大方向的優化升級。升級後的 ACK Anywhere 擁有「一致體驗、彈性算力、能力下沉、簡化容災」四大核心能力,使企業在任何業務場景下使用容器服務時,都能實現統一叢集管理、統一資源排程、統一資料容災和統一應用交付。
2. 挖掘潛能,支撐新一代容器架構升級
隨著企業對容器的擁抱更加積極,對容器核心技術的啟動效率、資源開銷、排程效率都有了更高的要求,阿里雲容器團隊也支援了新一代的容器架構升級,通過對容器、裸金屬、作業系統等全棧優化,持續挖掘容器的潛能。
-
高效排程:全新升級 Cybernetes 排程器,支援對多架構神龍的 NUMA 負載感知、拓撲排程和細粒度的資源隔離和混部,提升應用效能 30%。此外,在排程器上做了大量端到端優化,在 1000 節點規模叢集中,可以提供 20000Pods/min 以上的排程速度,確保線上服務和離線任務都能高效地執行在 Kubernetes 上;
-
高效能容器網路:最新一代的阿里雲容器網路 Terway 3.0,一方面通過神龍晶片 offload 虛擬化網路開銷,一方面在 OS 核心中通過 eBPF 實現容器 Service 轉發和網路策略,真正實現零損耗,高效能。
-
容器優化 OS:面向容器場景,推出輕量、快速、安全、映象原子管理的容器優化作業系統 LifseaOS,相比傳統作業系統軟體包數量減少 60%,映象大小減少 70%,OS 首次啟動從傳統 OS 的 1min 以上下降到了 2s 左右。支援映象唯讀和 ostree 技術,將 OS 映象版本化管理,更新作業系統上的軟體包、或者固化的設定時,以整個映象為粒度進行更新。
-
高密部署極致彈性:基於阿里雲安全沙箱容器 2.0,優化沙箱容器內的資源開銷,最小可達 30M 左右,實現了在單一物理機上的 2000 範例的高密服務能力。同時通過管控鏈路的縮短以及元件的精簡,並輔以對沙箱記憶體分配流程、host cgroup 管理流程和 IO 鏈路的優化,實現了 Serverless 場景的 6 秒 3000 彈性容器範例的彈效能力。
3. 行業引領,技術成熟度與產品豐富度持續保持全球領先
-
4 月,Gartner 釋出 2021 年容器競爭格局報告,阿里雲成為國內唯一連續三年入選的中國企業,產品豐富度與成熟度持續保持全球領先水平。與往年相比,在 Kubernetes 支援、容器映象、Serverless 容器、服務網格等傳統維度基礎上,本次報告新增了叢集部署形態和管控平面兩個維度,阿里雲容器產品再次獲得國際高度認可。
-
5月,在 2021 雲原生產業大會中,阿里雲容器服務 ACK/Serverless Kubernetes (ASK + ECI)、阿里雲服務網格 ASM 解決方案被中國信通院評為 2021 年度雲原生技術創新解決方案/產品。
-
6 月,阿里雲邊緣容器服務 ACK@Edge 通過信通院 33 項測評,獲得「2021 雲邊協同能力認證」,基於 ACK@Edge 實現的申通快遞 IoT 雲邊端架構,入選「2021 分散式雲與雲邊協同十佳實踐案例」。
-
7 月,在 2021 年可信雲大會中,中國信通院公佈了多項可信雲認證的評估結果。其中申通基於阿里雲邊緣容器 ACK@Edge 的 IoT 雲邊端架構獲可信雲使用者最佳實踐(申通-阿里雲邊緣容器),包括 Serverless 容器服務 ASK 在內的無伺服器架構、阿里雲服務網格 ASM 獲得專項首批先進級認證。
-
8 月,容器服務 ACK 作為阿里雲上最優的容器執行環境、容器映象服務 ACR 作為最優的容器應用分發基礎設施,通過高效穩定、極致彈性、安全智慧等能力的輸出 ,推動國際賽事以雲原生的方式加速向數位化演進發展。
-
11 月,統一排程技術成功支援 2021 年雙 11 大促,實現了從容器排程到快上快下全流程的全面升級和優化,幫助阿里雙 11 大促成本降低 50%,生產環境常態化 CPU 利用率 65%。
-
12 月,阿里雲邊緣雲原生一體機通過信通院 67 項測評,獲得「邊緣一體機能力要求認證」。
4. 開源開放,攜生態夥伴構築邊緣、AI、安全、多叢集等場景下容器能力版圖
-
1 月,OpenYurt 憑藉業界首個開源非侵入式邊緣計算雲原生平臺的技術優勢,入選邊緣計算社群評選的「 2020 年邊緣計算領域十大熱門開源專案」。
-
3 月,阿里雲與 GitHub 聯合釋出了快速部署至阿里雲 ACK 的 GitHub Action Workflow。開發者無需自建部署維護 CI/CD 工具,基於開箱即用的 GitHub Action 及阿里雲部署模板,即可實現 GitHub 程式碼變更後,自動應用打包構建上傳阿里雲容器映象服務 ACR、快速部署至阿里雲容器服務 ACK 的流程。
-
4 月,由阿里雲容器團隊與南京大學、Alluxio 社群聯合開源的開源的雲原生資料編排和加速系統 Fluid 正式進入 CNCF Sandbox;9月,該專案在由中國資訊通訊研究院、中國通訊標準化協會聯合主辦的「2021 OSCAR 開源產業大會」上榮獲「 OSCAR 尖峰開源專案和開源社群」獎。
-
5 月,在2021 阿里雲開發者大會「雲原生技術與最佳實踐」論壇現場,阿里雲容器服務負責人易立、VMware 中國研發中心研發總監路廣聯合宣佈達成雙方在「雲原生邊緣計算」領域的技術戰略合作,希望未來依託開源社群力量,加速邊緣雲原生生態系統的構建,共同推動雲邊融合程序,幫助更多企業全面擁抱數智化轉型升級。
-
8 月,阿里云云原生團隊聯合 Linux 開源軟體學園在 GOTC 2021 「雲原生人才發展」分論壇聯合釋出「阿里云云原生人才計劃 2.0」,打造面向 CKA、ACA 專業人才雙認證能力的課程體系,推動業界培養雲原生和 Kubernetes 專業人才。
-
9 月,由阿里雲作業系統安全團隊和雲原生容器平臺團隊共同發起的開源專案 Inclavare Containers 進入 CNCF Sandbox,這是業界首個面向機密計算場景的開源容器執行時專案。
-
11 月,距離正式宣佈開源僅 3 個多月後,由來自阿里雲容器團隊、螞蟻金服和紅帽的工程師共同發起並開源的多叢集管理平臺 OpenClusterManagement(OCM)專案正式進入 CNCF Sandbox。
觀察:企業級容器化應用方式和需求變化
1. 容器化應用向邊緣業務場景延伸
隨著 5G、IoT、音視訊、直播、CDN 等行業和業務的發展,我們看到一個行業現象:企業開始將更多的算力和業務下沉到距離資料來源或者終端使用者更近的地方,從而來獲得很好的響應時間和降低成本。CNCF 最新發布的《雲原生開發現狀報告》顯示,在邊緣開發人員當中,Kubernetes 的採用率增加了 11 個百分點,達到 63%。邊緣開發人員使用容器的比例為 76%。
這明顯區別傳統的中心式的雲端計算模式 -- 邊緣計算。邊緣計算作為雲端計算的延伸,將被廣泛應用於混合雲/分散式雲、IoT 等場景,它需要未來的基礎設施能夠去中心化、邊緣設施自治、以及強大的邊緣雲端託管能力。雲原生架構的新邊界 -- 「雲邊端一體「的IT基礎設施開始出現在整個行業面前,而這也是企業對雲原生技術、容器化應用在新場景落地的需求。
邊緣計算雲原生架構和技術體系需要解決以下問題:雲邊運維協同、彈性協同、網路協同、邊緣 IoT 裝置管理、輕量化、成本優化等。針對雲邊端一體的新需求,在 2021 年,OpenYurt(CNCF Sandbox 專案)也釋出了 0.4、0.5 等版本,持續優化邊緣容器的 IoT 裝置管理、資源開銷、網路協同等能力。
2. 以深度學習為代表的 AI 任務正在成為容器支撐的重要工作負載之一
隨著企進一步的大規模使用容器,企業內部使用容器的範圍也從開始的線上業務逐漸向 AI 巨量資料演進,對 GPU 等異構資源的管理和 AI 任務和作業的管理的需求也越來越多。同時,開發人員在考慮如何通過雲原生技術,以統一架構、統一技術堆疊支撐更多型別的工作負載。以避免不同負載,使用不同架構和技術,帶來「煙囪」系統、重複投入和運維負擔。
在阿里雲,我們提出「雲原生 AI」的定義、技術全景圖和參考架構,以期為這個全新技術領域,提供可落地的最佳實踐,並推出了雲原生 AI 套件,通過資料計算類任務的編排、管理,以及對各種異構計算資源的容器化統一排程和運維,顯著提高 GPU/NPU 等異構計算叢集的資源使用效率和 AI 工程交付速度。
針對 AI 計算類任務的特性,在 Kubernetes 核心 Scheduler Framework 的基礎上進行了大量擴充套件和增強,提供了支援 Gang Scheduling、Capacity Scheduling、Binpack 等任務排程策略,提升叢集的資源利用率。並與 Kubernetes 社群積極合作,持續推動 Kubernetes 排程器框架演進,保證了 Kubernetes 排程器通過標準的 plugin 機制,可按需擴充套件出各種排程策略,來滿足各種工作負載的排程需求。同時避免了類似其他 custom scheduler 對叢集資源分配帶來資料不一致的風險。
-
支援 GPU 共用排程和拓撲感知排程,NPU/FPGA 等客製化晶片排程,提升 AI 任務的資源利用率,同時通過阿里雲自研 cGPU 方案,在無需修改應用容器的前提下,提供了 GPU 視訊記憶體和算力的隔離。
-
在計算和儲存分離的大背景驅動下,基於 Fluid 提供一層高效便捷的資料抽象,將資料從儲存抽象出來,通過資料親和性排程和分散式快取引擎加速,實現資料和計算之間的融合,從而加速計算對資料的存取。並支援以 Alluxio 和 JIndoFS 為快取引擎。
-
支援 GPU 等異構資源的彈性伸縮,通過智慧的削峰填谷,避免不必要的雲上資源消費。同時支援彈性模型訓練和模型推理。
3. Kubernetes 應用大規模落地,叢集高可用成為主要挑戰
隨著企業的 Kubernetes 應用大規模使用和落地,如何持續提升 Kubernetes 叢集的整體穩定性是核心挑戰。然後 Kubernetes 叢集作為一個分散式系統存在高度複雜性,在應用、基礎設施、部署過程中任何一個地方的問題,都可能導致業務系統的故障。這不僅需要應用 Kubernetes 的企業有對雲原生容器技術的高可用體系保障,還需要企業雲原生運維體系理念的整體升級。
-
以 SLO 定義驅動可觀測性體系:針對 Kubernetes 的容量規模建設了效能壓測常態化能力,必須對 Kubernetes 叢集之上的業務場景能夠對包括節點數、POD 數、Job 數,核心 Verb 的 QPS 數有明確瞭解。結合業務的真實場景進行 SLO 的梳理,持續關注請求量,延遲、錯誤數、飽和度等黃金指標。
-
常態化的故障演練和混沌測試:比如結合混沌工程理念的 ChaosBlade,正對容器叢集的不同風險動作,注入不同的異常案例,從 VM、Kubernetes、網路、儲存到應用的全方面故障模擬。
-
精細化的流控風控:針對壓測和故障演練過程中發現的異常進行防護能力建設,可以藉助 Kubernetes 在 1.20 beta 了 API 優先順序和公平性的細粒度流控策略。阿里雲容器服務也內建了自研的 UserAgent Limiter 進一步保障 Kubernetes。
除了全域性高可用能力的建設外,需要能夠有 SRE 團隊平臺化能力的建設:
-
打造統一的 Kubernetes 運維服務介面,沉澱運維和可觀測能力,讓每個 SRE/DEV 能夠無差別的 OnCAll 或支援,有 2 個子目標:1)儘量避免發生問題;2)儘快發現和定位問題,以及儘快恢復問題,建設全域性高可用應急體系。
-
重實踐和演練:基於場景進行實踐,知行合一。從知觸發,到行完成是一個閉環,然後不斷通過知行的一個迴圈過程。以賽帶練,比如雙十一大促,限電,斷網等極端場景,穩定性建設,需要針對極端場景進行,容量的規劃和壓測,元件治理等都是需要一些特殊的場景催生。有了賽場,要打好這場仗,就需要通力共同作業,就會不斷形成一個大的協同共同作業機制。
4. 基於容器的分散式雲管理加速落地
2021 年,基於 Kubernetes 來遮蔽異構環境的差異,搭建分散式雲架構已經成為企業和雲廠商的共識。2021 年 5 月的雲峰會上,阿里雲釋出了一雲多形態的部署方式,基於飛天架構的一朵雲可以全面覆蓋從核心地域到客戶資料中心的各種計算場景,為客戶提供低成本、低延遲、在地化的公共雲產品。在一雲多形態釋出之前,阿里雲容器服務在 2019 年的雲棲大會上釋出了雲下 Kubernetes 的註冊叢集能力,支援統一納管雲上雲下的不同 Kubernetes 叢集。
今年,阿里雲容器服務進一步全面升級了中心雲、本地雲、邊緣雲容器叢集的統一管理。能夠將成熟的雲上原生可觀測、安全防護能力部署到使用者環境,更可以將雲端先進的中介軟體、資料分析和 AI 能力下沉到本地,滿足客戶對於產品豐富度以及資料管控的需求,加速業務創新。並依託強大的彈性算力,通過託管彈性節點,企業可以按需從本地擴容到雲端,實現秒級伸縮,從容應對週期性或突發業務流量高峰。
趨勢:容器技術重點發展方向分析
1. 容器技術高效排程助力綠色低碳計算
資料中心作為數位經濟的動力引擎,其能耗增長已成為雲端計算髮展中不可忽略的問題。據報道,2020 年資料中心耗電量超過國內總用電量的 2.3%。而且佔比將逐年增加。阿里雲在身體力行地推動綠色計算,比如利用浸沒式液冷伺服器來降低資料中心 PUE。除此之外,我們看到資料中心的計算效率也有很大提升空間,據統計,全球資料中心的平均資源利用率不到 20%,這是巨大資源和能源浪費。
持續發揮容器技術的高效排程和彈效能力,可以幫助企業有效提升整體的 IT 資源利用率,提供極致的能效比。結合最新的節能資料中心技術、新一代神龍架構、自研晶片、容器優化作業系統實現上下游的全棧優化,提升應用的整體效能和排程效率。以資料驅動的方式,根據應用執行時資源畫像實現智慧化排程和實時調整,簡化了應用資源設定的複雜性,進一步提升應用的混合部署,降低資源成本,助力企業整體的 FinOps 管理。
2. 雲原生 AI 應對 AI 工程化挑戰
Gartner 預測,到 2023 年,70% 的 AI 應用將基於容器和 Serverless 等計算模型構建。AI 要成為企業生產力,就必須以工程化的技術來解決模型開發、部署、管理、預測、推理等全鏈路生命週期管理的問題。我們發現,AI 工程化領域有三大亟待推進的事情:資料和算力的雲原生化,排程和程式設計正規化的規模化,開發和服務的標準化普惠化。這些需要持續優化 GPU 等異構架構的高效排程,結合分散式快取、分散式資料集加速等技術,結合 Kubeflow Arena 的 AI 任務流水線和生命週期管理,全面升級 AI 工程化能力。
3. 叢集智慧自治和智慧化運維體系建設
雲原生已經成為勢不可擋的技術趨勢。Gartner 預測到 2025 年,95% 數位化運維將通過雲原生平臺進行支撐。實現容器叢集能自治能力將成為重點發展方向之一 ,通過引入更多的資料化智慧化手段,推動容器的智慧化運維體系,降低企業對複雜容器叢集和應用的管理,包括增強 Kubernetes master、元件和節點的自愈自恢復能力,提供更加友好的異常診斷、Kubernetes 設定推薦、彈性預測等能力。
4. 全面推進 DevOps 向 DevSecOps 演進
容器安全合規問題還將持續受到關注,需要全面推進 DevOps 向 DevSecOps 演進,在容器軟體供應鏈中,對安全風險進行自動化分析、修復和阻斷。比如面向 Helm、Operator 等 OCI Artifacts 優化整體的安全定義、簽名、同步和三方交付;加固容器的南北向和東西向的網路隔離和治理,推進零信任的鏈路安全;進一步提升安全容器和機密計算容器的效能和可觀測能力。