容器管理:如何防止容器蔓延與成本蔓延
當(dāng)好的東西使用的越來越多時,包括云容器在內(nèi),那么公有云中成本越來越多。這里有三個選擇可以防止容器蔓延——所有高價標(biāo)簽都來自于此。
云計(jì)算中的容器簡化并加速了程序的部署,但是這種易用性也導(dǎo)致用戶更容易過度使用它。當(dāng)公有云中發(fā)生這種情況時,容器蔓延會導(dǎo)致成本急劇上升。
幸運(yùn)的是,容器蔓延是可管理的,但是企業(yè)需要遲早進(jìn)行控制,而且要長期堅(jiān)持。尤其是,不是所有的容器蔓延管理實(shí)踐都能應(yīng)用對云成本問題。
容器蔓延挑戰(zhàn)
虛擬機(jī)是***個流行的虛擬化策略,但很明顯,企業(yè)可能會過度采取虛擬化,導(dǎo)致主機(jī)管理和應(yīng)用程序部署更加復(fù)雜。
容器在云計(jì)算,在數(shù)據(jù)中心,提供了一種方法創(chuàng)建虛擬主機(jī)共享一個系統(tǒng),并共享物理服務(wù)器的一些中間件。這使得組織在服務(wù)器可以部署比虛擬機(jī)更多的容器。當(dāng)然,這也意味著數(shù)據(jù)中心中的主機(jī)數(shù)量可能會成倍增長更多,同時,為容器系統(tǒng)更容易部署,組織也是像在虛擬中那樣更容易碰到管理的復(fù)雜性問題。
公有云中,容器蔓延管理是一個挑戰(zhàn),但成本卻是一個更大的挑戰(zhàn)。如果云計(jì)算中的容器激增,提供商的費(fèi)用也會大幅增加。更糟糕的是,大多的關(guān)于克服容器蔓延的建議都是要降低管理的復(fù)雜性,同時對成本不會有影響。
如果你希望為容器化應(yīng)用控制公有云的費(fèi)用,那么就減少你部署的容器主機(jī)的數(shù)量。評估一下下面的三個選擇,來達(dá)到減少容器數(shù)量,節(jié)省成本的目的。
選擇一:組合應(yīng)用組件
許多容器用戶過度配置,這意味著他們將應(yīng)用打散成可加載的鏡像,他們比所需的更小。如果你不打算重新以不同的方式使用組件的話,就不要分離他們。理想情況下,組合的組件應(yīng)該在工作流中相鄰,因?yàn)檫@將縮短數(shù)據(jù)路徑并且提高性能。更少的應(yīng)用組件也意味著操作更簡單,管理更便宜。
對于那些在你的數(shù)據(jù)中心中,且期望在公有云中部署的容器化應(yīng)用,你要審查它們的所有組件。為了減少托管費(fèi)用,確保在轉(zhuǎn)向云端之前,你使用是最少的容器服務(wù)。
選擇二:云端組合虛擬機(jī)與容器
第二種減少蔓延成本的選擇是在公有云中組合虛擬機(jī)和容器。為了實(shí)現(xiàn)這一目標(biāo),請?jiān)诨A(chǔ)架構(gòu)即服務(wù)平臺中托管你的容器系統(tǒng),如Docker。如果因?yàn)槿萜鞣?wù)你使用了多個公有云容器,你可能需要為每一個容器付費(fèi)。但是,如果你在云中托管了一個虛擬機(jī),并在這個虛擬機(jī)中創(chuàng)建你自己的容器托管鏡像,那么結(jié)果就是你會在每一個容器上減少成本。然而,但這卻并不同100%保證,這一模型還是存在一些待解決的問題。
例如,在容器系統(tǒng)和裸金屬之間的額外虛擬機(jī)將會影響性能。用戶報(bào)告稱,這種情況與直接在云計(jì)算中運(yùn)行容器,***的情況下你可能丟失25%的機(jī)器性能,甚至可以達(dá)到 40%。你需要看到大幅的成本收益來證明這一方法,并且要仔細(xì)選擇你的應(yīng)用。如果托管應(yīng)用組件的容器沒有使用過多的資源,如I/O或CPU和內(nèi)存,但卻需要長時間駐留,那么這種虛擬機(jī)和容器的方法就是有效的。
選擇三:無服務(wù)器道路
第三個選擇是使用無服務(wù)器組件代替容器化組件。這種方法直接解決了蔓延問題,因?yàn)檫@讓用戶只對實(shí)際使用的流程付費(fèi),而不他們消費(fèi)的托管點(diǎn)。但問題是組織需要經(jīng)常重設(shè)計(jì)在無服務(wù)器上運(yùn)行的應(yīng)用或組件。
使用無服務(wù)器計(jì)算,應(yīng)用程序被分成一系列簡單的組件,當(dāng)組織需要時才會加載他們。就像當(dāng)你有許多作用的容器化的組件時,托管在容器系統(tǒng)中的虛擬可以良好運(yùn)行那樣,無服務(wù)器計(jì)算也做了這樣的應(yīng)用。你可以調(diào)用 上千個應(yīng)用部件,如果調(diào)用不成功,你就不需要付費(fèi)。
在應(yīng)用無服務(wù)器計(jì)算之前 ,審查一下來自重要云提供商的可用框架,例如亞馬遜WEB服務(wù)、谷歌云平臺和微軟的Azure。無服務(wù)器計(jì)算不僅只是一種不同的編程方式;它是一個全新的應(yīng)用模式。你需要掌握其充分的上下文才能很好地利用它。