逢宕機必談起,多雲是真火還是假熱?

每逢雲平臺發生宕機,多雲這個話題都會被溜一遍,輿論之下的實際應用狀況到底如何?多雲到底是規避安全風險還是增加新的潛在危機?業內專家如何看待這一話題?

話題背景

近兩年,因爲雲計算的快速發展以及各大雲廠商的幾起宕機事故,將多雲這一概念推向高潮,幾乎每次宕機過後的接連幾場雲計算相關活動都會出現“多雲”相關探討。當然,這不代表本地自建機房時期的安全性有多高,只是雲一旦出現問題,很容易產生共振效應,進而造成大範圍影響。

根據國外雲計算的應用步伐來看,多雲似乎已經被提上議程。前不久,分析公司 Kentik 曾發佈一份雲相關的調查報告,該報告調查了 310 位技術和業務主管。令人尋味的是,AWS 和 Azure 似乎是兩個最激烈的雲競爭對手,但企業更傾向於同時部署兩大雲服務,也就是所謂的多雲配對。

調查顯示多雲部署正在快速發展,可能會逐漸超過混合雲,並且最常見的雲組合是 AWS 和 Azure,但也有客戶選擇 Google Cloud Platform。根據 Kentik 的調查,97%的受訪者表示所在公司使用 AWS,35%的受訪者表示也在積極使用 Azure,24% 的受訪者同時使用 AWS 和 Google Cloud Platform。

但是,也有不少用戶發出質疑:單雲都沒用好,如何 Hold 住多雲?作爲雲平臺的直接使用者到底應該如何選擇?InfoQ 就此問題採訪了數位業內專家、企業用戶,並彙總了普通開發者的聲音,我們來看看多雲到底靠不靠譜。

多雲探討

在不少與宕機相關的文章中,都能看到與“多雲”相關的評論,筆者隨機截了幾位相關評論,如下:

逢宕機必談起,多雲是真火還是假熱?

逢宕機必談起,多雲是真火還是假熱?

不難看出,大多數用戶認爲多雲可以解決供應商鎖定問題,並降低安全風險,因此推薦企業部署多雲。對此,專家認爲,避免廠商鎖定是大多數企業的 IT 策略,其中一個重要考量是成本優化,大多數規模較大的企業都擔心與雲提供商建立單一供應關係,進而喪失議價能力,但多雲是否會降低成本,需要看整體擁有成本的構成。當然,也有用戶對多雲提出質疑,認爲如果上升到實踐層面,不少企業恐怕無法應對成本、安全性、域名等相關政策帶來的挑戰。

在知乎上,也有不少與多雲相關的探討:

逢宕機必談起,多雲是真火還是假熱?

對此,業內專家在接受 InfoQ 採訪時表示,作爲雲服務的採用者,企業首先需要仔細考慮清楚自己的戰略,同時瞭解這些挑戰最終可能帶來的複雜性、成本和陷阱。在多雲部署中,成本可能會成倍增加,這不僅僅是雲訂單的價格,還有運維成本。雖然一開始通過利用多個雲計算提供商來實現成本效率似乎是合理的,但長遠來看,缺乏工具和標準以及其他低效率培訓和跟蹤雲平臺使用的成本可能代價高昂。

目前,多雲支持能力的供應商成熟度差異非常大。雖然一些供應商是早期採用者和開拓者,但彼此之間存在全方位差異,而這種差異使得采用過程非常複雜和低效。此外,從安全性和合規性角度來看,缺乏集成身份和訪問管理也是一項重要挑戰。

Kubernetes 將會促成多雲?

早前,InfoQ 曾 對 Kubernetes 項目創始人兼 Heptio 首席執行官 Craig McLuckie 進行採訪,其在採訪中談到:

Kubernetes 是一個非常健壯的真正的分佈式系統。按照設計,它消除了系統中的單點故障。對於一個恰當配置的集羣(配置了高可用及恰當的基礎設施),你可以在數據中心裏轉轉,拔掉節點,Kubernetes 會把工作負載調整到運行中的節點,把一切恢復到正常狀態。許多用戶在首次看到這個效果時都非常喫驚。我記得有人將其稱爲“獵槍證明系統(shotgun proof system)”。其穩定性令人喫驚。

確實,Kubernetes 在雲計算中處於一個恰好的位置,不是特別底層,不會讓開發者受困於特定環境細節,而同時又可以獲得足夠的靈活性。關於這一點,其背後涉及更深層次的兩個論題:一是爲什麼需要開放的雲原生技術體系;二是如何在雲端構建高可用 IT 架構保證業務的連續性。

某互聯網雲計算廠商的技術專家表示,Kubernetes 一方面幫助用戶屏蔽底層特定運行環境細節,一方面提供了靈活的資源調度和應用編排能力,可以讓容器化應用獲得足夠的靈活性並簡化自動化運維,得到了社區的廣泛支持。CNCF 推出 Kubernetes 一致性驗證項目,各主流雲廠商都通過了相關認證,保證了用戶的容器化應用可以在不同雲廠商之間平滑遷移。

根據過去與客戶的實際交流來看,尤其是金融、零售、製造、醫療衛生等領域,CIO 們不希望被某一家廠商鎖定,而是希望雲提供商能夠提供類似標準電力一樣的計算能力,並儘可能價格優惠。雲原生不斷打磨標準,也必將使得企業用戶會從在這個開放標準建立的過程中獲益,獲得基於雲構建 IT 架構的最佳實踐並可以選擇合適遷雲路徑和雲平臺。

至於第二個問題,用戶上雲需要一個 E2E 高可靠架構,比如雲基礎設施、應用基礎設施、應用部署和應用架構自身。當然,這也需要綜合考慮成本和效率。跨可用區可以實現同城容災,而且可用區間延遲小 (比如阿里雲可用區之間延遲在幾個毫秒以內),同時基礎雲產品基本全部做到了跨可用區容災,用戶使用這些能力提升架構可用性的成本很低。對於容災能力要求更高的業務,業界比較通用的做法有兩地三中心和異地多活等等,能做到地域級容災能力。多雲帶來的收益是防止單個雲產商多個地域同時出現問題,會更加複雜,這之間的網絡互聯性能、數據複製策略、管理成本都會非常高。

從 Kubernetes 的設計來說,其自身是一個健壯的分佈式系統架構,如果集羣採用了高可用配置,即使某個節點出現故障,原本運行在該節點的應用負載會被 Kubernetes 調整到其他運行良好的節點上。當然,這也並非高枕無憂。一個完整的高可用架構包括很多層面,從雲基礎設施 IaaS、應用基礎設施(如容器集羣)配置,到應用配置(如 K8s 應用的跨 AZ 部署約束),再到應用架構自身配置,都息息相關。針對實際情況,可以實現不同級別的高可用,比如多可用區級別,或者跨區域、跨多個雲供應商級別等。

應用現狀

雖然多雲目前備受關注,但就實際使用情況而言,國內在該領域仍處於初期階段,新架構模式和實踐經驗還在探索之中,多雲所帶來的複雜性、潛在安全風險等問題都尚未有成熟的解決方案。

相比較而言,跨國企業和大型企業會更傾向於選擇多雲戰略,這是受到安全合規和業務拓展等核心需求驅動。中小企業受限於成本和運維壓力,輕易不會選擇多雲。一些海外 500 強企業進入中國,一般都會選擇多雲戰略,這可以拓展地域覆蓋並就近服務客戶,因爲雲廠商覆蓋的地域不同,企業爲了業務拓展需要可能會選擇多個雲供應商。

企業在雲遷移過程中所處的階段和自身技術成熟度不盡相同,其中一些已經具備先進的能力,而其他企業纔剛剛邁出試探性的腳步,業務需求和技術選型路徑也會有所不同。

一般而言,傳統企業會考慮將核心業務和數據放在私有云上,而把互聯網應用等新興業務部署在公有云上。隨着業務的持續發展和 IT 架構的現代化改造,會逐漸擴大公有云比重將更多核心業務遷雲,這個時間,企業往往會開始考慮多個雲供應商的問題。

對於互聯網企業,一開始就是在公有云環境下生長起來的。隨着企業技術能力的成熟,整個 IT 架構充分利用了雲能力,具備了較好的彈性、健壯性和可移植性。如果一個雲供應商無法滿足其業務拓展的需求,自然也會選擇多個雲供應商。

專家認爲,用戶對多雲的關注,很大程度是雲計算被普遍接納的自然結果。但是,當下多雲依然存在很大挑戰,還需要業界一同努力。

結語

就現狀而言,企業部署多雲戰略尤其是中小企業尚存難處。因此,企業不要盲目選擇多雲,首要應該保證單雲架構下業務的安全穩定。雖然雲計算比本地數據中心可用性高,但不能寄希望於雲計算的可用性達到百分百,畢竟近兩年主流雲計算廠商皆發生過多起宕機事故。在發生可用區級別故障時,如果用戶合理設置了多可用區支持可以應對故障。

除了在架構上具備容災能力,如何確保業務連續性也是一個重要話題。即便系統容災能力建設完備,還需要確保能力符合預期,不能等真實故障來驗證系統能力,容災能力需要做好提前演練。在容災能力之外,要真正做到業務高可用還有一系列工作,除了應對硬件設備災難,還需要額外面對非常多其它挑戰,比如流量衝擊、引入不合理依賴、依賴環節不可用或者延遲高等,這些都是上雲企業在互聯網業務快速發展中需要考慮的問題。

相關文章