基于 Rainbond 的混合云管理解決方案
文章探討了混合云場景中的難點、要點,以及Rainbond平臺在跨云平臺的混合云管理方面的解決方案。包括通過通過統(tǒng)一控制臺對多集群中的容器進(jìn)行編排和管理,實現(xiàn)了對混合云中應(yīng)用的一致性管理。文章還介紹了Rainbond平臺在混合云環(huán)境下的應(yīng)用模板交付、跨云團(tuán)隊管理等功能,幫助用戶簡化跨云平臺的應(yīng)用交付和運維操作。
混合云的應(yīng)用場景
隨著云原生技術(shù)的逐漸成熟,混合云成為了企業(yè)在云原生領(lǐng)域中的熱門話題之一?;旌显频膱鼍疤攸c是企業(yè)應(yīng)用和數(shù)據(jù)在多個云環(huán)境中進(jìn)行部署和運行,包括私有云和公有云,以及不同的云服務(wù)提供商。這樣的場景帶來了許多挑戰(zhàn)和機(jī)遇。
混合云的價值點主要在于:
- 靈活性和可擴(kuò)展性:混合云能夠讓企業(yè)在不同云環(huán)境中選擇最適合的部署方案,使得應(yīng)用和服務(wù)的部署更加靈活和可擴(kuò)展。
- 高可用性和容災(zāi)能力:混合云能夠通過在多個云環(huán)境中部署應(yīng)用和數(shù)據(jù),提高系統(tǒng)的可用性和容災(zāi)能力,從而減少系統(tǒng)停機(jī)時間和數(shù)據(jù)損失。
- 降低成本:混合云能夠讓企業(yè)根據(jù)應(yīng)用和數(shù)據(jù)的需求,在不同的云環(huán)境中選擇最優(yōu)惠的價格和性能比例,從而降低總體成本。
混合云管理要點
混合云場景相較于單一的私有云或公用云場景而言復(fù)雜很多,建設(shè)混合云的難點往往來自于不同供應(yīng)商提供的云平臺之間有很多差異,很難做到統(tǒng)一的管理體驗。而且,多個供應(yīng)商提供的云平臺之間不互通,跨云進(jìn)行數(shù)據(jù)同步時,需要考慮一致性與安全性。
- 跨云平臺標(biāo)準(zhǔn)化:不同的云平臺之間存在著各種差異,使得跨云平臺的操作和管理變得復(fù)雜。標(biāo)準(zhǔn)化能夠讓不同平臺之間的操作和管理更加一致,減少管理難度。
- 數(shù)據(jù)一致性:不同云平臺之間的數(shù)據(jù)交換和同步需要確保數(shù)據(jù)一致性,以避免數(shù)據(jù)沖突和丟失。
- 安全性:在混合云場景下,不同云平臺之間的數(shù)據(jù)和應(yīng)用需要得到適當(dāng)?shù)陌踩Wo(hù),以保障數(shù)據(jù)的機(jī)密性和完整性。
- 用戶管理:在混合云場景下,不同的云平臺之間的用戶體系并不相通。統(tǒng)一的混合云管理平臺能夠利用一套用戶體系納管多個集群中的計算資源,極大的降低了管理成本。
混合云場景功能需求
在混合云場景中,以下跨云功能通常具有很強(qiáng)的需求:
- 一致性操作體驗:以一致性的管理體驗,抹平用戶使用不同云資源的操作差異。使得用戶可以通過一套操作,完成應(yīng)用從發(fā)布到上線到多個云環(huán)境的核心過程。一致性操作體驗可以極大的弱化用戶在面對多個不同云環(huán)境的不適感,使底層計算資源對用戶透明。
- 用戶管理:通過在統(tǒng)一控制臺層面抽象用戶體系,完成一套用戶管理所有集群的效果??梢詷O大的降低企業(yè)管理成本。
- 跨云遷移和部署:隨著企業(yè)在多個云平臺上部署應(yīng)用程序,跨云遷移和部署變得非常重要。能夠?qū)?yīng)用程序從一個云平臺遷移到另一個云平臺,無縫部署并在多云環(huán)境中進(jìn)行管理,將大大提高企業(yè)的靈活性和敏捷性。
- 多云容災(zāi):由于云服務(wù)提供商可能會遇到可用性問題,因此在混合云場景中,多云容災(zāi)變得非常重要。通過在多個云平臺上部署應(yīng)用程序,企業(yè)可以在一個云平臺遇到問題時,快速切換到另一個云平臺上運行,以保持業(yè)務(wù)的連續(xù)性。
- 跨云數(shù)據(jù)管理:在混合云場景中,跨云數(shù)據(jù)管理也是一個重要的需求。能夠在多個云平臺上進(jìn)行數(shù)據(jù)備份和恢復(fù),以及在不同云平臺之間共享數(shù)據(jù),將為企業(yè)提供更強(qiáng)的靈活性和可擴(kuò)展性。
基于Rainbond 的混合云建設(shè)
Rainbond云原生應(yīng)用管理平臺在設(shè)計之初就考慮了如何適應(yīng)混合云管理場景。在產(chǎn)品設(shè)計中,Rainbond可以從邏輯上劃分為控制臺和集群端組件兩大部分,其中控制臺的多云管理模塊可以使其對接并管理多個集群。而集群端組件可以部署在各類 Kubernetes 集群之中,通過與 Kube-apiserver 的通信來管理 Kubernetes 集群之中的各類資源。Rainbond 集群端組件可以部署到各類 Kubernetes 集群之中,包括標(biāo)準(zhǔn) Kubernetes 集群、 K3s 集群,也可以部署到阿里云ACK托管服務(wù)、騰訊云 TKE 服務(wù)等托管集群之中。并能夠適配公有云服務(wù)商所提供的多種云服務(wù),比如通過CSI為業(yè)務(wù)Pod分配阿里云硬盤存儲。
Rainbond控制臺則提供了多集群管理的唯一入口,用戶不需要過多學(xué)習(xí),就可以掌握面向不同云環(huán)境發(fā)布應(yīng)用的操作步驟。而這些操作步驟是統(tǒng)一且易用的,不受低層不同云環(huán)境的掣肘。
團(tuán)隊工作空間隔離
Rainbond云原生應(yīng)用管理平臺在控制臺層建設(shè)用戶體系,這意味著用戶體系與低層云環(huán)境無關(guān),Rainbond 通過自身RBAC權(quán)限體系來決定用戶可以訪問哪些云環(huán)境所對應(yīng)的工作空間中的資源。Rainbond 通過團(tuán)隊這一抽象概念來劃分用戶的工作空間。團(tuán)隊與低層云環(huán)境的對應(yīng)關(guān)系可以是共享的,也可以是獨享的。用戶一旦加入指定的團(tuán)隊,即可使用團(tuán)隊所開通的集群。
- 共享模式:即一個團(tuán)隊在多個不同的集群中開通,團(tuán)隊一旦在多個集群中開通,就會在其中同時創(chuàng)建同名的命名空間。在這個團(tuán)隊中的用戶,自然可以在不同的集群中部署自己的業(yè)務(wù)系統(tǒng)。不同集群的操作入口由控制臺提供,非常容易理解。
- 獨享模式:獨享模式更好理解,即在指定的集群中開通命名空間與之對應(yīng),用戶僅可以使用這個集群中的計算資源。
基于團(tuán)隊這一工作空間的抽象,用戶可以在其中完成應(yīng)用的發(fā)布與管理操作。Rainbond 提供更多能力豐富其管理能力,包括操作審計、資源限額、權(quán)限管理等能力。
多云容災(zāi)
混合云多云容災(zāi)是在混合云場景中,為了確保應(yīng)用的高可用性和容災(zāi)能力而采取的一種策略。在混合云環(huán)境中,由于應(yīng)用可能部署在不同的云平臺上,因此需要確保即使某一云平臺出現(xiàn)故障或不可用,應(yīng)用仍能夠在其他云平臺上繼續(xù)運行。這就需要實現(xiàn)混合云多云容災(zāi),使得應(yīng)用可以在不同云平臺之間實現(xiàn)無縫切換,確保應(yīng)用的高可用性和容災(zāi)能力。
Rainbond 的多云管理機(jī)制為多云容災(zāi)打造了堅實的低層框架,縱使 Rainbond 在自身高可用能力上投入甚多,但我們依然不能假定集群級別的宕機(jī)崩潰不會發(fā)生。生產(chǎn)環(huán)境中常借助云服務(wù)商提供的其他能力一起建設(shè)健壯的多云容災(zāi)場景。額外要引用的能力包括:
- 智能化的網(wǎng)絡(luò)入口切換能力:Rainbond 依靠 CDN 和智能 DNS 的協(xié)作,完成網(wǎng)絡(luò)入口智能切換的能力。在平時,外部流量可以根據(jù)地域自動切換到就近的網(wǎng)關(guān)進(jìn)行訪問。在集群級別的宕機(jī)發(fā)生時,則將有故障的集群入口下線。
- 數(shù)據(jù)同步能力:無論用戶訪問到哪一個集群中的服務(wù),都會得到同樣的反饋,保障這個效果的前提是多個集群中的業(yè)務(wù)數(shù)據(jù)實時同步。Rainbond 不提供數(shù)據(jù)同步能力,這一部分我們需要依靠公有云供應(yīng)商提供的數(shù)據(jù)同步服務(wù)來保障。阿里云提供的 DTS 服務(wù)是其中的代表。
- 專線網(wǎng)絡(luò)能力:多個集群之間的數(shù)據(jù)同步往往不會輕易從公共網(wǎng)絡(luò)中穿梭。從安全性和可靠性的角度出發(fā),我們更傾向于使用專線網(wǎng)絡(luò)進(jìn)行多個集群之間的通信,尤其是在數(shù)據(jù)跨云同步場景里。
從整體架構(gòu)上考慮多云容災(zāi)是我們的首要任務(wù)。但面對數(shù)據(jù)災(zāi)難,我們能做的不僅僅是防患未然,如何進(jìn)行災(zāi)難后的恢復(fù)也是非常重要的一環(huán)。Rainbond云原生管理平臺提供兩個層次的備份恢復(fù)能力,首先是為Rainbond平臺本身進(jìn)行備份,確保平臺自身可以恢復(fù);其次是針對應(yīng)用的備份能力,能夠?qū)ǔ志没瘮?shù)據(jù)在內(nèi)的應(yīng)用進(jìn)行整體備份。機(jī)房可以被戰(zhàn)爭、火災(zāi)或者自然災(zāi)禍摧毀,但只要運維人員手里擁有備份數(shù)據(jù),整個Rainbond混合云平臺及運行其上的應(yīng)用就可以被重建。
跨云應(yīng)用部署
在混合云場景中,業(yè)務(wù)應(yīng)用是一等公民,應(yīng)用如何能夠在不同的云環(huán)境中自由部署實際上是對混合云管理場景最基礎(chǔ)的要求。在這個方面,Rainbond云原生應(yīng)用管理平臺以應(yīng)用模板的交付流程來打通應(yīng)用跨云部署的屏障。
應(yīng)用交付一直是 Rainbond 致力解決的痛點問題?,F(xiàn)代微服務(wù)動輒會將業(yè)務(wù)系統(tǒng)拆分成為幾十個相互關(guān)聯(lián)的微服務(wù),利用傳統(tǒng)方式將其部署到 Kubernetes 容器云環(huán)境中,不免要為數(shù)十份復(fù)雜的 Yaml 文件和容器鏡像頭痛不已。加之不同的云供應(yīng)商所提供的云環(huán)境也不相同,更加災(zāi)難化了應(yīng)用交付的體驗。
前文中已經(jīng)說到,Rainbond云原生應(yīng)用管理平臺已經(jīng)在混合云場景下抹平了不同云環(huán)境的使用體驗。在應(yīng)用跨云交付場景中也是如此,復(fù)雜的微服務(wù)系統(tǒng)在 Rainbond 中被抽象成為了一個可以統(tǒng)一管理、統(tǒng)一交付的應(yīng)用。通過將應(yīng)用發(fā)布成為應(yīng)用模板,即可在不同的集群之間完成一鍵安裝和升級。極大的降低了軟件交付成本。
寫在最后
混合云管理場景是眼下云計算領(lǐng)域最炙手可熱的話題,利用 Rainbond 云原生應(yīng)用管理平臺打造的混合云可以解決大多數(shù)難點與痛點。面向未來展望,Rainbond 會在混合云管理領(lǐng)域繼續(xù)發(fā)力,圍繞更復(fù)雜的場景,納管更多種不同的云資源。比如通過與 Kubedge 的集成,將混合云解決方案擴(kuò)展到邊緣計算場景。