如何在多云環境中實現峰值編排
如果企業管理者要求IT主管實施一個多云解決方案,他雖然當時答應下來,但在內心深處知道這并不容易。
企業的業務最近遷移到云端了嗎?也許正在思考已遷移到敏捷的DevOps文化的成就。或者也許已轉入基于SaaS的服務,例如云計算數據庫、負載平衡器和容器集群?一切都在順利進行,但隨后需要考慮多云解決方案。現在可能面臨面對更大的困難。
為什么需要采用多云?
如果資金是答案,那還有什么問題?對于大多數企業而言,將業務向云平臺的遷移非常簡單,實際上只有兩個選擇(Azure和AWS),大多數選擇AWS云平臺。當他們開始遷移時,他們意識到云計算成本并不像最初看起來的那么低,然后立即開始尋找降低成本的方法。考慮使用多云的其他原因包括:
- 靈活使用來自不同云計算提供商的最佳同類服務。
- 地理性能和法規要求。
- 避免供應商鎖定。
有五個領域可能使多云應用難以實現:
(1)供應商原生語言:大多數人對于采用云計算技術沒有意識到的是,完全相同的服務通常實際上并不具有可比性。例如,編排工具集:
- AWS-CloudFormation
- Google- Cloud Deployment Manager
- Azure-DevOps
企業可以采用這三種不同的語言構建其服務。假設要運行Kubernetes集群來托管網站。在使用多云之前,企業需要一個代碼庫,一個部署管道和一系列需要監視的服務器。如果企業想在另一個Kubernetes集群上運行該網站,則無法將該配置復制/粘貼到另一個云平臺中,企業必須從頭開始編寫它。Terraform自稱為是可與所有三種主要云平臺對話的語言之一,但是即使企業使用Terraform編寫所有內容,也無法僅將其從AWS云平臺指向Azure云平臺。企業必須為每個云計算環境重新編寫代碼。Spinnaker等其他工具也在宣傳可以降低多云部署的復雜性,但會帶來大量開銷。
(2)特定于云計算的功能:采用多云時,另一個要認真考慮的因素是將多個云平臺結合在一起的粘合劑。想象一下IT部門使用Lambda功能將工作流合并在一起,以彌合代碼中某處的空白。那么IT部門可能不會知道這一點,直到在其他地方運行該服務而中斷。AWS公司擅長提供數百種這種微型SaaS產品,這使得將平臺整合在一起非常容易,但是很難將該平臺移動到其他地方。
(3)第三方服務(例如監視):如果企業使用DataDog之類的工具監視平臺,則設置和定價基于每個云平臺環境。為了獲得可靠的報告和警報,企業將需要修改警報和日志等。需要從多個地方收集多組指標,并在多個地方查找問題。
(4)人為因素:如果企業將自己的業務分散在多個云平臺中,則不能指望現有員工是經驗豐富的管理員。AWS、Azure、谷歌云等云平臺之間的差異不像寶馬和奔馳汽車之間的差異,而是卡車和火車之間的差異。企業并不會讓卡車司機駕駛火車,一切都會順利進行;為了適應多云環境,需要對員工進行再培訓和提高技能。
(5)審核和復雜性問題:任何必須通過GDPR法規或ISO-27001審核的企業都知道為審核員記錄和展示系統的痛苦。此外,如果企業擁有完全冗余的系統,這些系統可以在發生故障時進行故障轉移,那么現在需要在所有云平臺環境中進行測試。
采用多云值得嗎?
真正的負載平衡多云可能還需要多年的時間。盡管一些供應商(例如Waze公司)確實具有多云設置,但對于大多數企業來說,它仍然是一個概念。Dropbox公司將其存儲數據從AWS遷移到私有云,GitLab公司從Azure遷移到谷歌云平臺,美國五角大樓最近將其數據從AWS遷移到Azure。
不過,最初將一小部分業務遷移另一云平臺可能具有一些優勢。也許企業有一個巨大的數據倉庫,根據隱私法律要求需要保存7年,無需將其保存在主要云平臺。或者,企業可能正在構建與物聯網設備集成的新平臺。如果微軟公司有一個物聯網數據庫,那么企業可以立即使用它,然后使用它將數據輸送到企業的主要生產平臺。企業都應該采取這樣明智而快速的措施。不要指望在兩個云平臺運行相同的服務,而是從多個云平臺為現有的服務提供補充。