AWS的雲端成本優化指標ESR
ESR(Effective Savings Rate)是一個客觀的 FinOps 指標,可用於衡量不同雲端成本最佳化工具、方法和CSP的節費績效。 ESR 以百分比表示,代表雲端服務的費用折扣率。
ESR = 1 - (實際雲端費用 / ODE )
實際支出(已套用折扣)是透過 RI 和SP(Saving Plans)支付的金額,攤銷任何預付費用。ODE支出是在不套用折扣的情況下將支付的費用。
ESR的組件
用於衡量雲端成本優化節費績效的典型 FinOps 指標(例如折扣的覆蓋範圍和資源利用率)是有限的。折扣覆蓋率和利用率一起使用只能衡量多維公式的兩個維度。 ESR 會包含以下三個維度以準確計算ROI。
- 承諾覆蓋範圍(commitment coverage) —
雲端環境中折扣券所「覆蓋covered」的雲端資源的百分比。 - 利用率(utilization) —
「用在」降低雲端資源成本的折扣券使用的百分比 - 費率折扣率( discount rate) —
我們在雲端環境中的每個雲端資源中收到的雲端資源的On-Demand(就是list price)的百分比。
在計算有效節費率時,必須考慮所有這三個組成部分,以真正瞭解從使用折扣券中獲得的ROI。
ESR — AWS折扣計算範例
ESR = 節省的費用/沒有折扣情況下的費用
步驟一:設定量測區間
例如從2024/6/1– 2024/6/30。但需要注意的是結束日期並不包括在內,即從 23:59:59 提取資料,直至指定日期(但不包括指定日期)。
步驟二:執行AWS CLI
aws ce get-savings-plans-utilization --time-period Start=2024-06-01,End=2024-06-30 --filter '{ "Dimensions": { "Key": "SAVINGS_PLANS_TYPE", "Values": [ "ComputeSavingsPlans", "EC2InstanceSavingsPlans" ] } }' --query 'Total.Savings.[{OnDemandCostOfSPHoursUsed: OnDemandCostEquivalent}, {NetSPSavings: NetSavings}]'
aws ce get-reservation-utilization --time-period Start=2024-06-01,End=2024-06-30 --filter '{ "Dimensions": { "Key": "SERVICE", "Values": [ "Amazon Elastic Compute Cloud - Compute" ] } }' --query 'Total.[{OnDemandCostOfRIHoursUsed: OnDemandCostOfRIHoursUsed}, {NetRISavings: NetRISavings}]'
aws ce get-savings-plans-coverage --time-period Start=2024-06-01,End=2024-06-30 --filter '{ "Dimensions": { "Key": "SERVICE", "Values": [ "Amazon Elastic Compute Cloud - Compute", "Amazon EC2 Container Service", "Amazon Elastic Container Service", "Amazon Elastic Container Service for Kubernetes", "AWS Lambda" ] } }' --query 'SavingsPlansCoverages[].Coverage.{OnDemandCost: OnDemandCost}'
步驟三:計算
將以A B C項加總:
A. Savings Plan On-Demand Equivalent Spend (EC2, Fargate, Lambda)
+
B. Reserved Instance On-Demand Equivalent Spend (EC2)
+
C. On-Demand Spend (EC2, Fargate, Lambda)
= D(這個計算是按On-demand價格)
其中:
A數值會從
get-savings-plan-utilization → OnDemandCostOfSPHoursUsed
這裡產生
B數值會從
get-reservation-utilization → OnDemandCostOfRIHoursUsed
這裡產生
C數值會從
get-savings-plan-coverage → OnDemandCost
這裡產生
另外加總
E. Savings from Compute related SP
+
F. Savings from Compute related RI
= G (計算 RI & SP)
其中
E數值由
get-savings-plan-utilization → NetSPSavings
產生
F數值由
get-reservation-utilization → NetRISavings
產生
步驟四:取得已經實現節費結果的成本
這裡是指我們已節省的成本(如CMP、服務、時間、工具等成本)。我們將結果稱為H
步驟五:計算我們的ESR
(G-H)/D
如果沒有H項,就直接將G除於D。得出的數字越高,節費效率越好。
PS:這個 ESR 計算式只限於透過RI和 SP節省的 AWS 折扣運算(即 EC2、Fargate 和 Lambda,不包括 Spot)。它不計算來自 EDP、私人定價協議等的額外折扣,這些折扣將帶來增量節費和更高的 ESR。
以下為一個統計數字,我們可以看到只有2%的企業可以達到40%以上的ESR。