本文介紹在雲原生背景下,如何通過FinOps實現成本控制和最佳化,最終實現雲上成本有效管控。
什麼是FinOps?
FinOps(財務營運)是企業雲財務管理文化和實踐的結合,即“Finance” + “DevOps”。依據FinOps基金會的定義,FinOps是一種不斷髮展的雲財務管理學科和文化實踐,通過協助工程師、財務、技術和業務團隊協作制定資料驅動的支出決策,使企業能夠獲得最大的業務價值。
在雲端運算的背景下,FinOps的核心目標是使企業能夠實現雲資源的成本可預測性、透明度和責任性,從而確保在追求技術敏捷性和創新的同時,也能夠控制和最佳化支出。
關於什麼是成本洞察和成本最佳化,請參見成本套件概述。
FinOps實現流程
要使FinOps實施取得預期的效果,企業需要具備以下條件。
在準備階段,建內部FinOps體系和團隊,完成文化層面的轉變,並建立清晰的FinOps戰略目標。
在實施階段,企業需要建立全面的資源和成本監控,選擇合適的成本最佳化策略,並形成長效運作機制,使雲上成本可以有效管控。
下文將對實施FinOps前的準備階段和FinOps實施階段做詳細說明。
實施FinOps前的準備工作
在準備實施FinOps前,需要您制定策略和轉變意識,因為這些條件決定了FinOps能否順利實施並取得預期的效果。主要需關注以下幾點:
推廣FinOps的價值觀:雲原生情境下,資源和成本具有較高動態性,需要依賴營運、業務、財務等多個職能團隊協同管理,這種情況下,每個成員都需要培養主動考慮成本的意識。
確立共同的FinOps目標:需要從企業的高層到基層的成員之間形成共識,確立共同的FinOps目標,並將這些目標與公司的整體戰略緊密對齊。
建立全員參與的責任體系:需要構建全員共擔的責任體系,以確保全員在實施過程中能夠承擔起相應的責任,共同推動FinOps目標的達成。
FinOps實施階段
步驟一:成本洞察
在實施階段,成本洞察是實施FinOps的第一步,同時也貫穿在整個FinOps流程。企業需要構建成本監控系統,重點能力包括:業務成本分攤、資源監控、成本預測等。企業的不同角色由於職責不同,在成本洞察時也有各自的視角。
IT主管或財務:從全域視角查看總成本是否在預算範圍內,成本趨勢是否正常。
IT營運人員:在成本異常時,從資源層面檢查是否資源付費策略可以最佳化,或查看造成成本異常的部門或業務,向下驅動業務團隊檢查。
業務研發人員:檢查對應業務的資源使用方式,分析成本上升原因,評估最佳化策略。
在雲原生架構下,企業一般可以藉助雲原生FinOps工具解決業務成本分攤的問題。ACK成本套件也提供了成本洞察大盤以及成本資料匯出API的能力,您可以直接使用維度豐富的成本洞察大盤,也可以基於成本API構建內部FinOps系統。詳細資料,請參見使用成本洞察實現成本管理及最佳化。
步驟二:成本最佳化
在成本最佳化階段,企業首先需要根據資源水位和成本預算評估可最佳化空間,業務人員(研發人員)再根據資源分派、付費策略以及業務情況等確定最佳化策略,最後再根據最佳化策略進行成本最佳化。
選擇業務無感的最佳化策略
對於企業常見因資源使用率低導致的浪費,您可以從資源分派或付費策略方面進行最佳化。
最佳化應用的資源分派:通過資源畫像調整資源申請和限制值,最佳化調度策略。
調整雲資源採購策略:調整執行個體規格組合,最佳化付費策略,清理閑置資源。
選擇業務感知的最佳化策略
步驟三:成本控制
完成成本洞察和成本最佳化後,可以通過成本控制來保障整個成本治理的流程處於可控狀態下,防止因成本治理周期較長,導致叢集和應用的費用超出限額或者增速過快的情況。關於如何控製成本,請參見成本控制。
相關文檔
如需可視化地查看成本洞察大盤,或者需要通過HTTP API查看部門和應用分攤叢集賬單的成本,請參見使用成本洞察實現成本管理及最佳化、通過Allocation API擷取。
如有降低容器配置Request和Limit複雜性的需求,可以通過資源畫像功能實現容器粒度的資源規格推薦,協助您調整應用規格配置。詳細資料,請參見資源畫像。
對於多雲和混合雲情境,資源可能來自不同雲廠商甚至線下環境,您可以通過ACK One實現混合雲成本管理,請參見叢集成本洞察。