云原生場景的企業IT成本治理
ACK提供成本治理FinOps解決方案來協助企業IT成本管理人員實現容器集群分賬。本文介紹了成本治理FinOps解決方案的背景信息、成本治理流程及如何實現容器集群分賬。
背景信息
云原生技術逐漸成為當下很多企業進行IT信息化轉型的最佳方式,提供共享、隔離、彈性等能力,能夠非常簡單地降低企業IT成本。然而,2021年CNCF《FinOps Kubernetes Report》的調研報告顯示,遷移至Kubernetes平臺后,68%的受訪者表示所在企業計算資源成本有所增加,36%的受訪者表示成本飆升超過20%。造成這一現象的原因有兩方面:第一,由于云原生技術的一些不當使用而帶來的技術債務,造成了IT成本增加;第二,傳統企業在面對云原生架構的引入時缺乏有效的成本洞察和成本控制的手段,難以分析成本增加的根因。
ACK提供成本治理FinOps解決方案來協助企業IT成本管理人員實現容器集群分賬。方案提供了資源浪費檢查、資源費用預測等功能,通過賬單分析、用量統計與實時詢價相結合的方式實現對Pod維度的準確估算。
成本治理FinOps解決方案
成本治理FinOps解決方案從物理和邏輯兩個維度進行聚合分析,物理維度包括集群的Node、節點池和資源組,邏輯維度包括Pod、應用負載和命名空間,并將物理維度的費用和邏輯維度的費用進行打通,建立完整的資源成本畫像,能夠更準確合理地進行IT成本治理。FinOps通過構建企業IT成本可視化系統,協同業務、運維、財務進行戰略協同,實現IT成本的數字化、可視化,通過問責不追責的方式,連續迭代優化企業IT成本。
ACK以FinOps的方式實現了成本治理功能,通過成本洞察、成本優化和成本控制三個方面來進行IT成本治理。
成本洞察
成本洞察通過計量和計費相結合的成本分攤模型和智能資源成本畫像,實現多維度的容器成本分賬與洞察。本方案提供四個維度的成本洞察,分別為集群維度、命名空間維度、節點池維度和應用維度。
集群維度提供對集群整體資源和成本情況的洞察,能夠反映集群成本的整體健康狀況。對于一個集群,首先需要關注的就是整個集群的費用趨勢變化,以判斷成本是否符合預期。在集群成本變化呈現非正常趨勢時,進行問題下鉆,排查成本異常的根因。
命名空間維度能夠通過命名空間篩選、展示各命名空間的資源和成本信息。使用命名空間大盤分析成本的前提是公司以命名空間維度劃分部門或業務。在此基礎上,本方案實現了部門或業務級別的成本分攤。
節點池提供了集群資源維度的成本洞察。ECS云資源往往是集群產生費用的主要組成部分,也是IT運維人員最直接管理的資源。節點池成本洞察能夠為您提供節點池資源使用分析和付費策略的選擇。
應用成本洞察以Label通配符匹配的方式,篩選出您關心的應用來進行成本、資源的統計,側重于場景化的成本優化。通過Label通配符匹配的方式,您不僅可以監控單應用的成本和資源用量,還可以對多個有相關性的應用進行監控。例如大數據工作流的場景,您可以為流程中的所有應用加上一致性的Label,從而對整個工作流業務進行成本分析。
成本優化
成本優化提供多種優化策略。常見的優化策略包括:
成本控制
成本控制提供預算管理、配額管理、成本預測、成本報警等能力,并且支持多云及混合云等場景。
本方案中,成本洞察和成本控制是成本治理過程中最直接、有效的手段。在企業成本治理的過程中,一般推動成本治理的角色是IT主管和基礎設施管理團隊,他們可以通過成本洞察發現云資源使用上的浪費,再通過成本控制解決浪費問題。而成本優化是業務團隊的職責,需要通過他們對業務層面上的認識來進行優化策略的選擇,并非IT主管直接推動,同時在成本優化策略的選擇中,容易因策略使用不當而產生技術債務,影響成本治理效果。因此,相比于成本優化,成本洞察和成本控制能更直接有效地實現成本治理的效果。
成本治理流程
在一個企業的IT成本治理過程中,可以分為三種角色:IT主管或財務、IT運維人員、業務研發人員。
IT主管或財務的職責是確認企業的IT成本處在預算的正常范圍內,當成本趨勢不合理時,需要找到對應的IT運維人員進行問題下鉆;IT運維人員的職責是分析預算不合理的原因,設計資源付費的優化策略,再驅動業務團隊進行優化;業務研發人員負責實施優化策略,再把IT成本治理的效果向上反饋,形成閉環。
因此,成本治理的一般流程為:
如何實現容器集群分賬
這里以某公司運行大數據業務的集群為例,梳理成本治理的流程。首先IT主管通過洞察整個集群成本,發現該集群存在成本飆升的現象,隨即安排IT運維人員進行問題下鉆;IT運維人員找到成本趨勢異常的命名空間(部門或團隊),分析資源利用率和各應用的資源消耗情況,排查出了問題應用;業務研發人員進一步下鉆,發現該應用是還未上線的測試應用,卻配置了定時伸縮,且副本數較大,浪費了大量較貴的計算資源,最終通過重新配置資源解決了這一成本問題。