雲原生應用交付平臺Orbit設計理念與價值主張

本文作者:何文強——騰訊雲 CODING 高級架構師

負責 CODING DevOps產品解決方案架構設計和技術產品佈道以及 CODING 雲原生技術研究與落地實踐。在多個技術大會擔任演講嘉賓,騰訊雲 CODING DevOps 課程認證出品人,騰訊云云原生訓練營核心初創成員。

精通敏捷精益、DevOps 和雲原生領域,技術紮實,視野開闊,格局前瞻;在泛互、教育、工業、政務、金融等多個行業擁有數字化落地規劃和實戰經驗;多年技術開發和團隊管理經驗,目前專注於一站式研發效能平臺的建設和推廣,聚焦於“以應用爲中心“的雲原生的落地與實踐,致力於中國軟件工程能力的提升和改進。

Orbit 是騰訊雲 CODING 推出的一個企業級雲原生應用交付平臺(圖3-1)。Orbit 以應用爲中心進行設計,主要包括應用建模、應用交付、應用運維和聲明式基礎設施設施交付 4 個方面進行平臺設計,圍繞着基於 OAM 應用建模、Application As Code、GitOps 版本化管理、統一可觀測性 4 個維度進行具體價值主張聲明。

img

圖 3-1

基於OAM應用建模

Orbit 基於開放應用模型 OAM(Open Application Model)進行應用建模(圖3-2),採用研發和運維視角分離的原則,雲原生專家或運維平臺團隊負責服務規範、服務模板和服務插件的制定,研發人員通過表單參數的方式引用平臺團隊定製模板和插件。通過這種職能視角分離,研發人員在不需要學習和掌握 Kubernetes 複雜技術細節的情況下,輕鬆實現應用雲原生化,極大降低應用雲原生化的門檻;運維人員或平臺團隊通過對模板和規範的建立,能夠有效提升應用配置的一致性和可維護性,降低雲原生規模化的成本和推廣難度。

img

圖3-2

Orbit 將應用代碼(鏡像)、數據庫、配置和環境等應用要素進行了統一的定義和管理,通過統一的應用模型,屏蔽了應用底層的基礎設施,不與具體雲廠商綁定,兼容多雲 Kubernetes 平臺,支持企業基礎設施的平滑升級和漸進式演進。

Application As Code

Orbit 將服務、配置、數據庫、部署流水線、基礎設施和環境的應用要素進行層級劃分(圖3-3)。服務、配置和數據庫作爲業務層,部署流水線作爲交付層,基礎設施和環境作爲資源層。Orbit 將應用的所有要素都以代碼的方式組織和存儲到代碼庫中,以代碼庫作爲應用要素的單一事實來源,所有的變更都以代碼提交的方式進行記錄和存儲,Orbit 通過代碼庫的版本控制系統能力,實現應用在任意時刻都可追溯、可審計、可回退能力。

img

圖3-3

通過分層的設計模式實現應用配置在代碼倉庫中的合理有序組織,爲不同的層級定義不同的目錄層級,並給予相應的目錄權限,實現細粒度的應用配置信息的權限控制,在增強透明、信任與協作的同時也滿足組織內部的安全合規和敏感數據管理規則。

GitOps 版本化管理

Orbit 部署基於 GitOps 理念進行應用交付。GitOps 是以 Git 爲核心進行應用配置信息的存儲,通過有且只有唯一的存儲庫實現單一事實來源,並利用 Git 的 Commit、Diff、Revert、Merge 等核心能力進行版本變更管理。開發人員將代碼或配置的修改提交到代碼倉庫中,會觸發持續集成流水線進行代碼的編譯構建,生成鏡像推送到製品庫,Orbit 會監聽製品庫和配置的變化,通過 Git Diff 能力自動揀配當前版本與上一版本的差異,按需選擇變更內容進行發佈單創建。運維人員或發佈人員通過對發佈單內容的審查,進行版本的發佈。在審計方面,通過 Git Commit 信息,可以查看每次變更的內容,實現變更內容的審計與追溯。在發佈可靠性和回滾方面,通過 Git 版本化實現應用的原子化發佈,也通過 Git 的 Revert 命令,讓應用回滾變得簡單可靠。

img

圖3-4

統一可觀測性

雲原生應用可觀測性主要圍繞日誌(Logging)、鏈路追蹤(Tracing)、監控(Monitoring)三個維度進行建設,統一的可觀測平臺有利於快速的發現問題、定位問題和和解決問題。Orbit 在可觀測方面以統一觀測爲目的,以生態開放爲原則,以兼容主流爲手段。在產品設計上能夠兼容主流的可觀測平臺和工具,並通過 Adapter(適配器)模式進行生態插件的集成與適配,同時兼容 OpenTelemetry 規範,實現日誌、鏈路追蹤、監控的統一展示和數據互通。

img

圖3-5

瞭解了 Orbit 的設計理念和價值主張後,我們將在下一篇文章對 Orbit 的核心能力 OAM、GitOps、可觀測性、數據庫管理等進行講解和實踐,敬請期待!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章