多云的優(yōu)缺點(diǎn)

開(kāi)源云中文社區(qū)
在過(guò)去十年中,基礎(chǔ)設(shè)施的世界發(fā)生了巨大的變化,越來(lái)越多的組織將其工作負(fù)載分布在多個(gè)平臺(tái)上——包括內(nèi)部部署和云。這將導(dǎo)致我們管理工作負(fù)載的方式發(fā)生變化,也帶來(lái)復(fù)雜性和風(fēng)險(xiǎn)的增加。工作負(fù)載在多個(gè)平臺(tái)上的分布有許多不同的方式,其中最常見(jiàn)的是多云和混合云。

在過(guò)去十年中,基礎(chǔ)設(shè)施的世界發(fā)生了巨大的變化,越來(lái)越多的組織將其工作負(fù)載分布在多個(gè)平臺(tái)上——包括內(nèi)部部署和云。這將導(dǎo)致我們管理工作負(fù)載的方式發(fā)生變化,也帶來(lái)復(fù)雜性和風(fēng)險(xiǎn)的增加。工作負(fù)載在多個(gè)平臺(tái)上的分布有許多不同的方式,其中最常見(jiàn)的是多云和混合云。

多云最簡(jiǎn)單的意思是跨兩個(gè)或多個(gè)云基礎(chǔ)設(shè)施平臺(tái)部署應(yīng)用程序的組件。這些平臺(tái)可以是兩個(gè)公共云服務(wù)提供商,或者兩個(gè)私有云,或者它們的一些組合?;旌显埔膊畈欢啵皇撬偸侵腹苍坪退接性频慕Y(jié)合。

多云和混合云應(yīng)用程序設(shè)計(jì)模式可以采取多種形式,但有兩種最重要:

托管在不同云上的組件—最常見(jiàn)和最簡(jiǎn)單的模型涉及到分離組件(應(yīng)用程序?qū)樱员忝總€(gè)不同的組件部署在單個(gè)提供者上,整個(gè)應(yīng)用程序分布在多個(gè)云上。例如,應(yīng)用程序的前端可能位于公共云上,中間件位于私有云上,數(shù)據(jù)庫(kù)位于內(nèi)部裸金屬機(jī)集群上。

以一個(gè)以前端為中心的流量很大的web應(yīng)用程序?yàn)槔?,它可能?jīng)常更新,以對(duì)后端資源進(jìn)行備用調(diào)用。將應(yīng)用程序前端安裝在公共云上可以快速、動(dòng)態(tài)地?cái)U(kuò)展此資源以響應(yīng)流量,并且可以簡(jiǎn)化臨時(shí)(但資源密集型)過(guò)程,如頻繁發(fā)布新版本的藍(lán)/綠部署。將中間件放在私有云上可以實(shí)現(xiàn)類(lèi)似但更受限的靈活性和更嚴(yán)格的安全性。在裸金屬上運(yùn)行數(shù)據(jù)庫(kù)提供了最高的可調(diào)性和性能,同時(shí)為關(guān)鍵和/或受監(jiān)管的數(shù)據(jù)提供了最大的保護(hù)。

單個(gè)組件,分布在多個(gè)云中——我們很少使用單個(gè)應(yīng)用程序組件并將其分布在多個(gè)云中。這個(gè)模型的挑戰(zhàn)是,在單個(gè)應(yīng)用程序組件中引入了延遲和潛在的其他網(wǎng)絡(luò)挑戰(zhàn)等問(wèn)題。

例如,當(dāng)組織擴(kuò)大公共云服務(wù)的使用并尋求成本優(yōu)化時(shí),他們經(jīng)常會(huì)遇到所需資源不可用的情況(例如,區(qū)域接近容量,沒(méi)有所需類(lèi)型的“點(diǎn)實(shí)例”可用)。在這種情況下,Kubernetes federation之類(lèi)的技術(shù)可以用來(lái)支持容器工作負(fù)載,甚至原則上,對(duì)等微服務(wù)水平擴(kuò)展以執(zhí)行單個(gè)應(yīng)用程序功能,從而“跨越”公共云之間的鴻溝。然而,編寫(xiě)基于這種架構(gòu)的微服務(wù)和應(yīng)用程序意味著要預(yù)測(cè)一系列延遲和其他條件,而這些條件是在單個(gè)基礎(chǔ)設(shè)施上運(yùn)行的應(yīng)用程序并不經(jīng)常遇到的。

多云優(yōu)勢(shì)

多云為幫助開(kāi)發(fā)人員更輕松地使用來(lái)自多個(gè)云提供商的資源和服務(wù)提供了許多優(yōu)勢(shì),包括以下幾點(diǎn)。

杠桿——你希望能夠?qū)?yīng)商施加一定的杠桿作用,以便能夠協(xié)商盡可能最佳的價(jià)格并確保盡可能最佳的服務(wù)級(jí)別。如果你被鎖定在一個(gè)單一的供應(yīng)商(或壟斷),你就失去了杠桿作用。你很容易受到成本上升和服務(wù)級(jí)別下降的影響。

性?xún)r(jià)比——訪問(wèn)多個(gè)公共云的能力使你能夠不斷優(yōu)化性?xún)r(jià)比(不僅針對(duì)工作負(fù)載托管,還針對(duì)與服務(wù)應(yīng)用程序相關(guān)的所有其他性能因素和成本(例如網(wǎng)絡(luò)出口成本、互聯(lián)性、延遲))。但是,通過(guò)在供應(yīng)商和基礎(chǔ)設(shè)施之間移動(dòng)組件和工作負(fù)載,最大限度地提高成本和性能優(yōu)化的自由度,意味著限制你對(duì)所使用的平臺(tái)和提供商的差異化功能和服務(wù)的依賴(lài)性。Kubernetes和容器可以在這里扮演重要的角色,形成跨越多個(gè)云和基礎(chǔ)設(shè)施的一致基礎(chǔ)。

風(fēng)險(xiǎn)緩解——在上述基礎(chǔ)上,你需要能夠輕松地將雞蛋轉(zhuǎn)移到另一個(gè)籃子里。云提供商的定價(jià)很復(fù)雜,很難觀察和預(yù)測(cè),而且?guī)缀醪恍枰⒁饩涂梢愿淖?。服?wù)可以停用。服務(wù)提供商的政策也會(huì)發(fā)生變化,而且服務(wù)提供商在執(zhí)行方面也會(huì)變化無(wú)常,服務(wù)協(xié)議的條款使得客戶(hù)在發(fā)生糾紛時(shí)幾乎沒(méi)有追索權(quán)。因此,提前計(jì)劃,提供冗余,并確保關(guān)鍵數(shù)據(jù)庫(kù)和其他難以移動(dòng)的組件不會(huì)鎖定到特定的供應(yīng)商,是非常有意義的。

位置——公共云提供的一個(gè)關(guān)鍵服務(wù)是將工作負(fù)載和數(shù)據(jù)放到特定區(qū)域的能力。利用位置的能力可以進(jìn)入利潤(rùn)豐厚的市場(chǎng)——它對(duì)應(yīng)用程序性能(例如,最小化延遲)、存儲(chǔ)和傳輸成本以及(在某些情況下)特定服務(wù)的可用性和規(guī)模至關(guān)重要。

合規(guī)性——對(duì)工作負(fù)載和數(shù)據(jù)位置(靜態(tài)數(shù)據(jù)和動(dòng)態(tài)數(shù)據(jù))的控制對(duì)于實(shí)現(xiàn)合規(guī)性、數(shù)據(jù)主權(quán)和數(shù)據(jù)保護(hù)的管轄權(quán)戰(zhàn)略也至關(guān)重要。對(duì)于尋求服務(wù)全球市場(chǎng)的組織來(lái)說(shuō),符合GDPR、Privacy Shield和其他法規(guī)的管轄權(quán)和客戶(hù)要求的能力至關(guān)重要。

多云挑戰(zhàn)

策略是確保多云帶來(lái)好處而不給開(kāi)發(fā)人員、DevOps和運(yùn)維團(tuán)隊(duì)帶來(lái)額外挑戰(zhàn)所必需的。

一致性至關(guān)重要。通過(guò)確??缢接性坪凸苍频膽?yīng)用程序平臺(tái)的一致性,你可以幫助確保應(yīng)用程序能夠在任何地方運(yùn)行而無(wú)需更改;并且可以在單一通道中維護(hù)配置、運(yùn)維自動(dòng)化、CI/CD和其他輔助代碼庫(kù)。Kubernetes是目前用于跨越公共云和私有云基礎(chǔ)設(shè)施以及裸金屬的最佳可用平臺(tái),它提供了一系列抽象機(jī)制,用于將工作負(fù)載與底層基礎(chǔ)設(shè)施隔離開(kāi)來(lái),在底層基礎(chǔ)設(shè)施出現(xiàn)問(wèn)題的情況下保持工作負(fù)載的活力,并允許快速、高效、低影響的應(yīng)用程序更新、擴(kuò)展和生命周期管理。

但是單靠Kubernetes是不夠的——組織需要在任何基礎(chǔ)設(shè)施上提供一致的Kubernetes,這些Kubernetes易于定制、易于擴(kuò)展、完全可觀察、功能齊備、安全、普遍兼容和運(yùn)維人員友好的應(yīng)用程序環(huán)境,這些應(yīng)用程序環(huán)境都是由一個(gè)中央資源提供的。單一集群模型加快了運(yùn)維速度,實(shí)現(xiàn)了容器、配置和自動(dòng)化可移植性,同時(shí)還提高了安全性(消除了未知和變化,從而減少了攻擊面),促進(jìn)了策略管理并簡(jiǎn)化了合規(guī)性。

使用一個(gè)集中管理的系統(tǒng)來(lái)交付、更新和管理跨多云的集群,也為提高生產(chǎn)率打開(kāi)了大門(mén)。一塊用于可觀察性和手動(dòng)運(yùn)維的“玻璃”,全自動(dòng)和無(wú)中斷的更新,一組用于構(gòu)建自助服務(wù)應(yīng)用程序和按需交付集群的API(無(wú)論你在哪里需要它們)。通過(guò)“提供者”中間件(中央命令和控制設(shè)施)操縱各種公共云和私有云基礎(chǔ)設(shè)施,有助于確保你獲得特定于平臺(tái)和公共云的服務(wù)的好處,同時(shí)還強(qiáng)制執(zhí)行應(yīng)用程序運(yùn)行所在的Kubernetes集群的一致配置和行為。

自由選擇與這種模式是一致的。一個(gè)集中管理的多云基礎(chǔ)設(shè)施應(yīng)該讓你的運(yùn)維人員和開(kāi)發(fā)人員可以在公共云和私有云中自由選擇,同時(shí)還支持使用一系列操作系統(tǒng)和一系列自動(dòng)化、CI/CD、安全性和其他工具。

集中式監(jiān)控和容量管理也很重要,可以確保你清楚地了解系統(tǒng)的性能以及它們消耗的資源,以便你能夠正確地決定應(yīng)該在何處運(yùn)行應(yīng)用程序。

在核心需求列表中排名靠前的還有易用性。如果系統(tǒng)過(guò)于復(fù)雜,無(wú)法使用,或者要求開(kāi)發(fā)人員必須學(xué)會(huì)處理新的或奇怪的系統(tǒng),這將極大地阻礙采用。

選擇多云可能需要放棄什么

當(dāng)然,選擇多云策略并確保使用公共平臺(tái)跨多個(gè)平臺(tái)部署和管理一致的Kubernetes(以及可能在Kubernetes之上運(yùn)行的應(yīng)用程序)也有一些缺點(diǎn)。其中最主要的是,你可能無(wú)法(直接)利用公共(和私有)云提供商提供的所有很酷的附加服務(wù),包括“一鍵式Kubernetes”版本。

很難反駁方便和無(wú)成本/低成本/低摩擦啟動(dòng),但并非不可能??紤]以下幾點(diǎn)。

個(gè)人試用公共云托管的Kubernetes解決方案所需的努力并不代表一個(gè)組織大規(guī)模交付多個(gè)相同類(lèi)型的開(kāi)發(fā)、測(cè)試和生產(chǎn)集群所需的努力。后者要大得多——處理平臺(tái)的身份和訪問(wèn)管理,用適當(dāng)?shù)慕M和用戶(hù)填充新的集群,管理(和成本優(yōu)化)快速增長(zhǎng)的Kubernetes集群群(加上它們的相關(guān)網(wǎng)絡(luò)和輔助服務(wù)配置),可能跨越多個(gè)提供商區(qū)域。考慮到所有這些都可能與其他提供者和平臺(tái)上概念相似但代碼不兼容的設(shè)置不同。要點(diǎn):在現(xiàn)實(shí)世界中,在真實(shí)的尺度下,這個(gè)模型不是多云友好的。只有當(dāng)你深度使用一個(gè)公共云或私有云平臺(tái)時(shí),它才能優(yōu)雅地工作。

根據(jù)你選擇的集中式部署/更新/運(yùn)維/觀察解決方案,跨多個(gè)提供商和平臺(tái)大規(guī)模交付和管理集群的摩擦可能非常小,(例如,通過(guò)針對(duì)解決方案的API運(yùn)行的簡(jiǎn)單自助自動(dòng)化)幾乎為零。你也可以通過(guò)這種方式使用“一鍵集群”,即使用于生產(chǎn)也是如此。

同樣,根據(jù)你選擇的集中式解決方案,你應(yīng)該可以從許多核心公共云服務(wù)中獲得間接收益。這是因?yàn)槟愕慕鉀Q方案供應(yīng)商已經(jīng)設(shè)計(jì)(并將繼續(xù)更新)其特定于提供商的配置和部署中間件,以便在合理的情況下優(yōu)化使用每個(gè)公共云提供商的服務(wù)組合。不同之處在于,你不需要弄清楚如何圍繞Kubernetes集群及其入口使用(和自動(dòng)化)AWS Route53、Azure DNS、OpenStack Designate、VMware等,就可以在多個(gè)平臺(tái)上建立生產(chǎn)集群。

云提供商服務(wù)在集中式的Kubernetes機(jī)制下仍然是完全可訪問(wèn)的,并且可以自由使用。你也可以使用AWS Lambda功能和集中式、多云Kubernetes管理。

最重要的是:入門(mén)服務(wù)(包括Kubernetes產(chǎn)品)讓初創(chuàng)企業(yè)可以輕松使用。但是,在沒(méi)有集中化解決方案提供的抽象和調(diào)解的情況下,你投入的越多,對(duì)提供者服務(wù)組合的挖掘越深入,你就越被鎖定。使用多云意味著在每個(gè)供應(yīng)商上重復(fù)(有差異)在企業(yè)級(jí)開(kāi)始的工作,并維護(hù)你為此創(chuàng)建的工具的所有并行通道。因此,將運(yùn)維和業(yè)務(wù)的任何部分從一家供應(yīng)商“lifting and shifting”到另一家供應(yīng)商,就成了一個(gè)多層次的挑戰(zhàn)。

THEEND

最新評(píng)論(評(píng)論僅代表用戶(hù)觀點(diǎn))

更多
暫無(wú)評(píng)論