使用多云有好處,但也可能會(huì)產(chǎn)生昂貴的成本。要管理好成本,請(qǐng)檢查你的供應(yīng)商數(shù)據(jù)訪問(wèn)費(fèi)用,以及你的應(yīng)用設(shè)計(jì)。
幾乎每個(gè)企業(yè)以及大部分的中等規(guī)模企業(yè)都會(huì)將他們的一些應(yīng)用部署到公有云上。規(guī)模較大,尤其是那些運(yùn)營(yíng)地域很廣的公司,很可能會(huì)使用多個(gè)公有云服務(wù),而這在某些情況下,會(huì)導(dǎo)致產(chǎn)生令人瞠目的費(fèi)用。對(duì)于任何有多云預(yù)期的用戶來(lái)說(shuō),了解成本如何失控,以及怎樣做才能挽救預(yù)算至關(guān)重要。
控制多云的成本需要了解你的云服務(wù)供應(yīng)商的收費(fèi)。云服務(wù)提供商的收費(fèi)一般分為四大類:CPU資源、存儲(chǔ)、訪問(wèn)和特殊Web服務(wù)。如果供應(yīng)商的云定價(jià)模型都類似,那么將應(yīng)用分割到多個(gè)云提供商將不會(huì)影響整體成本。遺憾的是,事實(shí)不大可能是這樣。大多數(shù)多云成本的挑戰(zhàn)來(lái)自兩個(gè)因素:存儲(chǔ)成本和訪問(wèn)費(fèi)用。當(dāng)創(chuàng)建一個(gè)跨多個(gè)云的應(yīng)用的云成本管理計(jì)劃時(shí),可以從檢查這兩個(gè)方面著手。
多云成本是如何累積的?
多云定價(jià)模型的最大挑戰(zhàn)是訪問(wèn)費(fèi)用,或者你的云應(yīng)用信息轉(zhuǎn)移所產(chǎn)生的流量費(fèi)用。將一個(gè)應(yīng)用或組件從你的主云平臺(tái)遷移到另一個(gè)云時(shí)往往意味著云和云之間的工作流。一個(gè)簡(jiǎn)單的事務(wù)可能會(huì)從用戶到云A,從云A到云B,從云B回到云A,然后再返回給用戶。這樣一種工作流可能會(huì)增加一倍的訪問(wèn)費(fèi)用,而這在單一的云提供商下卻不會(huì)發(fā)生。
在多云部署中,存儲(chǔ)的費(fèi)用也可能突漲,并增加訪問(wèn)的費(fèi)用。如果同樣的應(yīng)用跑在兩個(gè)不同的云上,或者分散到兩個(gè)云上運(yùn)行,并且所有的組件都需要訪問(wèn)數(shù)據(jù)時(shí),你會(huì)面臨一個(gè)艱難的選擇。如果你在你的數(shù)據(jù)中心或僅在一個(gè)云里托管數(shù)據(jù)庫(kù),你就必須支付訪問(wèn)費(fèi)用才能獲取數(shù)據(jù)。然而,在不同的云之間訪問(wèn)數(shù)據(jù)庫(kù)可能涉及大量的數(shù)據(jù)移動(dòng)以及大量的成本。另一種方法是在你使用的所有云平臺(tái)里都托管一份數(shù)據(jù)庫(kù)副本,但那又引入了額外的數(shù)據(jù)存儲(chǔ)成本和同步的問(wèn)題。
特殊Web服務(wù)也會(huì)造成類似的問(wèn)題,因?yàn)樗麄兊囊恍┏杀臼腔趯?duì)功能的訪問(wèn),這在與多個(gè)云定價(jià)模型打交道時(shí)會(huì)變得困難。例如,如果你的一個(gè)應(yīng)用需要用到某個(gè)特殊的服務(wù),而你將該應(yīng)用進(jìn)行分布式部署,這樣該功能會(huì)在多個(gè)云中需要,你得在所有這些地方都支付使用該功能的費(fèi)用。而且,由于使用費(fèi)用通常是較高的使用率則收費(fèi)較低,你也失去了規(guī)模經(jīng)濟(jì)的優(yōu)勢(shì)。
如果你將應(yīng)用發(fā)布到多個(gè)云,CPU的費(fèi)用甚至都有可能變高。其中一個(gè)原因,又是規(guī)模經(jīng)濟(jì)的問(wèn)題;更高的使用率通常意味著更低的每分鐘費(fèi)用。另一個(gè)原因是,許多企業(yè)購(gòu)買了專用實(shí)例,而當(dāng)他們?cè)诙鄠€(gè)云之間分配應(yīng)用時(shí)通常沒(méi)有充分利用這些實(shí)例。
設(shè)計(jì)云成本管理計(jì)劃
如果你打算從云到云動(dòng)態(tài)遷移應(yīng)用,那么成本將很難控制,甚至難以預(yù)估。但你可以采取一些措施來(lái)控制成本。
云成本管理從工作流和數(shù)據(jù)路徑的映射開(kāi)始。每個(gè)應(yīng)用的每個(gè)組件都有輸入,輸出以及對(duì)數(shù)據(jù)庫(kù)訪問(wèn)和特殊功能的顯性需要。這會(huì)有些瑣碎,并且最后的圖表分析起來(lái)可能很復(fù)雜,但是多云成本管理的一個(gè)好的開(kāi)始方法就是繪制出你計(jì)劃在云中托管的那些應(yīng)用之間的關(guān)系。這會(huì)有助你找出多云部署時(shí)的邊界,哪里會(huì)產(chǎn)生費(fèi)用或需要復(fù)制托管數(shù)據(jù)和功能。
該映射關(guān)系往往顯示了多云部署一個(gè)重要事實(shí),那就是開(kāi)發(fā)人員通常會(huì)將應(yīng)用構(gòu)建在不同的層上。最上層是應(yīng)用的前端,負(fù)責(zé)設(shè)備支持和GUI創(chuàng)建。該層將工作傳到一個(gè)中間層,加上基本的數(shù)據(jù)編輯,然后轉(zhuǎn)交給傳統(tǒng)的事務(wù)處理組件。了解應(yīng)用程序的結(jié)構(gòu)可以幫助你在多云部署中節(jié)省成本。
前端的應(yīng)用程序組件跨多云分布相對(duì)容易些,因?yàn)樗鼈兒苌儆玫綌?shù)據(jù)庫(kù)的功能,基于性能的設(shè)計(jì)實(shí)例化成多個(gè)副本,通常會(huì)將工作移交給單個(gè)合作層。使用多云相比較單個(gè)云可能會(huì)在定價(jià)上影響你的規(guī)模經(jīng)濟(jì),但你可能不會(huì)遇到在訪問(wèn)或存儲(chǔ)成本上的大幅增加問(wèn)題。
有些應(yīng)用會(huì)將基礎(chǔ)數(shù)據(jù)庫(kù)同中間層組件集成用于編輯和驗(yàn)證。在這一層不要忘記在多個(gè)云里復(fù)制數(shù)據(jù)的成本。在此中間層的處理越復(fù)雜,讓一個(gè)應(yīng)用及其組件跨云提供商就越困難。如果你想要評(píng)估其影響,可以在你計(jì)劃在多云環(huán)境中使用的組件周圍畫(huà)一個(gè)圈,看看哪些工作流和數(shù)據(jù)路徑被切斷了。那些就是需要支付額外費(fèi)用的地方。
由于應(yīng)用的底層,實(shí)際交易和查詢處理的部分,可能涉及到很多實(shí)時(shí)數(shù)據(jù)庫(kù)的訪問(wèn),盡量避免將這一層分散到多個(gè)云供應(yīng)商。現(xiàn)在,以及在未來(lái)短時(shí)間內(nèi),大多數(shù)公司都會(huì)將這項(xiàng)關(guān)鍵任務(wù)的處理放在企業(yè)內(nèi)部。
當(dāng)建立一個(gè)運(yùn)行在多個(gè)平臺(tái)上的應(yīng)用程成本管理計(jì)劃時(shí),不要忽視集成和生命周期管理相關(guān)的潛在問(wèn)題。用戶有很強(qiáng)的理由在多個(gè)公有云部署,但也有風(fēng)險(xiǎn),包括成本和復(fù)雜性的增加。了解云定價(jià)模型,并盡早解決這些復(fù)雜性以獲得成功的實(shí)踐經(jīng)歷。