開發與維運

「應用管理與交付」為什麼會成為雲原生新的價值聚焦點?

頭圖.jpg

作者|鄧洪超

近日,全球頂級開源社區雲原生計算基金會( Cloud Native Computing Foundation,以下簡稱 CNCF ) 宣佈“雲原生交付領域小組( Application Delivery SIG )”換屆結果,來自阿里雲的高級技術專家、Kubernetes Operator 機制初創作者之一鄧洪超將與 VMware 高級研發專家 Jennifer Strejevitch 共同擔任新一任小組 Co-chairs 。

1.png

關於 CNCF App Delivery SIG


據官方介紹,CNCF 領域小組的作用是“幫助整個生態深入理解這些技術領域裡的最佳實踐,並同 CNCF TOC(技術監督委員會)緊密協作以甄別可持續的開源項目,或者幫助它們彌補不足”。CNCF 目前下轄三個領域小組,App Delivery SIG 是 CNCF 基金會官方成立的第一個以“應用”為中心的領域小組。在雲計算生態核心關注點迅速聚焦到“雲原生應用”的今天,該小組被社區譽為是 “ CNCF 最具價值的領域小組”。

隨著越來越多的企業和開發者開始將業務與技術向雲原生演進,以 Kubernetes 為代表的容器技術已經成為雲計算的新界面。從阿里雲與微軟聯合開源的 OAM + OpenKruise 組合露頭角,再到阿里雲進一步使能平臺構建者的開源框架 KubeVela 迅速走紅,為什麼“雲原生應用管理與交付”會成為 Kubernetes 之上重要的價值聚焦點?CNCF App Delivery SIG 在推動 Kubernetes 之上應用層技術快速演進的過程中將扮演什麼角色?這個領域又將發生哪些值得大家期待的創新?讓我們一起了解 App Delivery SIG 新任 Co-chairs 鄧洪超有什麼看法。

應用管理與交付——雲原生領域新的價值聚焦點

33333333.png

鄧洪超,阿里雲高級技術專家,Kubernetes Operator 機制的初始作者之一,開源項目OAM 與 KubeVela 項目核心維護者,前CoreOS 軟件工程師,對 Kubernetess 應用管理體系有多年研究和實踐經驗。

Q: 祝賀你成為 CNCF 應用交付領域小組的 Co-chairs!先和大家介紹下自己吧?

鄧洪超: 非常榮幸在今年六月通過選舉的方式當選此職,也非常感謝社區夥伴們的支持。我從學校畢業後,就一直圍繞“開源”和“雲原生”工作。此前,我就職於 CoreOS,是 Kubernetes 項目早期工程師之一,與社區共同主導了 Scheduler、APIServer 等核心組件的設計和開發,也和同事共同創建和推動了 Operator 擴展機制。Operator 的出現,更是促進了整個 CNCF 生態的協同發展。在阿里巴巴,我主要負責雲原生應用平臺的架構設計,創建了 KubeVela 和 OAM 等項目來升級阿里巴巴的應用平臺基礎架構,提升開發者的研發與交付效率。我希望通過我以及團隊同學、社區夥伴們的共同努力,不斷推動雲原生概念往前發展。

Q: CNCF 應用交付領域小組是一個什麼類型的組織?它的成立背景、聚焦的問題、承擔的使命是什麼?

鄧洪超: CNCF App-Delivery TAG (Technical Advisory Group),中文稱作 CNCF 應用交付領域小組,是基金會官方第一個也是唯一一個以“應用”為中心的領域小組。它在雲原生應用交付技術的發展和擴張中扮演著至關重要的角色,旨在幫助整個生態深入理解該技術領域裡的最佳實踐,並同 CNCF TOC(技術監督委員會)緊密協作以甄別可持續的開源項目。

CNCF 在廣義上將用戶群體分為三大類 [1]:

  1. 基礎設施研發;
  2. 應用編程、運維和測試的工具研發;
  3. 應用開發者。


從一開始,CNCF 的重點就放在了“基礎設施”上,因為這類人群構成了 CNCF 社區的主體,也是他們推動了業界朝著雲原生路線圖 [2] 的規劃方向發展。隨著雲原生生態的核心價值逐漸聚焦於“雲原生應用”本身,CNCF 逐漸將重點轉移到應用開發者一側,開始關注應用編程、運維和測試的相關項目。在這個背景下,CNCF 成立了應用交付領域小組,作為連接基礎設施和開發者的橋樑,同應用開發和運維人員建立起更緊密的聯繫。

3.png

CNCF 應用交付領域小組專注於雲原生場景下的應用構建、部署、管理、和運維環節,解決整個應用交付生命週期中的核心問題,甄別和修正應用管理開源項目理論和實踐之間的鴻溝,推動應用交付工具和流程的標準化。該小組負責“以富有遠見的方式來協調和連接應用交付領域中的關注點、最終用戶和開源項目”。在組織架構上,該小組通常由應用交付領域中倍受認可的技術專家負責領導,並向上對 CNCF TOC 彙報。目前該小組下面還設有以下 Working Groups (WG): GitOps、Operator、Cooperative Delivery、Chaos Engineering。

Q: 雲原生應用交付領域的現狀、趨勢和挑戰如何?你在社區中觀察到哪些有潛力的開源項目?

鄧洪超: 當前雲原生應用交付領域的現狀是,雖然以 k8s 為核心的容器應用交付形態逐漸普及,但是在 k8s 之上不同應用平臺的差異性仍然很大。這是由於 k8s 之上缺乏標準統一的應用交付和管理方式——之前整個社區過分關注於“基礎設施”,而忽視了應用層這一側的標準化。

在過去的一年裡,隨著雲原生關注點逐漸往應用層轉移,我們能夠看到整個生態的一系列標準化趨勢:

  • 使用 Sidecar 模型來提供給開發人員分佈式系統編程原語,解耦了基礎設施和核心業務,簡化了分佈式應用編程體驗,充分體現了“能力下沉,價值上浮”的理念。這個趨勢的典型代表就是 Dapr 項目。
  • 使用 Kubernetes 作為普適管控面板 ( Universal Control Plane ),實現多雲平臺統一管控,為雲原生開發者提供了一致的基礎設施消費體驗。這個趨勢的典型代表就是 Crossplane 項目。
  • 使用 GitOps 作為持續交付的入口,依託於基礎設施即代碼/數據 (IaC/IaD)工具的編排能力,實現以 Git 為核心的交付流水線,提升了開發者的交付體驗和效率,也充分體現了不可變基礎設施、聲明式編排等理念。這個趨勢的典型代表就是 Argo CD 和 Flux 項目。
  • 使用基於 Mesh 的漸進式發佈,利用 operator + service mesh 的結合來控制應用的升級部署和流量管理,提高應用發佈的效率和成功率。這個趨勢的典型代表就是 Flagger 和 Argo Rollout 項目。
  • 使用標準化應用模型來構建統一交付平面,實現混合環境下運維資產的統一管理,給雲原生開發者提供自助式的交付和管理體驗,也賦予平臺本身更強大的擴展能力。這個趨勢的典型代表就是 OAM 標準和 KubeVela 項目。

而隨著這些趨勢在生態中逐步標準化,我們能夠看到,雲原生生態技術將會帶來全新的應用交付形態:

  • 首先,通過雲原生體系讓這些標準能力迅速下沉到雲計算的能力池當中,讓用戶像用水用電一樣按需使用這些標準化能力,從而給最終用戶帶來降本和提效的巨大效益。
  • 然後,通過標準化體系,我們將看到一個雲原生的"應用商店“誕生:1. 從基礎設施的角度看,可以將更多的平臺能力添加進來;2. 從最終用戶的角度看,可以在一個環境裡使用更多的能力。這樣一來雲原生的生產者和消費者兩端通過標準規範釋放大規模生產力,形成跟 iphone app store 一樣的繁榮生態。
  • 最後,越來越多的基礎平臺能力往協同發展的道路上走,最終給用戶帶來極致混合的順滑體驗。通過統一應用交付平面,不論是開源的還是私有定製化的工具都將被統一管理起來,用一套標準流程和接口透出給用戶。這樣一來,我們將重新定義“內部工具”:1. 內部的運維資產與最新的開源技術可以基於一套標準被混合使用,在保證原有技術資產的同時也能享受到開源雲原生技術和社區所帶來的便利;2. 新的能力無需更改原有項目而是基於開源標準來擴展開發,這樣一來能增快新功能的產出,從而提高平臺研發效率,最終提高平臺交付效率。這一系列體驗也正是像 KubeVela 和 Dagger [3] (Docker 創始人 Solomon 最新創立) 等項目所追求的目標。

Q: 作為小組的Co-chairs,對於推動小組的發展,推動雲原生應用交付領域的演進,你有哪些計劃?

鄧洪超:之後我在 CNCF 將會重點關注應用管理與交付、雲原生編程模型、開發者體驗等聚焦“應用開發者”的領域,聯合社區力量孵化和吸納更多有潛力的開源項目進入 CNCF,以及編寫白皮書提供應用交付相關領域的最佳實踐。同時,我們也應該意識到 CNCF 應用交付領域小組還很年輕,還有許許多多新的想法和創意可以去實踐,我也會支持和協助建立更多的 working groups 來滿足和適應社區的發展需求。

在阿里巴巴內部,我們也在大規模場景下的雲原生應用管理與交付能力建議方面進行了諸多探索,並將這些實踐通過 OAM/KubeVela [4]、OpenKruise [5]、OpenYurt [6] 等開源項目回饋給社區,我們也將繼續與社區協同,致力於在 AI,邊緣等更加垂直的領域當中,更廣泛地推動雲計算底層基礎架構和雲端應用的部署與分發方式的演進,和更多的企業和開發者,讓“無處不在的雲計算”成為現實。

最後說一句,雲原生生態的往前發展,離不開整個社區所有人的努力。放眼當今世界,中國的企業是全世界雲原生技術落地最好的案例,中國的開源力量在全世界比重中也越來越大。我希望通過我們共同的努力,不停地創新、反思、修正、再創新,不斷解決雲原生應用交付的關鍵問題,讓構建雲原生應用平臺變得更簡單,讓雲原生開發者的交付體驗變得更順滑。

相關鏈接


[1]CNCF:
https://www.cncf.io/announcements/2019/09/12/cloud-native-computing-foundation-announces-application-delivery-sig/
[2]雲原生路線圖:_https://raw.githubusercontent.com/cncf/trailmap/master/CNCF_TrailMap_latest.png_
[3] Dagger:
https://dagger.io/
[4]OAM/KubeVela:
https://kubevela.io/
[5]OpenKruise:
https://openkruise.io/en-us/
[6]OpenYurt:
https://github.com/openyurtio/openyurt

Leave a Reply

Your email address will not be published. Required fields are marked *