1. 程式人生 > >雲成本管理方法論(四)——雲優化管理之管理措施

雲成本管理方法論(四)——雲優化管理之管理措施

價格 函數 經驗值 和數 補充 多對多 條件 常見 存在

我們將在此篇文章中繼續討論雲優化管理中的管理措施。

管理措施

問題類型

因為判定規則分析中的判定結果較分散,為便於後繼的分析和使用,我們將判定結果進行分類,不同的類別稱為“問題類型”。

在判定結果中,“數據錯誤”屬於 IaaS 平臺問題,此處不做考慮,另外,“資源不足”和“快照或備份不足”屬於性能及容災優化而非成本優化的範疇,也不做考慮。所以全部的問題類型如下:

  • 閑置資源:1)[組合]無父資源;2)[聚合]父資源已停止;3)[聚合]無子資源。
  • 遺留資源:1)[快照關聯]源資源不存在。
  • 過度冗余:1)快照或備份過多。
  • 預留不足:1)預留資源不足。
  • 預留過剩:1)預留資源低利用率。
  • 低利用率:1)資源低利用率。

技術分享圖片

需要註意的是,有些問題類型的“問題”可能是用戶有意的處理方式,所以並不是真正的需要優化的問題。我們稱這種既可能屬於正常使用方式也可能屬於未合理使用的問題類型為弱問題類型。在實踐中,需要對弱問題類型增加一些輔助判定條件,以減少不需要優化的誤判“問題”。

因為問題類型是優化管理中的一個核心概念,我們有必要總結一下其獲得方式:

以 “資源狀態 + 資源關系狀態” 或 “資源指標 + 指標合理範圍” 作為輸入信息,經過條件匹配或比較運算,從而得出問題類型

技術分享圖片

當然,除了前面分析的基本的判定規則和問題類型,對於某些資源類型也會有其特殊的問題類型及判定規則,這將在分析具體資源時來補充。

事前管理

事前管理的主要工作是制定判定規則,在前面“判定規則”章節已做了一般性的說明,下面針對具體情況再做一些補充。

- 閑置資源

閑置資源指資源處於“活動中”狀態,但並沒有發揮作用。如閑置資源定義中所列舉,一種資源未發揮作用有多種可能,可能是自身未與可使用它的資源進行關聯,也可能是它所從屬的資源未被使用,也可能是它並未包含任何具有實際服務能力的資源。同時,基於閑置資源的這一本質理解,我們也可以後繼將其他的判定結果也歸入此問題類型。

- 遺留資源

遺留資源是指存在快照資源,但生成快照資源的源資源已不再存在。此情形可能是用戶有意為之,也可能是因為疏忽遺忘,尤其是“遺留”時間很長的遺留資源,所以它屬於弱問題類型。對於此類問題的判定需要增加如“遺留時長”等輔助判定條件。

- 預留不足

預留不足是指滿足特定預留匹配規則的實例資源用量大於預留資源用量。判定預留不足的一個關鍵條件是預留匹配規則,此匹配規則一般隨資源類型的不同而不同,下面僅列舉 AWS 雲三種主要預留資源與其實例資源的匹配規則:

  • 虛機(EC2):可用區、租用方式、實例類型和操作系統四個屬性完全匹配1
  • 關系型數據庫(RDS):是否跨可用區部署、實例類型和數據庫引擎(及授權方式)三個屬性完全匹配。
  • 緩存(ElastiCache):實例類型和緩存引擎兩個屬性完全匹配。

另外,如前面說明,不能僅因為瞬時或短時間的預留資源少於實例資源就將其判定為預留不足。因為預留資源的購買時間單位都較長,一般都在 1 年以上,所以計算“預留不足狀態”平均時長的時間單位選擇也會較長,一般可選擇月為單位。比如,在最近 30 天中,如果有一定數量的實例資源在 50% 以上的時間中都處於預留不足的狀態,則可認為這些資源有預留不足的問題。當然,因為有些預留資源的匹配規則比較復雜(比如 AWS 虛機預留實例中的大小靈活性規則)導致預留與實例資源之間實際是一種多對多的動態匹配,以及因為我們優化的目的是節省成本,所以還必須根據預留資源與實例資源之間的價格差來確定合理的“預留不足狀態”平均時長,所以對於預留不足實際的判定有一個非常復雜的邏輯。

- 預留過剩

預留過剩是指滿足特定預留匹配條件的實例資源用量小於預留資源用量。預留過剩的判定方法與預留不足完全相同,僅在兩種資源的用量比較關系上有差別。

- 過度冗余

對於過度冗余類型,首先需要理解冗余本身並不是問題,而“過度”冗余才是問題。但何種程度才算過度,需要參考商務策略或業務需求來得出。簡化來說,剛好滿足商務或業務的需要就是合適,而超出這些需要就是過度。對於過度冗余的判定,可根據資源類型、備份類型、備份數據的大小及資源數據的重要性(比如開發環境和生產環境數據庫重要性的差異)等實際因素來確定其備份數的合理範圍。

比如,對於虛機鏡像,一般只需要 1 份備份;對於開發環境的數據庫快照,可設置 0~1 份備份,而對於生產環境,一般需要保留(7 天) 7 份備份;對於對象存儲(如 AWS S3),可根據數據的數量和重要性,采用低冗余或標準存儲類型。

- 低利用率

資源低利用率是指處於活動中狀態的此類資源的用量大於業務所需。但一種資源往往會具有多種指標,所以一般不能通過單一指標的值來判定一種資源是否低利用率。與此同時,對於判定一種資源是否低利用率應選擇哪些指標也往往跟業務需求及軟件設計有關。所以在我們說某一種資源低利用率時一般並沒有一個確切的概念。因此,在設計成本優化管理軟件時,對於資源低利用率的判定規則,應提供一定的可定制能力。

另外,資源指標的合理範圍一般是行業或業務經驗值,沒有確切的參考標準。在實踐中,一般會由雲優化管理產品的提供商對行業經驗值整理歸納提出,或是企業人員根據自身經驗或參考資料設定。同時,不管是來源於雲管理產品提供商還是企業人員,隨著應用和實踐經驗的不斷積累,這個合理範圍往往也會不斷調整變化。

事中管理

優化管理的事中管理措施包括發現(違規)問題、報告問題及處理問題。前兩項工作參照通用管理模型中說明即可,這裏僅對處理問題措施即優化措施進行說明。

- 閑置資源

閑置資源優化措施:停止或終止資源。

對此類問題的處理需註意下面兩點:

  1. 有些閑置資源,比如已停止的虛機掛載的存儲卷,可能是因為被疏忽,也可能是充當的備份的作用,如果是後者,直接終止此資源是不恰當的,所以對於閑置資源要區分實際情況確定是否實施優化。
  2. 在停止某些閑置資源時,可能會導致其子資源也成為閑置資源,對於此情況可一並處理。

- 遺留資源

遺留資源優化措施:停止或終止資源。

由於遺留資源是一種弱問題類型,除了在判定時要增加輔助判定條件外,在執行優化措施前,最好應首先由資源實際使用者確認可否執行優化措施。

- 過度冗余

過度冗余優化措施:停止或終止過度冗余部分的資源。

如前所述,冗余本身並不是問題,所以這裏的優化措施只是消除冗余中“過度”的那一部分,而非消除全部的冗余資源。

- 預留不足

預留不足優化措施:修改現有預留或實例資源匹配屬性或購買預留實例。

預留資源不足有兩種可能原因,一種是啟動的實例資源沒有匹配上已購買的預留資源,另一種是已購買的預留資源不足。如果是前者,則應優先考慮修改預留資源的匹配屬性以實現匹配,如果無法通過修改預留資源屬性實現,再考慮修改實例資源匹配屬性2;如果是後者,再考慮購買新的預留資源。

- 預留過剩

預留過剩優化措施:修改現有預留或實例資源匹配屬性或出售預留實例。

預留資源過剩也有兩種可能原因,一種是啟動的實例資源沒有匹配上已購買的預留資源,另一種是過量購買了預留資源。如果是前者,應優先考慮修改預留資源的匹配屬性以實現匹配,如果無法通過修改預留資源屬性實現,再考慮修改實例資源匹配屬性;如果是後者,可考慮出售過剩的預留資源。

從預留不足和預留過剩兩種問題的原因可以看到,實例與預留資源不匹配可能同時引起預留不足和預留過剩,所以多數情況下,在發生預留不足或過剩的問題時,應先仔細考察兩種資源的匹配情況來消除這兩類問題。同時,如果正確地按照此方式來進行優化,也會避免預留資源絕對過剩的情況(必須通過出售預留資源來優化)。但是,回到實際情況來看,由於前面在“預留不足”問題類型中關於預留資源匹配邏輯的說明,靠人工是很難準確完成兩種資源的匹配的,也就是說此類優化一般都通過雲管理平臺(CMP)來實現。

- 低利用率

低利用率優化措施:停止或終止過剩的資源。

由於不同資源以及相同資源在不同業務中都會有不同的低利用率判定規則,所以具體的資源低利用率種類非常多樣,在實施優化時也需要根據不同的種類采取不同的措施。

常見的低利用率種類有虛機資源數量過剩,緩存資源內存過剩,網絡帶寬過剩,數據庫存儲過剩,存儲卷容量過剩,存儲卷 IOPS 過剩,存儲卷吞吐量過剩等等。由於低利用率問題種類眾多,所以我們會在後面文章中分資源專題分析,這裏僅就 AWS 雲平臺中“存儲卷 IOPS 過剩”做一個示例。

假設用戶當前使用的“預配置 IOPS”(標識為“io1”)的卷類型,則要降低 IOPS 有兩種方法,一種是保持現有卷類型,並將預配置 IOPS 的值降低到合適值(同時可能伴隨減少卷大小);一種是將卷類型變為通用卷(標識為“gp2”),並修改卷的大小,使其基準 IOPS 達到滿足需求的合適值。如果僅從降低 IOPS 這一指標值的角度,這兩種方法是等價的。但需要註意的是,我們對存儲卷 IOPS 過剩這一問題優化的根本目的是節省成本,而非僅是表面上降低這一指標值。我們知道,存儲卷的成本由三個因素決定:卷類型,卷大小和預配置 IOPS(對於通用卷類型,不包含此因素)。所以我們需要在給定預配置 IOPS 或基準 IOPS 取值的情況下,通過調整卷類型和卷大小兩個因素,來尋求存儲卷成本的最小值。

事實上,卷類型、卷大小、 IOPS 值及卷成本之間確實存在確定的函數關系,因此上述求最小值的目標是可以實現的。但因為這些函數關系都是非線性的,所以需要通過較復雜的驗算才能得出。考慮到此篇文章的重點是研究方法論,所以這裏將不做詳細的驗算,但為了表明其復雜性,下面給出卷成本與卷類型及卷大小:

技術分享圖片

以及通用卷類型基準 IOPS 與卷大小的函數曲線:

技術分享圖片

實際上,要完成上述的驗算,實際還需要提供預配置 IOPS 與其成本(此成本獨立於卷大小產生的成本)的函數關系。因為這一關系是連續的和線性的,比較簡單,所以不再給出函數曲線圖。

事後管理

同通用管理模型中說明。

下期預告

下期文章:《雲成本管理方法論(五)——優化效果測量模型》,將給出一些不同的優化效果測量模型並分析其優缺點。在實踐中可根據具體應用場景來做選擇。


  1. 嚴格來說,EC2 預留實例有三種預留類型:標準 RI、可轉換 RI 和計劃 RI。這裏只給出了標準 RI 可用區範圍(相對於區域範圍)的匹配規則。對於完整的匹配規則,我們將在後面虛機相關的專題文章中討論。?

  2. 相較於修改預留資源,修改實例資源的匹配屬性需要更繁復的操作,並存在一定風險,所以優先應選擇前者。?

雲成本管理方法論(四)——雲優化管理之管理措施