8個雲成本最佳化的最佳實踐

Seal軟體發表於2023-03-15

在《2022年雲端計算現狀報告》中,國際知名軟體資產管理商 Flexera 透過對近千家企業進行調查得出資料:企業平均浪費32%的雲業務支出。隨後,在2023年的報告中,FinOps 12年來首次超越安全,成為諸多企業關注的頭等大事。
 

本文我們將展開聊聊企業乃至開發人員如何進行雲成本最佳化。
 

1、設定指標洞察成本異常

檢視雲端計算成本需要監控工具以及預先定義好的指標。以下列出了其中一些比較重要的雲成本指標,供您參考:
 

  • Uptime:系統為使用者請求提供服務的時間
  • CPU 利用率:用於完成特定任務或處理使用者請求的所需算力的百分比
  • 記憶體使用:公有云、私有云及混合雲環境中記憶體的使用情況
  • 每分鐘的請求數量:基於雲的應用每分鐘收到的使用者請求的數量
  • 磁碟使用率:跟蹤某個節點上使用的磁碟容量,並確定儲存容量是否能夠滿足工作負載
  • 平均確認時間:系統響應使用者請求所需要的時間
  • 延遲:請求時間到響應時間的間隔
  • 平均故障間隔時間(MTBF):系統或應用程式發生故障之間的平均間隔時間
  • 平均修復時間(MTTR):在發生故障後系統恢復服務所需時間。MTTR 越短意味著當機成本越小,有助於雲成本最佳化
     

2、藉助熱力圖瞭解系統內部正在發生什麼

熱力圖是一種視覺化工具,它可以展示計算需求的高峰和低谷。藉助這一資訊,你可以預估某項服務是否可以在特定時間關閉而不影響其他服務和業務。
 

藉助熱力圖鑑別出此類資源並配置排程,使其只在需要時才執行,進而無需對未使用的服務進行支援,降低雲端計算成本。例如,熱力圖會告訴你在週末時你是否可以安全地關閉開發伺服器。
 

3、選擇預留例項或spot instance

在雲端計算中,如果企業願意做出某些權衡,那麼就能夠找到比按需資源(On-demand Resources)更便宜的替代方案。如果條件允許,可以考慮以下折扣方案:
 

  • 預留例項:企業如果預先承諾在1到3年內使用一定量的資源,那麼可以透過預留例項來節省雲資源。根據平臺和其他變數的不同,相比於按需資源,預留例項可以節省高達80%的費用。主流的雲廠商都會提供該定價模式。預留例項適合具有穩定、可預測容量的工作負載。
  • Spot Instance:開發人員可以以大幅折扣的低價獲得未使用的容量。是否能夠憑藉這一定價模式節省費用主要取決於所購買的資源型別以及購買時的價格。Spot Instance 的缺陷是它們可能會被突然切斷,這主要由地區的整體容量需求確定。因此,此類例項最好用於無狀態工作負載、批處理作業和其他可以允許中斷的任務。
     

4、合理調整計算服務

企業需要針對雲服務的全域性檢視以方便對其進行合理調整,合理調整是一個重要的核心流程,涉及計算例項分析、識別閒置資源以及停用某些例項以最佳化雲成本等。因此,可能需要對 IT 去中心化或確保每個部門在雲環境中使用的是同一個賬號。
 

藉助細粒度的可見性,可以識別出超額配置或者閒置的資源。而當成本在某個特定的時期內超過預先設定的百分比時,相關的觀測工具會向你發出通知。企業也可以配置該工具,如在某個時間點後終止未使用的資產,這可以對雲成本進行進一步最佳化。
 

行之有效的調整可以節省高達70%的雲成本
 

5、SDLC 的每個階段都進行成本最佳化

雲成本並不是在構建和釋出產品之後才需要考慮的問題,而應該將成本最佳化納入整個軟體開發生命週期。以下是是將雲成本最佳化整合到SDLC的4個步驟:
 

  • Plan:使用資料證明預算的合理性,並透過成本資料為技術債務相關決策和產品路線圖提供資訊。這種做法有助於減少突發性的額外支出,並且可以根據需要靈活且迅速地調整預算。
  • 部署和操作:迅速發現意外指出,並調整成本和預算
  • 設計和搭建:記錄所有必要的資料,以便在最佳資源使用的基礎上為架構決策提供資訊。
  • Review:按團隊、功能和產品重新評估成本,以根據業務舉措報告業務支出和投資回報率(ROI)
     

將成本最佳化左移到每個階段可以最大化雲的投資回報率。
 

6、避免雲蔓延(Cloud Sprawl)

雲蔓延(Cloud sprawl)是指一種不受控制的雲資源增殖的情況,是許多企業雲端計算賬單飆升的罪魁禍首。當企業未能消除不再是其整體戰略一部分的雲服務時,他們就會繼續為這些服務付費。
 

舉個例子,儲存例項會持續積累,特別是用於資料保護或從計算例項剝離出來時。此時,如果雲伺服器例項沒有被刪除,那麼相關的儲存可能會被忽視。因此,需要識別不再需要的儲存並且考慮與企業資料保留策略一致的刪除計劃。
 

想要最小化蔓延的風險,需要透過基礎設施、應用監控和管理工具,對雲環境構建合理的可見性。另外,需要設定企業策略確定如何以及何時對不再需要的雲資源進行處理。並且使用自動化配置來關閉舊的工作負載。
 

除了雲策略外,密切監控雲賬單和合同以及時發現組織是否在為不需要的雲服務付費。
 

7、採用雲原生設計

使用更具成本效益的系統來替代現有的雲系統以充分利用雲的獨特優勢。例如,可以設計一個有自動彈性伸縮功能的系統來確保你只為使用的伺服器付費。
 

你可以利用一些工具和專業檔案來幫助你設計系統並且使用雲原生原則降低成本。雲原生設計需要特殊技能,所以你可能需要一些指導才能實現它,而且一般情況下,企業只會修改現有的雲基礎架構而不會從頭開始設計。
 

你的設計應該平衡效能、雲最佳化以及基於企業優先順序和目標的其他考慮因素。比如,雲端中一個敏捷的 DevOps 流水線也許並不會降低成本。
 

8、消除影子IT(Shadow IT)

當員工自行註冊並使用公司的雲資源用於個人用途時,這被稱為影子IT,這在無意中大大增加了雲成本。
 

影子IT除了增加成本外,還會導致不計其數的資料訪問,這會帶來巨大的安全風險。因此,培訓員工瞭解影子IT的危險是至關重要的,同時企業還應該採取措施防止未經授權的雲訪問,例如,定期審計並阻止未經批准的應用程式。
 

總結

雲成本最佳化並不是偷工減料和減少開支,而是採用一種策略性的方法來創造價值並且提升業務表現。藉助正確的工具和方法,企業可以節省大量的成本、最佳化資源利用率並且交付更好的客戶體驗。所以,無論是初創企業還是大型集團,將雲成本最佳化作為重中之重,將會看到業務在雲端計算的助力下展翅騰飛。

相關文章