一文弄清混合云架構(gòu)模式
當我們在說云架構(gòu)的時候,通常指的并不是云平臺的自身架構(gòu),而是基于云平臺的軟件系統(tǒng)基礎(chǔ)架構(gòu)。云平臺的自身架構(gòu)滿足了很多通用層面的需求,例如對象存儲,彈性主機,虛擬網(wǎng)絡(luò)等等,只有云服務(wù)廠商的工程師才會涉及。對于一般企業(yè)中的工程師而言, 鑒于云服務(wù)的各種優(yōu)勢,基于云平臺構(gòu)建軟件系統(tǒng)才是工作的內(nèi)容之一,尤其是面向混合云的基礎(chǔ)架構(gòu)才是云架構(gòu)的關(guān)鍵要素。
無論是公有云和私有云的融合,還是多個公有云的混合環(huán)境,其基礎(chǔ)架構(gòu)模式分為兩種:分布式部署模式和冗余部署模式。在決定合適的架構(gòu)時需要考慮的5個相關(guān)方面: 變更的敏捷性、規(guī)模的伸縮性、網(wǎng)絡(luò)拓撲選擇、安全性和可靠性。
分布式部署模式
當我們需要利用云服務(wù)的某些特性、屬性或功能時,這些模式最為有用。
| 敏捷性 | 伸縮性 | 網(wǎng)絡(luò)拓撲 | 安全性 | 可靠性 | |
|---|---|---|---|---|---|
| 分層混合模式 | 前端受益于CI/CD的流水線 | 前端受益于彈性縮放 | 由網(wǎng)關(guān)控制的Mesh | VPN隧道 | 后端或許成為瓶頸 |
| 分區(qū)多云模式 | CI/CD完全融合,并保證標準化 | 能夠按需縮放 | 由網(wǎng)關(guān)控制的Mesh | VPN隧道 | 需要額外保證通信的可靠性 |
| 云分析模式 | 采用一致性過程 | 能夠按需縮放 | 根據(jù)數(shù)據(jù)的收發(fā)/切換來變更拓撲,并采用API網(wǎng)關(guān)進行控制 | TLS | 訂閱/發(fā)布機制實現(xiàn)可靠性集成 |
| 邊云混合模式 | 確保邊和云之間的標準化 | 邊緣計算之外的按需縮放 | 雙向網(wǎng)關(guān)控制 | VPN隧道和TLS | 跨邊界的可靠性驗證 |
分層混合模式
經(jīng)典的分層通常由前端和后端應(yīng)用程序組成。前端處理終端用戶/客戶,消費者或他們的組合。一般地,前端是無狀態(tài)的,在這種情況下,性能和靈活性對于處理不可預(yù)測的工作負載是非常重要的。另外,通常還要處理大量的變化,因此可以從敏捷思維中受益。后端根據(jù)監(jiān)管要求安全地存儲數(shù)據(jù),并且應(yīng)該不那么頻繁地進行更改。

這種架構(gòu)模式的思想是遷移每個應(yīng)用程序,首先選擇一個不太復(fù)雜的應(yīng)用程序,然后逐個進行。一般地,有6種云遷移策略,通常稱為“6R”:主機更新、平臺更新、重新購買、重構(gòu)、保留、停服。因此,需要針對每種情況做出架構(gòu)決策。遷移之后,它們通過 API 網(wǎng)關(guān)訪問后端,這個網(wǎng)關(guān)集中關(guān)注交叉問題,如安全性、速率限制、 API 策略等。
如果正處于遷移過程的中期,而公司不能承諾同時完成所有工作時,這是一個很好的模式,除非情況很簡單,否則總是如此。
分區(qū)多云模式
如果關(guān)注可移植性,那么這種模式提供了將工作負載從一個云平臺轉(zhuǎn)移到另一個云平臺的能力。該模式的優(yōu)勢是鎖定風險并進行緩解,能夠從每個供應(yīng)商挑選最佳功能并完成監(jiān)管。

實現(xiàn)跨多個云環(huán)境的工作負載可移植性和一致性的工具增加了開發(fā)、測試和運維的工作。可移植性性是有代價的,為了使可移植性最大化,一般會考慮容器和K8S。
云分析模式
一般地,企業(yè)架構(gòu)通常由事務(wù)系統(tǒng)和分析系統(tǒng)組成。事務(wù)系統(tǒng)用于執(zhí)行每天的財務(wù)、銷售、庫存、定價等操作,而分析系統(tǒng)通常由于變化的性質(zhì)和速度不同而與其他系統(tǒng)解耦。

此模式的核心思想是在云中擁有分析工作負載,并在需要時反饋數(shù)據(jù)。云存儲可以使用數(shù)據(jù)湖來實現(xiàn),并通過BOS引入流量。
邊云混合模式
有些時候,我們的業(yè)務(wù)不可能能100% 的依賴于連接,比如車輛間的連接性,工廠的可用性服務(wù)水平超過了現(xiàn)場鏈接的能力,商店需要處理關(guān)鍵事務(wù)并且鏈路的宕機是不可能的。
面對這些挑戰(zhàn),邊云混合模式通過在網(wǎng)絡(luò)邊緣運行時間敏感和關(guān)鍵業(yè)務(wù)的本地工作負載,同時使用云處理所有其他類型的工作負載。在邊云混合模式的設(shè)置中,互聯(lián)網(wǎng)連接是一個非關(guān)鍵組件,只用于管理的目的和同步或上傳數(shù)據(jù),通常是異步的,但不涉及時間敏感或關(guān)鍵業(yè)務(wù)的事務(wù)。

另外,CI/CD的實踐在邊緣環(huán)境和云之間保持一致也是明智的選擇。
冗余部署模式
當需要為整個架構(gòu)增加容量或彈性時,這些模式非常有用。
| 敏捷性 | 伸縮性 | 網(wǎng)絡(luò)拓撲 | 安全性 | 可靠性 | |
|---|---|---|---|---|---|
| 混合環(huán)境模式 | 保證公私有云間的處理流程相同 | 按需創(chuàng)建/刪除環(huán)境 | 鏡像拓撲 | 公私有云間沒有通信 | 生產(chǎn)環(huán)境在私有云中 |
| 業(yè)務(wù)持續(xù)性模式 | 面對故障,CI/CD仍然有效 | 按需創(chuàng)建/銷毀災(zāi)備環(huán)境 | 數(shù)據(jù)備份的切換以及鏡像拓撲 | VPN隧道和TLS | 最小化在不同環(huán)境中運行的系統(tǒng)之間的依賴性 |
| 面向業(yè)務(wù)爆發(fā)的混合云模式 | 保證公私有云間的處理流程相同 | 按需縮放 | 網(wǎng)格化 | VPN隧道和TLS | 跨邊界的可靠性驗證 |
混合環(huán)境模式
在這種模式中,公共云環(huán)境用于開發(fā)、測試和 UAT,然后生產(chǎn)環(huán)境使用私有云。使用這種架構(gòu)的原因一般包括:監(jiān)管限制、第三方許可證的使用,而這些許可證阻止了云中的生產(chǎn)工作負載。如果想要首先替換較低的環(huán)境,或者在需要時輕松地創(chuàng)建和關(guān)閉環(huán)境,那么這種模式可以很好地工作。

所有環(huán)境在功能上都是等價的,即架構(gòu)、 API 以及操作系統(tǒng)和庫的版本都是等價的,并且系統(tǒng)在不同環(huán)境中的行為是相同的。但是,性能測試需要在本地實現(xiàn)。
業(yè)務(wù)連續(xù)性混合模式
在這種模式下,災(zāi)備環(huán)境在云中實現(xiàn),提供了能夠為創(chuàng)建災(zāi)難恢復(fù)環(huán)境并將其關(guān)閉的成本效益。另外,在觸發(fā)災(zāi)備的情況下,使用IaaS可以更快地創(chuàng)建災(zāi)備環(huán)境,從而減少實際的恢復(fù)時間。

另一種替代方法是將生產(chǎn)環(huán)境放在一個程序中,然后故障轉(zhuǎn)移到另一個程序中,但是,這種方法不太常見,因為通常可以在一個程序中實現(xiàn)可用性需求。
面向業(yè)務(wù)爆發(fā)的混合云模式
如果應(yīng)用程序的工作負載突然增加,不可預(yù)測,并且不希望在大部分時間里為某些密集的工作負載期間提供過多的服務(wù),這種模式可能是一種選擇,對于可以向上和向下擴展的前端無狀態(tài)應(yīng)用特別適合。

面向業(yè)務(wù)爆發(fā)的混合云模式使用一個私有計算環(huán)境進行基線負載,并在需要額外容量時暫時爆發(fā)到云中。這種模式保留了基礎(chǔ)的內(nèi)部投資,而且不需要維持全年的額外容量。
一句話小結(jié)
這些混合云架構(gòu)模式的決策是復(fù)雜的,通常會涉及到幾個不同情況的關(guān)注程度,每種情況都需要全面的權(quán)衡分析,甚至可以使用多種模式來實現(xiàn)企業(yè)的解決方案。
那么——
如何進行混合云的架構(gòu)決策?
如何保持架構(gòu)的可持續(xù)性呢?
《持續(xù)架構(gòu)實踐》一書或許可以提供一些真正的幫助。
【關(guān)聯(lián)閱讀】
