在過去幾年中,云的應(yīng)用一直在加速,許多組織用云托管的基礎(chǔ)設(shè)施取代傳統(tǒng)的數(shù)據(jù)中心,并更新應(yīng)用程序以利用基于云的服務(wù)。
據(jù)Gartner說,全球公共云支出預(yù)計將從2021美元的3960億美元增長到2022美元的4820億美元,增幅超過21%。疫情以及由此帶來的分布式工作環(huán)境的增長進一步強調(diào)了對靈活、可擴展的基于云的解決方案的需求。
但對許多組織來說,將所有數(shù)據(jù)和應(yīng)用程序托管在一個云提供商上會帶來不可接受的風險。服務(wù)中斷、安全漏洞和意外成本增加的可能性可能會讓軟件團隊對將其關(guān)鍵應(yīng)用程序委托給第三方基礎(chǔ)設(shè)施提供商感到不安。為了降低這些風險,許多組織通過在多個云提供商之間分配資源來采用多云戰(zhàn)略。
在本文中,我們將探討采用多云的一些驅(qū)動因素,以及這種方法的相關(guān)好處。我們還將研究多云提供商環(huán)境的一些缺點,以及在跨云提供商工作時構(gòu)建環(huán)境的最佳方法。
什么是多云策略?
多云策略不僅是在多個云提供商中提供工作負載。它需要一種深思熟慮的方法來設(shè)計和部署資源,以便應(yīng)用程序架構(gòu)能夠補充你選擇的基礎(chǔ)架構(gòu)提供商的優(yōu)勢,反之亦然。
在多個提供商之間部署服務(wù)可能需要使用純粹基于使用的提供商,如AWS、Azure和GCP,在同一提供商內(nèi)使用不同的云服務(wù),或包括混合使用私有云提供商。多云服務(wù)的一些更常見的架構(gòu)包括:
——在提供商之間和負載均衡器后面部署容器化應(yīng)用程序或服務(wù),以實現(xiàn)“始終開啟”的環(huán)境。
——按業(yè)務(wù)功能對服務(wù)進行分組,并在云提供商之間分發(fā)服務(wù),每個服務(wù)都有冗余的冷啟動組件。
——根據(jù)應(yīng)用程序的資源需求以及每個提供商提供的特定功能和性能優(yōu)勢,將應(yīng)用程序或服務(wù)組件與特定的云提供商保持一致。
這些架構(gòu)需要一些戰(zhàn)略思考,以確保實現(xiàn)的模式是一致的,并與業(yè)務(wù)目標保持一致。多云戰(zhàn)略還必須與你計劃部署的應(yīng)用程序和服務(wù)的架構(gòu)和設(shè)計保持一致。
多云的好處
組織采用多云戰(zhàn)略的原因有很多。大多數(shù)組織轉(zhuǎn)向多云環(huán)境,以減輕單一云環(huán)境中固有的風險。另一個主要驅(qū)動因素發(fā)生在組織想要利用不同提供商的優(yōu)勢和技術(shù)堆棧時。這些動機凸顯了采用多云戰(zhàn)略的三大好處:彈性、靈活性和合規(guī)性。
彈性
借助互聯(lián)網(wǎng)的全球能力,許多組織為全球客戶提供服務(wù),并要求應(yīng)用程序和系統(tǒng)每天24小時運行。擁有彈性環(huán)境對于確保不出現(xiàn)服務(wù)中斷(包括云供應(yīng)商環(huán)境中斷)至關(guān)重要。即使是最大的云服務(wù)提供商,包括谷歌、Azure和AWS,也會經(jīng)歷停機。
確保關(guān)鍵服務(wù)不會隨云而中止是多云方法的主要好處。有時,即使是在不同的云提供商上提供冷備份服務(wù),也可以提供寶貴的覆蓋范圍,使企業(yè)能夠?qū)嵤╅L期修復(fù),而不會造成嚴重的服務(wù)中斷。例如,讓web應(yīng)用程序節(jié)點分布在多個供應(yīng)商云中,可以使服務(wù)在供應(yīng)商出現(xiàn)停機時保持運行,盡管資源會減少。即使將服務(wù)部署到保持空閑但組織可以打開的輔助云上,也能提供一個快速而簡單的解決方案,直到問題得到解決。
靈活性
當?shù)谝淮螌⒐ぷ髫撦d轉(zhuǎn)移到云環(huán)境中時,大多數(shù)組織都會選擇一個最符合大多數(shù)標準的提供商。然而,隨著這些工作量的增加,對單一供應(yīng)商服務(wù)的依賴也在增加。供應(yīng)商經(jīng)常改變他們的策略、服務(wù)、協(xié)議和定價模式。被鎖定在單一供應(yīng)商可能意味著不一致、成本增加、無法獲得更好的產(chǎn)品或被迫更新應(yīng)用程序和服務(wù)。在云環(huán)境中移動和創(chuàng)建工作負載很容易,但如果移動是非計劃的,那么進行這些更改可能會很困難,而且成本也很高。
為應(yīng)用程序和服務(wù)采用多云方法可以最大限度地減少你受到供應(yīng)商鎖定的風險。使用相同的技術(shù)堆棧和容器化等功能,可以輕松有效地跨云環(huán)境設(shè)計和部署相同的服務(wù)。它還使企業(yè)能夠選擇專門的云服務(wù),與更通用的產(chǎn)品相比,這些服務(wù)提供了顯著的好處。
不過,確保你選擇的選項是靈活的至關(guān)重要。例如,Azure Functions是一個事件驅(qū)動、無服務(wù)器的計算平臺,企業(yè)可以使用它來構(gòu)建和部署服務(wù),而無需調(diào)整大小和規(guī)模以滿足需求。然而,企業(yè)也可以將這些功能部署到容器中,并在Azure之外托管它們,從而在需要時提供更改服務(wù)的選項。
合規(guī)性
與避免供應(yīng)商鎖定類似,許多組織對IT系統(tǒng)合規(guī)性有特定的要求。這些合規(guī)性要求可能涉及數(shù)據(jù)隱私或主權(quán)問題,包括災(zāi)難恢復(fù)和緩解規(guī)范。
通過采用多云戰(zhàn)略,結(jié)合評估服務(wù)和數(shù)據(jù)的合規(guī)性需求,組織可以為其關(guān)鍵組件建立特定的環(huán)境或架構(gòu)。敏感數(shù)據(jù)集,如個人識別信息或財務(wù)信息,通常涉及嚴格的數(shù)據(jù)安全要求。通過多云方法,你可以在加固的私有云環(huán)境中存儲敏感數(shù)據(jù),并允許托管在公共云環(huán)境中的應(yīng)用程序僅以特定的、精心控制的方式進行查詢。
多云的缺點
雖然多云方法有幾個關(guān)鍵好處,但企業(yè)應(yīng)該意識到兩個潛在的缺點:成本增加和環(huán)境復(fù)雜性。上述優(yōu)勢通常會抵消這些挑戰(zhàn),但如果沒有仔細的規(guī)劃和監(jiān)督,組織很快就會發(fā)現(xiàn)自己的多云戰(zhàn)略會消耗時間和資源。
復(fù)雜性
考慮到當今大多數(shù)云平臺提供的服務(wù)的廣度,采用單一云提供商可能會給員工帶來陡峭的學(xué)習曲線。采用第二個云提供商可能會使IT員工必須學(xué)習的服務(wù)、其他多云系統(tǒng)和流程的數(shù)量增加一倍。對于資源有限的組織來說,確保人們在多云環(huán)境中擁有淵博的知識可能是一項挑戰(zhàn)。這類環(huán)境需要一個跨職能的IT運營團隊,該團隊需要通過各種集成來保護、管理和優(yōu)化多個平臺和技術(shù)堆棧。
費用
第二個阻礙因素是總成本。即使當前的資源基本上在提供商之間分配,環(huán)境之間的額外流量和管理層也會增加一些成本。不了解供應(yīng)商之間的成本差異,尤其是在技術(shù)堆棧上著陸時,也可能導(dǎo)致不必要的費用。
在計算切換到多云的費用時,一定要加上雇傭或培訓(xùn)員工以覆蓋你選擇的所有環(huán)境的成本。此外,考慮當環(huán)境的復(fù)雜性阻礙所有資源的可見性時可能發(fā)生的未使用資源的成本。雖然多云應(yīng)用可以通過提供一條擺脫供應(yīng)商鎖定的途徑來節(jié)省一些成本,但維護多個環(huán)境會帶來新的成本,如果不積極監(jiān)控和管理,這些成本可能會迅速失控。
你應(yīng)該采取多云策略嗎?
什么時候考慮采用多云策略?這個問題很難回答。由于增加了復(fù)雜性和成本,必須有一個緊迫的業(yè)務(wù)需求可以享受多云的好處。如果沒有合理的理由追求多云方法,組織可能會承擔額外的復(fù)雜性和成本,而不會看到任何有形的回報。
多云應(yīng)用的業(yè)務(wù)驅(qū)動因素包括:
——遵守代表潛在成本或業(yè)務(wù)風險的行業(yè)或法律問題。
——通過提供不同的工具、服務(wù)和技術(shù),提高組織的靈活性和速度。
——減少已經(jīng)容器化的服務(wù)套件的停機時間。
這些例子仍然需要大幅提升和堅實的技術(shù)資源,以確保組織能夠有效地采用這一戰(zhàn)略。在考慮團隊是否準備好實施多云方法時,你必須充分了解組織的目標和能力,以及可能涉及的權(quán)衡。
如何在CI/CD工作流中管理多個云部署
跨多云環(huán)境一致部署應(yīng)用程序和服務(wù)至關(guān)重要。消除手動流程是保持組織工作流程一致性的基本方法,而建立可靠的持續(xù)集成和交付(CI/CD)管道是使自動化成為團隊成功的一部分的最佳方法。
以下是設(shè)置CI/CD工作流以從多云環(huán)境中獲得最佳效果的一些技巧:
——制定一個部署策略,使所有團隊都能遵循標準化的管道。
——確保部署盡可能模塊化,以允許在團隊將組件部署到不同供應(yīng)商時交換組件。
——采用基礎(chǔ)設(shè)施即代碼模板,提供多云支持,如Terraform和Ansible,以確保最低限度的基礎(chǔ)設(shè)施重新配置。
——使用發(fā)布編排工具確保正確的版本到達合適的環(huán)境,并監(jiān)控生產(chǎn)中應(yīng)用程序的運行狀況。
通過在基礎(chǔ)設(shè)施資源調(diào)配和應(yīng)用程序部署實踐中引入更多的控制和一致性,實施持續(xù)集成和交付解決方案可以簡化向多云的轉(zhuǎn)變。許多CI/CD平臺還提供了與工具的集成,你可以使用這些工具監(jiān)控供應(yīng)商的成本,并在服務(wù)降級對用戶產(chǎn)生負面影響之前快速識別和解決服務(wù)降級問題。
結(jié)論
軟件交付越來越依賴于云為世界各地的用戶提供快速、安全和可擴展的解決方案。雖然基于云的部署存在一些風險,但企業(yè)正越來越多地采用多云方法,以確保其應(yīng)用程序保持彈性、靈活性和安全性。通過采用既定的持續(xù)集成實踐,團隊可以在部署中實現(xiàn)更高級別的信心和一致性。
采用多個云供應(yīng)商有幾個好處,但可能非常具有挑戰(zhàn)性且成本高昂。如果沒有明確的戰(zhàn)略,這種復(fù)雜性和成本可能會迅速失控。有意采用多云并客觀評估組織的技術(shù)成熟度是確保成功的關(guān)鍵。