向公有云轉(zhuǎn)型就跟遷移移動(dòng)應(yīng)用和支付每月賬單一樣簡(jiǎn)單。然而,你的開(kāi)支是否超出應(yīng)有的費(fèi)用?想不想節(jié)省資金、提升性能?下面這五項(xiàng)公有云應(yīng)用程序優(yōu)化技術(shù)將幫助你節(jié)省費(fèi)用,另外還能提升性能。
向公有云轉(zhuǎn)型就跟遷移移動(dòng)應(yīng)用和支付每月賬單一樣簡(jiǎn)單。然而,你的開(kāi)支是否超出應(yīng)有的費(fèi)用?下面這五項(xiàng)公有云應(yīng)用程序優(yōu)化技術(shù)將幫助你節(jié)省費(fèi)用,另外還能提升性能。
1. 重構(gòu)代碼,以應(yīng)對(duì)云服務(wù)提供商的計(jì)費(fèi)模式
亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)不僅僅針對(duì)使用的計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)帶寬向用戶收費(fèi)――每當(dāng)你訪問(wèn)你的存儲(chǔ)資源以便讀取或?qū)懭霐?shù)據(jù)時(shí),它也收費(fèi)。因而,只要有可能,你可能想集合應(yīng)用程序的讀取和寫入,并將它們歸入單一操作。那樣一來(lái),一旦你花錢購(gòu)置了自己的服務(wù)器,每當(dāng)進(jìn)行讀取或?qū)懭氩僮?,就不?huì)產(chǎn)生額外的費(fèi)用。
這項(xiàng)云優(yōu)化技術(shù)的整體效果取決于你簽約使用的那家公有云服務(wù)提供商(CSP)的定價(jià)方法。無(wú)論你與哪家CSP簽約,重構(gòu)代碼都可以視作是提升應(yīng)用程序性能的機(jī)會(huì)。
2. 優(yōu)化已選擇的默認(rèn)云實(shí)例
使用EC2構(gòu)建實(shí)例時(shí),你可以在不同層次的計(jì)算、內(nèi)存和存儲(chǔ)等資源之間進(jìn)行選擇。此外,EC2提供了競(jìng)價(jià)型實(shí)例(Spot Instance),這種實(shí)例是指隨時(shí)可供使用的額外容量,以低于普通實(shí)例的價(jià)格來(lái)提供。
有必要花點(diǎn)時(shí)間試一下你的應(yīng)用程序,以便確定你所需要的計(jì)算、內(nèi)存和存儲(chǔ)等資源的最佳數(shù)量。這將幫助你確保沒(méi)有在容量或配置上開(kāi)支過(guò)度,它會(huì)幫助弄清楚要不要考慮使用競(jìng)價(jià)型實(shí)例(或者另一家CSP提供的同等服務(wù))。
3. 兼顧所需的服務(wù)級(jí)別和默認(rèn)的云實(shí)例
每個(gè)應(yīng)用程序都有各自的服務(wù)級(jí)別配置文件――也就是它的一般用途和功能。比如說(shuō),你那個(gè)面向客戶的電子商務(wù)網(wǎng)站其服務(wù)級(jí)別就不同于內(nèi)部員工門戶網(wǎng)站。對(duì)照各種應(yīng)用程序所需的服務(wù)級(jí)別評(píng)估公有云實(shí)例的成本,可能會(huì)幫助你優(yōu)化公有云成本。
不妨回顧發(fā)生過(guò)的Netflix停運(yùn)事件??紤]到視頻流服務(wù)具有的性質(zhì),鑒于Netflix具有存儲(chǔ)和帶寬密集型的特性,強(qiáng)行啟動(dòng)亞馬遜建在另外地方的另一個(gè)數(shù)據(jù)中心可能行不通。然而,必要的話,可以優(yōu)化不大密集、較為重要的關(guān)鍵任務(wù)型服務(wù),以便由替代的數(shù)據(jù)中心來(lái)提供服務(wù),因而讓Netflix可以不受此類停運(yùn)事件的影響。
4. 微調(diào)自動(dòng)擴(kuò)展規(guī)則
有些應(yīng)用程序可自動(dòng)擴(kuò)展(增加和減少)服務(wù)器實(shí)例的數(shù)量,它們?yōu)閮?yōu)化提供了大好機(jī)會(huì)。比如說(shuō),你可能有一條自動(dòng)擴(kuò)展規(guī)則:一旦處理器的使用率在所有當(dāng)前實(shí)例上達(dá)到80%,就創(chuàng)建一個(gè)新的實(shí)例;還有另一條自動(dòng)擴(kuò)展規(guī)則:一旦處理器的平均使用率達(dá)到40%,就創(chuàng)建新的實(shí)例。
你如何知道80%和40%是正確的數(shù)字?為何不是85%和35%?如果采用后一個(gè)規(guī)則,你就可以創(chuàng)建較少的實(shí)例,并降低成本。
此外,各應(yīng)用程序?qū)τ?jì)算、存儲(chǔ)和帶寬等資源的需求都不一樣。因此,你的規(guī)則需要基于以上三個(gè)因素的復(fù)雜組合,而不是僅僅基于處理器的使用率。你可能需要試一下對(duì)你的公有云應(yīng)用程序和所需的服務(wù)級(jí)別而言看似合乎邏輯的組合。然后,你可以在一段時(shí)間內(nèi)優(yōu)化這些百分比。
5. 數(shù)據(jù)庫(kù)行優(yōu)化
Netflix之類的應(yīng)用程序具有局部性,這意味著大多數(shù)時(shí)候,客戶只能訪問(wèn)屬于他們的數(shù)據(jù)。Netflix使用AWS的地區(qū)(Region)和區(qū)域(Zone)來(lái)托管運(yùn)行服務(wù)器,為住在那些數(shù)據(jù)中心附近的客戶提供服務(wù)。
這之所以能成為現(xiàn)實(shí),多虧了數(shù)據(jù)庫(kù)分片技術(shù)。該技術(shù)讓你可以對(duì)數(shù)據(jù)庫(kù)中的行進(jìn)行分區(qū),將不同的分區(qū)存儲(chǔ)在位于不同數(shù)據(jù)中心的數(shù)據(jù)庫(kù)內(nèi)。這項(xiàng)技術(shù)還適用于信用卡處理之類的應(yīng)用,因?yàn)榉制夹g(shù)適用于局部的使用模式,比如查詢某個(gè)持卡人的交易或與某個(gè)商家之間的交易。
你不需要存儲(chǔ)所有數(shù)據(jù)庫(kù)實(shí)例中的所有數(shù)據(jù)庫(kù)行。如果你能劃分?jǐn)?shù)據(jù)庫(kù)行,并將它們存儲(chǔ)在不同實(shí)例中的數(shù)據(jù)庫(kù)分區(qū),那么你就能充分發(fā)揮使用模式的局部性。這將減少你所需要的服務(wù)器實(shí)例的數(shù)量,因而減少公有云服務(wù)的成本。
你將應(yīng)用程序轉(zhuǎn)移到公有云后,實(shí)際上它可能很順暢地運(yùn)行,沒(méi)有任何變化。不過(guò),如果你注意到CSP如何收費(fèi),并結(jié)合你的應(yīng)用程序使用計(jì)算、內(nèi)存、存儲(chǔ)和網(wǎng)絡(luò)帶寬等資源的模式,很容易降低公有云的費(fèi)用。借助一些代碼重構(gòu)優(yōu)化應(yīng)用程序本身也許能提升應(yīng)用程序的性能,并延長(zhǎng)使用壽命,而試用并微調(diào)你自己的默認(rèn)實(shí)例以及自動(dòng)擴(kuò)展規(guī)則也許有助于進(jìn)一步降低CSP成本。
英文原文鏈接:http://www.computerworlduk.com/how-to/cloud-computing/3373508/how-to-optimise-public-cloud-applications/
文章編輯:CobiNet(寧波)
本公司專注于電訊配件,銅纜綜合布線系列領(lǐng)域產(chǎn)品研發(fā)生產(chǎn)超五類,六類,七類屏蔽網(wǎng)線/屏蔽模塊及相關(guān)模塊配件, 我們是萬(wàn)兆屏蔽模塊,10G屏蔽模塊,屏蔽線生產(chǎn)廠家。
歡迎來(lái)電咨詢0574 88168918,郵箱sales@cobinet.cn,網(wǎng)址m.czchengbang.com
?2016-2019寧波科博通信技術(shù)有限公司版權(quán)所有浙ICP備16026074號(hào)