基於 Rainbond 的混合雲管理解決方案

rainbond發表於2023-05-04

內容概要:文章探討了混合雲場景中的難點、要點,以及Rainbond平臺在跨雲平臺的混合雲管理方面的解決方案。包括透過透過統一控制檯對多叢集中的容器進行編排和管理,實現了對混合雲中應用的一致性管理。文章還介紹了Rainbond平臺在混合雲環境下的應用模板交付、跨雲團隊管理等功能,幫助使用者簡化跨雲平臺的應用交付和運維操作。

混合雲的應用場景

隨著雲原生技術的逐漸成熟,混合雲成為了企業在雲原生領域中的熱門話題之一。混合雲的場景特點是企業應用和資料在多個雲環境中進行部署和執行,包括私有云和公有云,以及不同的雲服務提供商。這樣的場景帶來了許多挑戰和機遇。

混合雲的價值點主要在於:

  • 靈活性和可擴充套件性:混合雲能夠讓企業在不同雲環境中選擇最適合的部署方案,使得應用和服務的部署更加靈活和可擴充套件。

  • 高可用性和容災能力:混合雲能夠透過在多個雲環境中部署應用和資料,提高系統的可用性和容災能力,從而減少系統停機時間和資料損失。

  • 降低成本:混合雲能夠讓企業根據應用和資料的需求,在不同的雲環境中選擇最優惠的價格和效能比例,從而降低總體成本。

混合雲管理要點

混合雲場景相較於單一的私有云或公用雲場景而言複雜很多,建設混合雲的難點往往來自於不同供應商提供的雲平臺之間有很多差異,很難做到統一的管理體驗。而且,多個供應商提供的雲平臺之間不互通,跨雲進行資料同步時,需要考慮一致性與安全性。

  • 跨雲平臺標準化:不同的雲平臺之間存在著各種差異,使得跨雲平臺的操作和管理變得複雜。標準化能夠讓不同平臺之間的操作和管理更加一致,減少管理難度。

  • 資料一致性:不同雲平臺之間的資料交換和同步需要確保資料一致性,以避免資料衝突和丟失。

  • 安全性:在混合雲場景下,不同雲平臺之間的資料和應用需要得到適當的安全保護,以保障資料的機密性和完整性。

  • 使用者管理:在混合雲場景下,不同的雲平臺之間的使用者體系並不相通。統一的混合雲管理平臺能夠利用一套使用者體系納管多個叢集中的計算資源,極大的降低了管理成本。

混合雲場景功能需求

在混合雲場景中,以下跨雲功能通常具有很強的需求:

  1. 一致性操作體驗:以一致性的管理體驗,抹平使用者使用不同雲資源的操作差異。使得使用者可以透過一套操作,完成應用從釋出到上線到多個雲環境的核心過程。一致性操作體驗可以極大的弱化使用者在面對多個不同雲環境的不適感,使底層計算資源對使用者透明。

  2. 使用者管理:透過在統一控制檯層面抽象使用者體系,完成一套使用者管理所有叢集的效果。可以極大的降低企業管理成本。

  3. 跨雲遷移和部署:隨著企業在多個雲平臺上部署應用程式,跨雲遷移和部署變得非常重要。能夠將應用程式從一個雲平臺遷移到另一個雲平臺,無縫部署並在多雲環境中進行管理,將大大提高企業的靈活性和敏捷性。

  4. 多雲容災:由於雲服務提供商可能會遇到可用性問題,因此在混合雲場景中,多雲容災變得非常重要。透過在多個雲平臺上部署應用程式,企業可以在一個雲平臺遇到問題時,快速切換到另一個雲平臺上執行,以保持業務的連續性。

  5. 跨雲資料管理:在混合雲場景中,跨雲資料管理也是一個重要的需求。能夠在多個雲平臺上進行資料備份和恢復,以及在不同雲平臺之間共享資料,將為企業提供更強的靈活性和可擴充套件性。

基於Rainbond 的混合雲建設

Rainbond雲原生應用管理平臺在設計之初就考慮瞭如何適應混合雲管理場景。在產品設計中,Rainbond可以從邏輯上劃分為控制檯和叢集端元件兩大部分,其中控制檯的多雲管理模組可以使其對接並管理多個叢集。而叢集端元件可以部署在各類 Kubernetes 叢集之中,透過與 Kube-apiserver 的通訊來管理 Kubernetes 叢集之中的各類資源。Rainbond 叢集端元件可以部署到各類 Kubernetes 叢集之中,包括標準 Kubernetes 叢集、 K3s 叢集,也可以部署到阿里雲ACK託管服務、騰訊雲 TKE 服務等託管叢集之中。並能夠適配公有云服務商所提供的多種雲服務,比如透過CSI為業務Pod分配阿里雲硬碟儲存。

Rainbond控制檯則提供了多叢集管理的唯一入口,使用者不需要過多學習,就可以掌握面向不同雲環境釋出應用的操作步驟。而這些操作步驟是統一且易用的,不受低層不同雲環境的掣肘。

團隊工作空間隔離

Rainbond雲原生應用管理平臺在控制檯層建設使用者體系,這意味著使用者體系與低層雲環境無關,Rainbond 透過自身RBAC許可權體系來決定使用者可以訪問哪些雲環境所對應的工作空間中的資源。Rainbond 透過團隊這一抽象概念來劃分使用者的工作空間。團隊與低層雲環境的對應關係可以是共享的,也可以是獨享的。使用者一旦加入指定的團隊,即可使用團隊所開通的叢集。

  • 共享模式:即一個團隊在多個不同的叢集中開通,團隊一旦在多個叢集中開通,就會在其中同時建立同名的名稱空間。在這個團隊中的使用者,自然可以在不同的叢集中部署自己的業務系統。不同叢集的操作入口由控制檯提供,非常容易理解。
  • 獨享模式:獨享模式更好理解,即在指定的叢集中開通名稱空間與之對應,使用者僅可以使用這個叢集中的計算資源。

基於團隊這一工作空間的抽象,使用者可以在其中完成應用的釋出與管理操作。Rainbond 提供更多能力豐富其管理能力,包括操作審計、資源限額、許可權管理等能力。

多雲容災

混合雲多雲容災是在混合雲場景中,為了確保應用的高可用性和容災能力而採取的一種策略。在混合雲環境中,由於應用可能部署在不同的雲平臺上,因此需要確保即使某一雲平臺出現故障或不可用,應用仍能夠在其他雲平臺上繼續執行。這就需要實現混合雲多雲容災,使得應用可以在不同雲平臺之間實現無縫切換,確保應用的高可用性和容災能力。

Rainbond 的多雲管理機制為多雲容災打造了堅實的低層框架,縱使 Rainbond 在自身高可用能力上投入甚多,但我們依然不能假定叢集級別的當機崩潰不會發生。生產環境中常藉助雲服務商提供的其他能力一起建設健壯的多雲容災場景。額外要引用的能力包括:

  • 智慧化的網路入口切換能力:Rainbond 依靠 CDN 和智慧 DNS 的協作,完成網路入口智慧切換的能力。在平時,外部流量可以根據地域自動切換到就近的閘道器進行訪問。在叢集級別的當機發生時,則將有故障的叢集入口下線。
  • 資料同步能力:無論使用者訪問到哪一個叢集中的服務,都會得到同樣的反饋,保障這個效果的前提是多個叢集中的業務資料實時同步。Rainbond 不提供資料同步能力,這一部分我們需要依靠公有云供應商提供的資料同步服務來保障。阿里雲提供的 DTS 服務是其中的代表。
  • 專線網路能力:多個叢集之間的資料同步往往不會輕易從公共網路中穿梭。從安全性和可靠性的角度出發,我們更傾向於使用專線網路進行多個叢集之間的通訊,尤其是在資料跨雲同步場景裡。

從整體架構上考慮多雲容災是我們的首要任務。但面對資料災難,我們能做的不僅僅是防患未然,如何進行災難後的恢復也是非常重要的一環。Rainbond雲原生管理平臺提供兩個層次的備份恢復能力,首先是為Rainbond平臺本身進行備份,確保平臺自身可以恢復;其次是針對應用的備份能力,能夠將包括持久化資料在內的應用進行整體備份。機房可以被戰爭、火災或者自然災禍摧毀,但只要運維人員手裡擁有備份資料,整個Rainbond混合雲平臺及執行其上的應用就可以被重建。

跨雲應用部署

在混合雲場景中,業務應用是一等公民,應用如何能夠在不同的雲環境中自由部署實際上是對混合雲管理場景最基礎的要求。在這個方面,Rainbond雲原生應用管理平臺以應用模板的交付流程來打通應用跨雲部署的屏障。

應用交付一直是 Rainbond 致力解決的痛點問題。現代微服務動輒會將業務系統拆分成為幾十個相互關聯的微服務,利用傳統方式將其部署到 Kubernetes 容器雲環境中,不免要為數十份複雜的 Yaml 檔案和容器映象頭痛不已。加之不同的雲供應商所提供的雲環境也不相同,更加災難化了應用交付的體驗。

前文中已經說到,Rainbond雲原生應用管理平臺已經在混合雲場景下抹平了不同雲環境的使用體驗。在應用跨雲交付場景中也是如此,複雜的微服務系統在 Rainbond 中被抽象成為了一個可以統一管理、統一交付的應用。透過將應用釋出成為應用模板,即可在不同的叢集之間完成一鍵安裝和升級。極大的降低了軟體交付成本。

寫在最後

混合雲管理場景是眼下雲端計算領域最炙手可熱的話題,利用 Rainbond 雲原生應用管理平臺打造的混合雲可以解決大多數難點與痛點。面向未來展望,Rainbond 會在混合雲管理領域繼續發力,圍繞更復雜的場景,納管更多種不同的雲資源。比如透過與 Kubedge 的整合,將混合雲解決方案擴充套件到邊緣計算場景。

相關文章