向公共云轉(zhuǎn)化能夠與移動(dòng)應(yīng)用和支付賬單一樣簡(jiǎn)單,然而,你的花費(fèi)是否總是超出該有的費(fèi)用?以下五個(gè)公共云應(yīng)用優(yōu)化技術(shù)能夠幫助你節(jié)約花費(fèi),提高應(yīng)用性能。
上月,周五晚的暴風(fēng)雨導(dǎo)致亞馬遜網(wǎng)服務(wù)器運(yùn)行中斷,為美國(guó)東部提供服務(wù)的網(wǎng)站如Netflix ,Pinterest以及Instagram因此崩潰。尤其是Netflix網(wǎng)站,周五晚屬于高峰時(shí)段,所以顧客對(duì)于運(yùn)行中斷不可能毫無(wú)怨言。
同樣,Roudup是許多基因組圖應(yīng)用之一,用于預(yù)測(cè)基因、器官和生物功能之間的進(jìn)化關(guān)系。Rounduo使用密集型計(jì)算法,因此哈佛科研者只得綜合使用由亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)提供的簡(jiǎn)單存儲(chǔ)(S3),彈性計(jì)算云(EC2),彈性編程(EMR)服務(wù)。為優(yōu)化應(yīng)用,Roudup團(tuán)隊(duì)減少了磁盤(pán)I/O,縮減內(nèi)存緩存,并計(jì)算其所須的最佳實(shí)例個(gè)數(shù)。由此,Roudup節(jié)省了40%的花費(fèi),并確保能夠在不影響性能的情況下,適應(yīng)將來(lái)的計(jì)算增長(zhǎng)。
也許不需優(yōu)化,應(yīng)用程序也能夠正常運(yùn)作,就如Roundup那樣。然而,優(yōu)化應(yīng)用能夠提升應(yīng)用相關(guān)性能,如實(shí)用性,防災(zāi)性,以及至關(guān)重要的,節(jié)約公共云使用費(fèi)用。以下是向公共云轉(zhuǎn)化時(shí),優(yōu)化應(yīng)用的5大方法:
1.重組代碼,處理云服務(wù)供應(yīng)商計(jì)費(fèi)模式
AWS不僅僅收取計(jì)算,存儲(chǔ)和網(wǎng)絡(luò)寬帶使用費(fèi)----每次你進(jìn)入存儲(chǔ)器讀寫(xiě)時(shí),它也會(huì)收取相關(guān)費(fèi)用。因此, 你可能會(huì)想將讀寫(xiě)運(yùn)算整合進(jìn)應(yīng)用程序中,并無(wú)論何時(shí)都能夠?qū)烧吆喜閱蝹€(gè)操作。 如此一來(lái), 你只需自己服務(wù)器產(chǎn)生的費(fèi)用,以后的每次讀或?qū)懙牟僮鞫疾粫?huì)產(chǎn)生額外的費(fèi)用。
這項(xiàng)云優(yōu)化技術(shù)的整體效果取決于,你注冊(cè)使用的的公共云服務(wù)供應(yīng)商(CSP)的定價(jià)方法。然而, 無(wú)論你注冊(cè)了哪個(gè)CSP,代碼重組都是一個(gè)提升應(yīng)用程序性能的機(jī)會(huì)。
2.優(yōu)化已選默認(rèn)實(shí)體云
設(shè)立EC2實(shí)例時(shí),你可以在不同層次的計(jì)算,內(nèi)存以及存儲(chǔ)間選擇。此外, EC2上提供Spot實(shí)例,還有多余實(shí)例,能夠隨時(shí)使用,并且價(jià)格遠(yuǎn)低于一般價(jià)格。
它值得你在你的應(yīng)用試驗(yàn)上花一些時(shí)間,以決定所需的最佳計(jì)算,記憶以及存儲(chǔ)水平。這樣能夠幫助你確保你沒(méi)有在性能或配置上超支,它也會(huì)幫弄清你是否該將Spot實(shí)例 (或者從另一個(gè)CSP中獲得的等價(jià)物) 納入考慮。
3.均衡默認(rèn)實(shí)體云所需的服務(wù)水平
所有應(yīng)用都有其專(zhuān)屬配置----即它的一般用途和功能的服務(wù)水平。面向客戶(hù)的電子商務(wù)網(wǎng)站,有和你內(nèi)部員工門(mén)戶(hù)較為不同的服務(wù)水平。估算公共實(shí)體云的花費(fèi),將之與各種應(yīng)用程序所需要的服務(wù)水平相比較,可能會(huì)幫助你優(yōu)化自己的公共云計(jì)算成本。
回顧6月29日的Netflix停電事故??紤]到視頻流服務(wù)的本質(zhì),將其強(qiáng)行塞入Amazon公司位于另一個(gè)郡的數(shù)據(jù)中心也許不可行。然而, 較不密集,并且使命重大的服務(wù)可以被優(yōu)化,從而在可能的情況下,在可供選擇的數(shù)據(jù)中心之外提供服務(wù),避免這種運(yùn)行中斷的現(xiàn)象。
4.微調(diào)自動(dòng)擴(kuò)展原則
能夠自動(dòng)調(diào)整服務(wù)器實(shí)例數(shù)量的應(yīng)用隨處可見(jiàn),這位優(yōu)化提供了良機(jī)。例如,一旦CPU現(xiàn)有實(shí)例利用率達(dá)到80%,你的自調(diào)整比率尺就會(huì)產(chǎn)生一個(gè)新實(shí)例,而若CPU平均利用率達(dá)到40%,自調(diào)整比率尺就又會(huì)產(chǎn)生一個(gè)新實(shí)例。
如何得知80%與40%是正確的數(shù)字?為何不是85%和35%?有了后一項(xiàng)規(guī)定,你就能夠產(chǎn)生更少實(shí)例,降低更多費(fèi)用。
此外,各應(yīng)用程序算法,存儲(chǔ),帶寬需求各不相同。因此,你的規(guī)則需基于以上三項(xiàng)因素的組合,而不僅僅是利用CPU。你可能需要對(duì)不同組合進(jìn)行試驗(yàn),找出適合你的公共云應(yīng)用,以及其所需的服務(wù)層次。
5.數(shù)據(jù)庫(kù)行優(yōu)化
如Netflix那樣的應(yīng)用都有局部限制,即大多數(shù)時(shí)候,客戶(hù)只接觸得到屬于他們的部分?jǐn)?shù)據(jù)。Netflix使用AWS的Regions and Zones來(lái)運(yùn)行服務(wù)器,只為居住在數(shù)據(jù)中心周?chē)目蛻?hù)提供服務(wù)。
這多虧數(shù)據(jù)庫(kù)分區(qū)技術(shù),它能夠在你的數(shù)據(jù)庫(kù)中分區(qū)套排,將不同分區(qū)存儲(chǔ)在數(shù)據(jù)庫(kù)不同數(shù)據(jù)中心內(nèi)。這項(xiàng)技術(shù)同樣應(yīng)用于信用卡處理,自從分區(qū)可適用于局部模型,如處理信用卡持有者的信息或交易情況。
你不必在數(shù)據(jù)庫(kù)實(shí)例中存儲(chǔ)所有數(shù)據(jù)庫(kù)套排。若你能夠分割數(shù)據(jù)庫(kù)套排,并存儲(chǔ)于不同實(shí)例的數(shù)據(jù)庫(kù)分區(qū),你就能夠利用分區(qū)所在的使用模型。這將所需的實(shí)例數(shù)量,由此降低公共云服務(wù)費(fèi)用。
當(dāng)你將應(yīng)用向公共云轉(zhuǎn)化時(shí),你的應(yīng)用也許在不做任何改動(dòng)的情況下也能運(yùn)行的很好。然而,如果你有注意到CSP收費(fèi)方法,并將之與應(yīng)用模式的計(jì)算,內(nèi)存,存儲(chǔ),網(wǎng)絡(luò)帶寬使用率聯(lián)系起來(lái),你就能夠輕易減少公共云費(fèi)用。使用代碼重組優(yōu)化應(yīng)用也許能夠提升應(yīng)用性能并延長(zhǎng)使用壽命,而測(cè)試并微調(diào)默認(rèn)實(shí)例以及自調(diào)整比率尺也許能夠?qū)δ憬档虲SP費(fèi)用。