專訪 KubeVela 核心團隊:如何簡化複雜環境應用交付和管理

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"採訪嘉賓 | 曾慶國"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"編輯 | Tina"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"12月9日,在2021年KubeCon雲原生技術峯會上,CNCF開源項目KubeVela 宣佈推出了1.2版本。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"KubeVela 是一個簡單易用且高度可擴展的應用交付和管理平臺,基於 Kubernetes 與 OAM 技術構建。其核心功能是讓開發人員方便快捷地在 Kubernetes 上定義與交付現代微服務應用,而無需瞭解任何 Kubernetes 本身相關的細節。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"KubeVela於2020 年 11 月開源,2021 年 4 月發佈1.0 版本。2021 年 7 月,KubeVela 和 OAM 項目整體捐贈給 CNCF 基金會託管。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在1.2版本中,KubeVela 新增了以應用爲中心的控制面板UI功能,使應用組裝、分發、交付流程變得更簡單,並可以通過 UI 控制檯及時瞭解整個交付鏈路狀態,簡化多雲\/混合環境交付方式。另外還新增了基於訂閱模型的開源應用交付系統 ,使企業和雲原生應用開發者只需要在 GitHub\/Gitlab 上修改代碼,就可以自動完成雲原生應用交付的整個鏈路。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"從開源到現在已經有一年多,KubeVela社區取得了什麼樣的進展?有了哪些落地實踐?1.2版本中爲什麼會新增加這兩個功能,適合於什麼場景?爲解答這些問題,InfoQ採訪了OAM\/KubeVela 產品和開源社區負責人曾慶國。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"嘉賓簡介"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":":"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"曾慶國(花名:悅達)"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",阿里雲技術專家,目前負責 OAM\/KubeVela 產品和開源社區,從事雲原生、應用交付、開源領域研究和實踐多年,致力於推動雲原生應用標準化和雲原生技術“親民化”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:目前基於Kubernetes的雲原生應用交付還存在哪些挑戰和難點?業界對應的有哪些解決方案?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"曾慶國:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"如今 Kubernetes 逐漸成爲了基礎設施的標準集成界面,雲原生生態的繁榮也爲我們提供了近乎無限的基礎設施能力。然而衆多的選擇是禮物,也是研發工程師的噩夢,大量複雜的知識需要學習,就好比一個業務研發工程師需要了解操作系統底層的系統調用一樣。然而應用的高效、安全交付,纔是工程師真正的訴求。 如何用好雲原生繁榮的技術生態,又能降低用戶的使用門檻,同時安全可靠的交付應用,成爲了業界新的挑戰。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"業界的典型做法主要分爲三類,一類是容器平臺模式,原汁原味的透出底層組件,靈活性很強,但平臺使用者需要學習組件大量的技術細節;第二類是在針對不同的業務場景構建內部的平臺,但是由於頂層設計不足,拉通難度大,不同垂直場景成爲互相獨立的煙囪而無法做到能力複用、統一管理;第三類則是基於 CI\/CD 系統,以腳本、配置等構建簡單的抽象體系簡化使用,這個方式的問題在於無法滿足大規模場景的需要,腳本和配置文件散落各處,其上手和維護的門檻非常高,也有安全隱患。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:KubeVela 在 Kubernetes 生態系統中處於什麼位置?初心是解決什麼樣的問題?現在的目標與最初相比有所變化?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"曾慶國:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"今天,無論是 Kubernetes 本身還是現有的各類應用交付系統,都缺乏一個統一的面向應用交付過程的上層抽象。這種缺乏往往同底層基礎設施緊密耦合,導致用戶心智負擔很重並且嚴重依賴於用戶個人的經驗和能力。這不僅會大幅影響用戶體驗、降低生產效率,甚至還會導致錯誤和故障的發生。KubeVela 是針對這個問題的開源、標準又不失靈活度的解法。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"KubeVela 在 Kubernetes 生態系統上層建立了“以應用爲中心”的視角,業務層的開發者可以直接使用 KubeVela 作爲開箱即用的CI\/CD 工具對接包括 Kubernetes 和雲資源,完成應用交付和管理。對於中大型的公司,KubeVela 是一個具備充分可擴展性的應用交付和管理引擎,這些公司可以基於 KubeVela 標準化的擴展機制,針對自身業務場景擴展應用交付能力,快速構建自己的應用管理平臺。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"這個初心一直沒有變化,我們從應用標準 OAM 到如今 KubeVela v1.2 即將推出的 UI 控制檯,這一系列的工作都是在推動雲原生社區從基礎設施嚮應用層不斷髮展和演進,最終實現開發者自助的應用交付和管理模式,最終期望爲業界帶來標準和統一的雲原生應用管理層,普惠雲計算的開發者。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:從中立客觀的角度來講,您們認爲 PaaS 解決方案和 KubeVela 各有什麼樣的優缺點?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"曾慶國:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"說到經典的 PaaS 解決方案,業界最出名的就是 Heroku 和 Cloud Foundry,它們提供完整的應用程序部署和管理功能,爲業務開發人員提供了非常好的體驗和開發效率。但是雲原生的崛起帶來了技術的全面升級,也帶來了雲計算的巨大繁榮。傳統的 PaaS 平臺通過提供一層應用封裝和抽象爲用戶帶來好的體驗,但這層封裝往往缺少良好的定製化擴展能力,平臺演進不得不完全依靠平臺團隊開發,無法應對業務新的個性化需求,無法應對新技術發展的敏捷集成。 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/c1\/c194ba579e975217d6bedaf9bea82072.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"KubeVela 和它們最大的區別在於其可擴展性,KubeVela 從設計的第一天就以高可擴展爲原則,以此爲核心提供端到端的抽象和用戶體驗。它的交付工作流乃至整個應用交付與管理能力集都是由獨立的可插拔模塊構成的,這些模塊可以隨時通過編寫 IaC 配置模板的方式進行增減、重定義,且變更會即時生效。藉助這種從核心模型到 UI 呈現都能夠快速變更的技術,使得 KubeVela 能夠兼顧“使用簡單”和“技術先進性”。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"此外,KubeVela 是一個獨立於運行時集羣的應用交付控制平面,天然支持多集羣、多雲混合環境(這是我們認爲的下一代 PaaS 系統的合理形態),而現有的 PaaS 則往往選擇以插件形式部署在運行時集羣當中。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:基於Helm的應用交付方案,和KubeVela解決方案相比,兩者有哪些不同?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"曾慶國:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Helm 是 Kubernetes 的包管理器,它能夠以 Chart 爲一個單元,提供打包、安裝和升級的一組 YAML 文件的能力。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"KubeVela 是一個完整的應用交付系統,它藉助擴展能力可以部署各種製品類型,當然也包括 Helm Chart,除此之外還包括 Kustomize、Terraform Modules 等。KubeVela 支持 Kubernetes 和雲服務等多種運行平臺。 同時它也涵蓋了多集羣交付的能力,包括跨環境部署的各類編排能力。例如,你可以使用 KubeVela 定義一個由 WordPress Chart 和阿里雲 RDS 實例組成的應用,編排這兩個組件之間的順序關係,然後將它們按照一定的策略分發到多個 Kubernetes 集羣當中。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我們也在社區裏見到了一些基於傳統 CI\/CD 工具 和 Helm 做應用部署的解決方案,這類方案通常會通過類似 Jenkins\/Gitlab 這樣的 Pipeline ,將應用製品打包成 Helm Chart,然後直接部署到 Kubernetes 集羣中。這種模式看似簡單,實際上存在三個方面的問題:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"一是手工維護工作量大,比如由於突發的網絡原因、或者由於pipeline系統的某個故障,就會中斷所有的發佈並且需要人工介入,缺乏自愈能力,一旦場景有變化,就要修改腳本,比較難維護。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"二是沒有一個統一的模型描述完整的應用交付過程,不同的人可以從多處入口對系統進行變更,例如有的通過 CI\/CD系統,有的直接改 Kubernetes,時間久了系統的配置會出現很大的不一致,容易引發故障。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"三是存在安全風險,CI\/CD 安全域不隔離,基礎設施多個集羣的祕鑰全都在 CI\/CD 系統中存儲,一旦被黑客突破容易引發非常大的系統安全風險。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"KubeVela 是面向終態的應用交付和管理控制平面,KubeVela 的交付引擎具備自愈、冪等、收斂以及確定這四大特性,同時 KubeVela 背後有一個完整的應用模型(OAM),這個可以作爲統一的應用入口,避免配置漂移等問題。KubeVela 自身也具備完整的 GitOps 以及多集羣自治的功能,可以保證環境獨立管理,安全域隔離。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:社區針對小規模集羣或個人開發者的場景有所疑問,認爲無論是增加API層還是還需編碼,KubeVela的方向在複雜化應用交付和集羣管理,對此您們有何看法?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"曾慶國:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"KubeVela 從一開始就誕生於開源社區,演進至今已有上百位貢獻者參與代碼貢獻,吸納了來自阿里、騰訊、字節、第四範式、Gitlab等一系列不同領域公司的工程實踐。KubeVela 從一開始的設計目標是保證充分的可擴展性,這樣才能滿足用戶的多樣化場景需求,充分利用雲原生領域百花齊放的技術生態紅利。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"對於個人開發者或中小型科技企業,他們的實際需求必然是希望使用雲原生技術就像使用 iOS 操作系統一樣,低門檻,易用且好用。把端到端的體驗做成閉環才能更好滿足他們,無論增加 API 層還是需要編碼,都不是這類用戶想要關心的話題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"客觀的說,在 KubeVela 最初的幾個版本,由於要把面向可擴展性的核心設計做實,用戶看到的形態更多是偏框架一層的實現。在發展到 v1.1 版本以後,我們就陸續加入了很多端到端的集成案例,包括 GitOps、Jenkins CI\/CD、Helm 包的完整部署等,即將發佈的 v1.2 就更是一個面向小規模集羣和個人開發者直接開箱即用的平臺了,用戶可以直接操作 KubeVela 的 UI 控制檯就可以完成應用交付的完整體驗。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:1.2版本中,基於訂閱模型的應用交付主要是解決什麼場景下的問題?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"曾慶國:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/6f\/6f0be789415a212136fea0e47d66f684.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"基於訂閱模型的應用交付主要解決以下幾個維度問題:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"(1)區域隔離,安全自治"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"完整的應用交付鏈條分爲 CI 過程、配置過程和部署過程。在訂閱模型中,控制平臺支持自動從製品庫發現製品的變更,從配置倉庫發現配置的變更,從而執行後續的部署動作,Runtime 集羣區域主動從管控平臺獲取到部署任務執行。每一個環節都獨立工作,自成體系,每一個環節都根據需要進行授權和審覈,安全可靠。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"(2)網絡隔離,雲邊協同"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"訂閱模型採用 PULL 的模式,僅需要單向通信網絡即可工作,在邊緣應用交付中這是一個必需的選項。KubeVela 可以統一編排和管理雲端和邊緣端應用,實現雲邊協同。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"(3)集中管理,充分自動化"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"剛纔我們提到,每一個階段都是獨立自動化工作的,且具備自愈、冪等、收斂以及確定這四大特性。讓我們的管理側實現統一。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"另一方面,在KubeVela 1.2 版本中,主要打造了在多集羣、多環境下微服務應用的統一管理解決方案。用戶通過操作UI控制檯,實現集羣接入、租戶分配、環境規劃和應用交付等完整用戶故事。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"InfoQ:目前 KubeVela 社區發展情況如何?未來的路徑規劃是什麼?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"曾慶國:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"KubeVela 是一個從第一天就誕生在雲原生社區的開源項目,KubeVela 背後的應用模型就是 OAM。自 2019 年阿里和微軟發佈 OAM 模型以來,OAM 模型以及 KubeVela 項目已被阿里、Oracle、Salesforce、騰訊、字節跳動、網易遊戲等 40+ 家不同行業的領先企業應用在實際生產環境,幫助他們在不同場景下實現更高效的雲原生應用的交付和管理。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"KubeVela 項目發展也非常迅速,至今已經累計有上百位開發者參與貢獻,社區有上百萬的鏡像下載。2021 年 7 月,KubeVela 和 OAM 項目也已經整體捐贈給 CNCF 基金會託管,所以這也是一個完全中立的社區。KubeVela 在社區用戶中的大規模實踐,也正在促進 OAM 成爲混合雲\/多雲\/分佈式雲領域應用交付的事實標準,並在阿里、微軟、Oracle Cloud、騰訊等多家國內外廠商中被採用。2021 年 5 月,以 OAM 模型爲核心的《雲計算開放應用架構》標準文件也已經由阿里雲和信通院等 10 餘家單位聯合發起並在“雲原生產業大會”現場發佈。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"隨着 v1.2 版本的發佈, 未來 KubeVela 將更多的提供端到端的完整用戶體驗,豐富更多垂直場景下的能力,朝着開發者能夠自助完成應用交付的方向演進,讓混合環境下的應用交付就像我們今天使用 App Store 一樣簡單。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章