咱們將在此篇文章中繼續討論雲優化管理中的管理措施。數據庫
由於斷定規則分析中的斷定結果較分散,爲便於後繼的分析和使用,咱們將斷定結果進行分類,不一樣的類別稱爲「問題類型」。緩存
在斷定結果中,「數據錯誤」屬於 IaaS 平臺問題,此處不作考慮,另外,「資源不足」和「快照或備份不足」屬於性能及容災優化而非成本優化的範疇,也不作考慮。因此所有的問題類型以下:網絡
須要注意的是,有些問題類型的「問題」多是用戶有意的處理方式,因此並非真正的須要優化的問題。咱們稱這種既可能屬於正常使用方式也可能屬於未合理使用的問題類型爲弱問題類型。在實踐中,須要對弱問題類型增長一些輔助斷定條件,以減小不須要優化的誤判「問題」。函數
由於問題類型是優化管理中的一個核心概念,咱們有必要總結一下其得到方式:性能
以 「資源狀態 + 資源關係狀態」 或 「資源指標 + 指標合理範圍」 做爲輸入信息,通過條件匹配或比較運算,從而得出問題類型。優化
固然,除了前面分析的基本的斷定規則和問題類型,對於某些資源類型也會有其特殊的問題類型及斷定規則,這將在分析具體資源時來補充。操作系統
事前管理的主要工做是制定斷定規則,在前面「斷定規則」章節已作了通常性的說明,下面針對具體狀況再作一些補充。設計
閒置資源指資源處於「活動中」狀態,但並無發揮做用。如閒置資源定義中所列舉,一種資源未發揮做用有多種可能,多是自身未與可以使用它的資源進行關聯,也多是它所從屬的資源未被使用,也多是它並未包含任何具備實際服務能力的資源。同時,基於閒置資源的這一本質理解,咱們也能夠後繼將其餘的斷定結果也納入此問題類型。3d
遺留資源是指存在快照資源,但生成快照資源的源資源已再也不存在。此情形多是用戶有意爲之,也多是由於疏忽遺忘,尤爲是「遺留」時間很長的遺留資源,因此它屬於弱問題類型。對於此類問題的斷定須要增長如「遺留時長」等輔助斷定條件。對象
預留不足是指知足特定預留匹配規則的實例資源用量大於預留資源用量。斷定預留不足的一個關鍵條件是預留匹配規則,此匹配規則通常隨資源類型的不一樣而不一樣,下面僅列舉 AWS 雲三種主要預留資源與其實例資源的匹配規則:
另外,如前面說明,不能僅由於瞬時或短期的預留資源少於實例資源就將其斷定爲預留不足。由於預留資源的購買時間單位都較長,通常都在 1 年以上,因此計算「預留不足狀態」平均時長的時間單位選擇也會較長,通常可選擇月爲單位。好比,在最近 30 天中,若是有必定數量的實例資源在 50% 以上的時間中都處於預留不足的狀態,則可認爲這些資源有預留不足的問題。固然,由於有些預留資源的匹配規則比較複雜(好比 AWS 虛機預留實例中的大小靈活性規則)致使預留與實例資源之間實際是一種多對多的動態匹配,以及由於咱們優化的目的是節省成本,因此還必須根據預留資源與實例資源之間的價格差來肯定合理的「預留不足狀態」平均時長,因此對於預留不足實際的斷定有一個很是複雜的邏輯。
預留過剩是指知足特定預留匹配條件的實例資源用量小於預留資源用量。預留過剩的斷定方法與預留不足徹底相同,僅在兩種資源的用量比較關係上有差異。
對於過分冗餘類型,首先須要理解冗餘自己並非問題,而「過分」冗餘纔是問題。但何種程度纔算過分,須要參考商務策略或業務需求來得出。簡化來講,恰好知足商務或業務的須要就是合適,而超出這些須要就是過分。對於過分冗餘的斷定,可根據資源類型、備份類型、備份數據的大小及資源數據的重要性(好比開發環境和生產環境數據庫重要性的差別)等實際因素來肯定其備份數的合理範圍。
好比,對於虛機鏡像,通常只須要 1 份備份;對於開發環境的數據庫快照,可設置 0~1 份備份,而對於生產環境,通常須要保留(7 天) 7 份備份;對於對象存儲(如 AWS S3),可根據數據的數量和重要性,採用低冗餘或標準存儲類型。
資源低利用率是指處於活動中狀態的此類資源的用量大於業務所需。但一種資源每每會具備多種指標,因此通常不能經過單一指標的值來斷定一種資源是否低利用率。與此同時,對於斷定一種資源是否低利用率應選擇哪些指標也每每跟業務需求及軟件設計有關。因此在咱們說某一種資源低利用率時通常並無一個確切的概念。所以,在設計成本優化管理軟件時,對於資源低利用率的斷定規則,應提供必定的可定製能力。
另外,資源指標的合理範圍通常是行業或業務經驗值,沒有確切的參考標準。在實踐中,通常會由雲優化管理產品的提供商對行業經驗值整理概括提出,或是企業人員根據自身經驗或參考資料設定。同時,不論是來源於雲管理產品提供商仍是企業人員,隨着應用和實踐經驗的不斷積累,這個合理範圍每每也會不斷調整變化。
優化管理的事中管理措施包括髮現(違規)問題、報告問題及處理問題。前兩項工做參照通用管理模型中說明便可,這裏僅對處理問題措施即優化措施進行說明。
閒置資源優化措施:中止或終止資源。
對此類問題的處理需注意下面兩點:
遺留資源優化措施:中止或終止資源。
因爲遺留資源是一種弱問題類型,除了在斷定時要增長輔助斷定條件外,在執行優化措施前,最好應首先由資源實際使用者確承認否執行優化措施。
過分冗餘優化措施:中止或終止過分冗餘部分的資源。
如前所述,冗餘自己並非問題,因此這裏的優化措施只是消除冗餘中「過分」的那一部分,而非消除所有的冗餘資源。
預留不足優化措施:修改現有預留或實例資源匹配屬性或購買預留實例。
預留資源不足有兩種可能緣由,一種是啓動的實例資源沒有匹配上已購買的預留資源,另外一種是已購買的預留資源不足。若是是前者,則應優先考慮修改預留資源的匹配屬性以實現匹配,若是沒法經過修改預留資源屬性實現,再考慮修改實例資源匹配屬性2;若是是後者,再考慮購買新的預留資源。
預留過剩優化措施:修改現有預留或實例資源匹配屬性或出售預留實例。
預留資源過剩也有兩種可能緣由,一種是啓動的實例資源沒有匹配上已購買的預留資源,另外一種是過量購買了預留資源。若是是前者,應優先考慮修改預留資源的匹配屬性以實現匹配,若是沒法經過修改預留資源屬性實現,再考慮修改實例資源匹配屬性;若是是後者,可考慮出售過剩的預留資源。
從預留不足和預留過剩兩種問題的緣由能夠看到,實例與預留資源不匹配可能同時引發預留不足和預留過剩,因此多數狀況下,在發生預留不足或過剩的問題時,應先仔細考察兩種資源的匹配狀況來消除這兩類問題。同時,若是正確地按照此方式來進行優化,也會避免預留資源絕對過剩的狀況(必須經過出售預留資源來優化)。可是,回到實際狀況來看,因爲前面在「預留不足」問題類型中關於預留資源匹配邏輯的說明,靠人工是很難準確完成兩種資源的匹配的,也就是說此類優化通常都經過雲管理平臺(CMP)來實現。
低利用率優化措施:中止或終止過剩的資源。
因爲不一樣資源以及相同資源在不一樣業務中都會有不一樣的低利用率斷定規則,因此具體的資源低利用率種類很是多樣,在實施優化時也須要根據不一樣的種類採起不一樣的措施。
常見的低利用率種類有虛機資源數量過剩,緩存資源內存過剩,網絡帶寬過剩,數據庫存儲過剩,存儲卷容量過剩,存儲卷 IOPS 過剩,存儲卷吞吐量過剩等等。因爲低利用率問題種類衆多,因此咱們會在後面文章中分資源專題分析,這裏僅就 AWS 雲平臺中「存儲卷 IOPS 過剩」作一個示例。
假設用戶當前使用的「預配置 IOPS」(標識爲「io1」)的卷類型,則要下降 IOPS 有兩種方法,一種是保持現有卷類型,並將預配置 IOPS 的值下降到合適值(同時可能伴隨減小卷大小);一種是將卷類型變爲通用卷(標識爲「gp2」),並修改卷的大小,使其基準 IOPS 達到知足需求的合適值。若是僅從下降 IOPS 這一指標值的角度,這兩種方法是等價的。但須要注意的是,咱們對存儲卷 IOPS 過剩這一問題優化的根本目的是節省成本,而非僅是表面上下降這一指標值。咱們知道,存儲卷的成本由三個因素決定:卷類型,卷大小和預配置 IOPS(對於通用卷類型,不包含此因素)。因此咱們須要在給定預配置 IOPS 或基準 IOPS 取值的狀況下,經過調整卷類型和卷大小兩個因素,來尋求存儲捲成本的最小值。
事實上,卷類型、卷大小、 IOPS 值及捲成本之間確實存在肯定的函數關係,所以上述求最小值的目標是能夠實現的。但由於這些函數關係都是非線性的,因此須要經過較複雜的驗算才能得出。考慮到此篇文章的重點是研究方法論,因此這裏將不作詳細的驗算,但爲了代表其複雜性,下面給出捲成本與卷類型及卷大小:
以及通用卷類型基準 IOPS 與卷大小的函數曲線:
實際上,要完成上述的驗算,實際還須要提供預配置 IOPS 與其成本(此成本獨立於卷大小產生的成本)的函數關係。由於這一關係是連續的和線性的,比較簡單,因此再也不給出函數曲線圖。
同通用管理模型中說明。
下期文章:《雲成本管理方法論(五)——優化效果測量模型》,將給出一些不一樣的優化效果測量模型並分析其優缺點。在實踐中可根據具體應用場景來作選擇。