作者|郝樹偉
Flexera 的《RightScale2021 雲狀态報告》中指出 92% 的大型企業采用混合雲戰略。Gartner 也在一份報告中稱未來 90% 中大型企業将利用混合雲架構管理基礎設施。
多年來,随着雲計算技術的蓬勃發展和落地,越來越多的企業選擇采用雲計算技術來幫助自己快速完成業務數字化轉型,以便能更好地适應市場變化,進而赢得更大的市場空間。其中有很大一部分企業基于降低技術開發和運維成本、享受随時随地的即時服務等原因,選擇将自己的業務部署在雲端;還有一部分企業由于資料主權和安全隐私方面的考慮,會選擇在自己内部資料中心環境中搭建自己的專有雲平台;對于公共雲和專有雲都有需求的企業使用者會選擇搭建混合雲架構。

為什麼需要混合雲架構
企業自身業務安全性考慮
對于企業使用者,特别是大型企業使用者來說,把公司的關鍵“生命線”業務完全托付給一個外部雲廠商來保障,是有一定的風險的。雖然公共雲廠商通常都提供了安全可靠的備援方案來保證企業使用者服務的不間斷性,但也并不是沒有意外發生。使用混合雲方案可以保證企業使用者同時具有 A B 兩套方案選擇和切換,最大限度保證業務穩定性。
資料主權和安全隐私方面的監管要求
一些法律法規或者公司自身的安全政策對其企業資料所存儲或駐留的地點有硬性要求,比如歐盟的“通用資料保護條例”(GDRP)等對資料控制者和資料處理者的數字監管措施,比如企業政策要求資料隻能駐留在指定地點,目的是為了保護資料隐私和安全性等等。混合雲雲架構可以幫助企業使用者滿足這一類的需求。
享受雲廠商的服務特性
本地雲與公共雲廠商提供的服務品質是有一定的差異性的,這種差異性展現在方方面面,取決于使用者的實際需求和考量。比如地域覆寫面的差異性,企業使用者通常在本地雲中自提供的服務,在某個特定的區域内雲廠商提供的服務在通路延遲上更優,企業使用者在此區域有重要客戶且對雲服務的通路延遲有較高要求,則企業使用者會選擇将此區域的業務部署在公共雲上,其他業務繼續部署在本地雲上。
成本優化
本地雲在基礎設施上缺乏靈活的擴縮容能力,無法在業務高峰和低谷期根據實際需求合理安排基礎計算資源,造成很大程度上的資源浪費和成本增加,而雲上彈性靈活、按需擴縮容的特性,可以彌補本地雲的這一缺陷。
追随技術革新
對與一些類似人工智能、機器學習、物聯網等高精尖技術的技術革新和演進上,通常雲廠商能夠第一時間提供與之相對應的雲服務,企業使用者可以以更小的成本使用這些雲服務,并推動企業自身的技術革新和發展,混合雲架構可以讓企業随時随地采用最好的雲服務。
雲原生如何助力混合雲架構演進
公共雲和本地雲本身就是兩朵不同的雲,它們有不同的基礎設施、不同的能力特性以及不同的 API 接口,建構混合雲架構,一方面需要雲提供商耗費大量精力在适配和整合雲平台的能力上,另一方面,使用者在這種架構下也無法真正按需切換雲服務提供商,反而是另一種形式的綁定。傳統混合雲的種種缺陷,導緻這種雲架構無法形成标準化的生态體系,也是一直以來我們無法針對這種雲架構建構統一管理、統一傳遞的原因。
Kubernetes 的出現讓混合雲雲架構進入 2.0 時代,Kubernetes 的多項特性及其相關生态體系為混合雲的标準化提供了可能性:
- 以 Kubernetes 為代表的雲原生技術屏蔽了基礎設施的差異性,目前各個雲廠商以及大量的資料中心都已經落地這些技術,使得應用“一次定義,到處部署”成為可能。
- Kubernetes 标準化、聲明式的 API,簡化了應用的部署,讓應用傳遞變得越來越标準化和統一化,支援在不同的雲上使用相同的方式描述和編排應用
- 網格服務技術可以跨越多個 Kubernetes 叢集,實作統一的流量管理和服務治理,使得混合雲雲架構下的應用服務統一到一個控制平面進行管理。
在雲原生時代,以 Kubernetes 為代表的雲原生技術推動了以應用為中心的混合雲架構的到來,Kubernetes 已經成為企業多叢集管理的事實基礎。
雲原生混合雲多叢集的典型使用場景
異地多活——跨地域容災
雖然從基礎設施服務和 Kubernetes 容器平台兩個次元來看,使用者可以低成本搭建一個高可用應用業務架構,但對于容災能力要求更高的一些業務,還需要通過異地多活這樣的地域級容災能力來實作。
使用者可以在單一雲廠商的不同區域搭建多個叢集,也可以分别線上下 IDC 和線上雲廠商的不同區域搭建多個叢集來實作業務應用的異地多活部署。下圖展示了混合雲場景下 IDC 内的容器叢集和公共雲上的容器叢集 Active-Active 部署,在異地多活架構下,應用的業務負載同時部署在多個叢集上,然後使用一個全局的 DNS 服務将請求轉發到對應的後端叢集,當其中一個叢集發生故障無法處理請求時,DNS 服務會自動處理并隻轉發請求到健康的叢集。
低延時——就近通路
對于開展全球化國際業務的使用者來說,服務的通路者分布廣泛,如果伺服器部署在某個特定的區域,勢必會造成其他部分地區網絡體驗差的問題。
在這種場景下,我們就可以選擇在多個地域分别部署叢集,通過智能 DNS 解析将使用者請求轉發至距離最近的叢集處理,最大限度減少網絡帶來的延遲。例如下圖中,某應用服務分别部署于北京,成都,香港三個地域的 Kubernetes 叢集,來自華北區域的使用者請求會被智能解析到北京的 Kubernetes 叢集,來自西南區域的使用者請求會被智能解析到成都的 Kubernetes 叢集,來自海外的使用者請求則會被智能解析到香港的 Kubernetes 叢集,這樣可以最大限度地減少地理距離帶來的網絡延遲,為各地使用者帶來一緻的服務體驗。
降低爆炸半徑
通常情況下,多個小規模的叢集要比一個大規模的叢集更容易進行故障隔離。叢集有可能因為磁盤、網絡等故障導緻無法處理請求,使用多個叢集可以将故障限制和隔離在某個叢集,避免引起更大的連鎖反應。
業務隔離
不同的業務通常需要做好業務隔離,雖然 Kubernetes 本身也有命名空間的機制來幫助使用者做安全隔離,但這隻是邏輯上的軟隔離,不同 namespace 之間依然可以網絡互通,而且也還存在資源搶占的問題,需要進一步配置網絡隔離政策和資源限額等。
選擇将不同的業務部署在不同的 Kubernetes 叢集中,可以在實體上實作業務的徹底隔離,安全性和可靠性相比使用 namespace 隔離更高。例如企業内部不同部門部署各自獨立的叢集、使用多個叢集來分别部署開發/測試/生産環境等。
小結
上雲已是大勢所趨,有些企業客戶基于資料主權和安全隐私的考慮,會采用混合雲架構;還有一些企業客戶基于資料主權、成本優化、提升地域覆寫性等需求,會選擇混合雲加多叢集架構。混合雲和多叢集的架構已經成為企業上雲的新常态。
如果您想了解更多雲原生與混合雲融合下的企業 IT 解決方案、應用場景和使用方式,歡迎點選閱讀原文了解,或釘釘掃碼二維碼加入“阿裡雲容器服務 ACK 使用者大群”:
贈書福利
- 你認為現代化 IT 面臨的最大挑戰是什麼?
- 你對雲原生技術的擔憂是什麼?
- 你期待雲原生技術在混合雲架構中的哪些應用場景,為什麼 ?
如果你希望對以上任一問題發表自己的觀點,9 月 17 日 18:00 前,歡迎你發表在留言區和大家探讨,阿裡巴巴雲原生公衆号将精選留言點贊前 3 位,各送出阿裡雲容器服務技術專家郝樹偉新著《多雲和混合雲:雲原生多叢集和應用管理》一書。期待你的交流!
作者簡介
郝樹偉,阿裡雲容器服務技術專家,雲原生分布式雲團隊核心成員,專注于雲原生多叢集的統一管理和排程、混合叢集、應用傳遞和遷移等雲原生技術的研究。點選閱讀原文,了解阿裡雲容器服務 《ACK 混合雲叢集使用者指南》
點選下方連結,了解阿裡雲容器服務 《ACK 混合雲叢集使用者指南》
https://help.aliyun.com/document_detail/121607.html