向公共雲轉化能夠與移動應用和支付帳單一樣簡單,然而,你的花費是否總是超出該有的費用?以下五個公共雲應用優化技術能夠説明你節約花費,提高應用性能。
上月,週五晚的暴風雨導致亞馬遜網伺服器運行中斷,為美國東部提供服務的網站如Netflix ,Pinterest以及Instagram因此崩潰。 尤其是Netflix網站,週五晚屬於尖峰時間,所以顧客對於運行中斷不可能毫無怨言。
同樣,Roudup是許多基因組圖應用之一,用於預測基因、器官和生物功能之間的進化關係。 Rounduo使用密集型計演算法,因此哈佛科研者只得綜合使用由亞馬遜網路服務(AWS)提供的簡單存儲(S3),彈性計算雲(EC2),彈性程式設計(EMR)服務。 為優化應用,Roudup團隊減少了磁片I/O,縮減記憶體緩存,並計算其所須的最佳實例個數。 由此,Roudup節省了40%的花費,並確保能夠在不影響性能的情況下,適應將來的計算增長。
也許不需優化,應用程式也能夠正常運作,就如Roundup那樣。 然而,優化應用能夠提升應用相關性能,如實用性,防災性,以及至關重要的,節約公共雲使用費用。 以下是向公共雲轉化時,優化應用的5大方法:
1.重組代碼,處理雲HTTP://www.aliyun.com/zixun/aggregation/15552.html">服務供應商計費模式
AWS不僅僅收取計算,存儲和網路寬頻使用費----每次你進入儲存體讀寫時,它也會收取相關費用。 因此, 你可能會想將讀寫運算整合進應用程式中,並無論何時都能夠將兩者合併為單個操作。 如此一來, 你只需自己伺服器產生的費用,以後的每次讀或寫的操作都不會產生額外的費用。
這項雲優化技術的整體效果取決於,你註冊使用的的公共雲服務供應商(CSP)的定價方法。 然而, 無論你註冊了哪個CSP,代碼重組都是一個提升應用程式性能的機會。
2.優化已選預設實體雲
設立EC2實例時,你可以在不同層次的計算,記憶體以及存儲間選擇。 此外, EC2上提供Spot實例,還有多餘實例,能夠隨時使用,並且價格遠低於一般價格。
它值得你在你的應用試驗上花一些時間,以決定所需的最佳計算,記憶以及存儲水準。 這樣能夠説明你確保你沒有在性能或配置上超支,它也會幫弄清你是否該將Spot實例 (或者從另一個CSP中獲得的等價物) 納入考慮。
3.均衡預設實體雲所需的服務水準
所有應用都有其專屬配置----即它的一般用途和功能的服務水準。 面向客戶的電子商務網站,有和你內部員工門戶較為不同的服務水準。 估算公共實體雲的花費,將之與各種應用程式所需要的服務水準相比較,可能會説明你優化自己的公共雲計算成本。
回顧6月29日的Netflix停電事故。 考慮到視頻流服務的本質,將其強行塞入Amazon公司位於另一個郡的資料中心也許不可行。 然而, 較不密集,並且使命重大的服務可以被優化,從而在可能的情況下,在可供選擇的資料中心之外提供服務,避免這種運行中斷的現象。
4.微調自動擴展原則
能夠自動調整伺服器實例數量的應用隨處可見,這位優化提供了良機。 例如,一旦CPU現有實例利用率達到80%,你的自調整比率尺就會產生一個新實例,而若CPU平均利用率達到40%,自調整比率尺就又會產生一個新實例。
如何得知80%與40%是正確的數位?為何不是85%和35%?有了後一項規定,你就能夠產生更少實例,降低更多費用。
此外,各應用程式演算法,存儲,頻寬需求各不相同。 因此,你的規則需基於以上三項因素的組合,而不僅僅是利用CPU。 你可能需要對不同組合進行試驗,找出適合你的公共雲應用,以及其所需的服務層次。
5.資料庫行優化
如Netflix那樣的應用都有局部限制,即大多數時候,客戶只接觸得到屬於他們的部分資料。 Netflix使用AWS的Regions and Zones來運行伺服器,只為居住在資料中心周圍的客戶提供服務。
這多虧資料庫分區技術,它能夠在你的資料庫中分區套排,將不同分區存儲在資料庫不同資料中心內。 這項技術同樣應用於信用卡處理,自從分區可適用于局部模型,如處理信用卡持有者的資訊或交易情況。
你不必在資料庫實例中存儲所有資料庫套排。 若你能夠分割資料庫套排,並存儲于不同實例的資料庫分區,你就能夠利用分區所在的使用模型。 這將所需的實例數量,由此降低公共雲服務費用。
當你將應用向公共雲轉化時,你的應用也許在不做任何改動的情況下也能運行的很好。 然而,如果你有注意到CSP收費方法,並將之與應用模式的計算,記憶體,存儲,網路頻寬使用率聯繫起來,你就能夠輕易減少公共雲費用。 使用代碼重組優化應用也許能夠提升應用性能並延長使用壽命,而測試並微調預設實例以及自調整比率尺也許能夠對你降低CSP費用。
(責任編輯:蒙遺善)