優化雲成本
1)為什麼FinOps和什麼目標
目標是降低COGS,同時保持SLO/開發速度。關鍵問題:- 1個請求、1個活動用戶、1個登陸者需要多少錢?
- 新的ficher/流量有什麼保證金效果?
- 「泄漏」(egress,多余的日誌,CPU/內存過頭,閑置資源)?
基本指標
Cost/Req, Cost/Minute Active, Cost/Tenant/Brand, Cost/GB-stored, Cost/GB-egress.
COGS%:成本在收入中的份額。
浪費%:(已支付但未使用的資源)/(所有資源)。
2)恢復秩序: 標簽、所有權、預算
標簽/標簽:「env」,「team」,「service」,「tenant」,「product」,「cost_center」,「slo_tier」。
所有權:每個資源都有所有者和TTL。
預算/Alerts:每月/每周預算,門檻為50/80/100%+anomaly檢測。
策略作為代碼:禁止「無標簽」、大小限制、默認區域、專用配額。
hcl module "policy" {
source = "finops/policy/required-tags"
required_tags = ["env","team","service","cost_center","tenant"]
}
3)建築節約杠桿
3.1正確尺寸和自動滑行
權宜之計:根據實際的CPU/RAM p 95選擇實例。
自動滑行: 水平>垂直;для K8s — Cluster Autoscaler/Karpenter, для serverless — min/max concurrency.
冷路-排隊/蹦床;長期任務-按計劃進行。
3.2現貨/回購能力
Statless/背景和 CI的現貨/預備版;保持按需緩沖區。
RI/CUD/Savings Plans:預訂穩定的50-70%基本負荷,其余為彈性。
3.3數據存儲和類別
分:hot (SSD)、warm(標準)、cold/Archive(冰川/存檔)。
Lifefcicles策略:類轉移,學期後刪除。
在需要時啟用驗證,而對象鎖(WORM)僅用於審核。
3.4網絡和egress
CDN/edge+stale-while-revalidate減少了跨區域的egress。
私人通道(PrivateLink/PSC/Direct Connect/Interconnect)代替「原始」互聯網。
壓縮(Brotli/Zstd), HTTP/3/QUIC小於RTT/重新連接。
3.5數據庫和緩存
選擇兩層方案:緩存(Redis/Memcached)+存儲。
閱讀分析副本,包括自動插槽/復合,使用pgBouncer/RDS Proxy。
對於大型表-分組/TTL/存檔。
4)Kubernetes經濟學
SLO類要求/限制;禁令「極限:空」。
VPA(建議),Karpenter(在poda下選擇實例),Bin packing(收費/收費)。
在群集/節點級別(不同類型和策略)上共享prod/stage/dev。
網絡和隨機類:通過負載配置文件而不是「到處付費」選擇SC/IOPS。
QoS類和優先級:節省背景作業。
Logs配置文件:帶有本地緩沖區的sidecar代理,由batches發送。
5)無服務經濟學
Min instances/provisioned concurrency-僅適用於熱筆。
小的deploy樂隊,lazy-init,sharing連接。
完成繁重任務的時間表和排隊。
聚合器功能(fan-in)代替了十二次徒步旅行,具體取決於。
6)天文可用性: 支付寶貴的遙測費用
Logs:結構性,沒有虛無性;按類分列(prod錯誤更長,debug-短)。
打包鏟球:基於tail-100% 錯誤/p99,其余1-10%。
度量標準:聚合/downsampling, sparse-Department。
在發送前過濾PII(字節和風險較少)。
7)供應商網絡和市場
比較區域價格,管理服務的利潤率,市場團夥.
談判:批量折扣(RI/CUD),commit協議,貸款計劃。
避免將SaaS與相交的功能復制。
8)Unit Economics和Dashbords
主要價值SLI/SLO
Cost/Tenant/Brand/Region.
Egress/Req, Storage/Req, Compute/Req.
按路徑(登錄,目錄,deposit)計算費用。
Waste % и Coverage RI/SP %.
Dashbords(最低設置)
按服務/命令繪制的「成本圖」,下降到資源。
「熱圖」指向方向。
「服務→成本→ SLO」:p99和Cost/Req相關性。
「RI/CUD/Spot」覆蓋範圍並節省線路費用。
9) FinOps過程
每周與服務所有者進行賬單分析。
更改評論,在啟動前估算幻燈片的成本。
Guardrails:配額限制,自動完成空閑資源,TTL測試環境。
GameDays價值:人工高峰/幻燈片,預算可持續性檢查。
10)反模式
沒有TTL的「臨時」資源→永遠存在。
`0.0.0.0/0'egress+缺少CDN → egress帳戶爆炸。
沒有標簽/標簽,→無法分配成本。
銷售中的DEBUG級別徽標,100%的鏟球是毫無意義的TB。
Provisioned/serverful「以防萬一」,沒有使用指標。
所有負載僅為點播,沒有RI/Spot/commits。
11) iGaming/財務細節
PSP/支付傭金-COGS的一部分:優化智能路由到廉價/可靠的供應商;緩存狀態,避免重復而沒有等效性。
KYC/AML供應商:批處理查詢,使用結果緩存(TTL按策略),測量成本/KYC。
「貨幣路徑」(存款/提款):單獨的SLO和預算;高峰活動的儲備金,溫暖的標本只有在那裏。
內容/CDN:本地邊緣和區域域,以減少風險並遵守數據駐留。
法律要求:用於審計的WORM存儲-限制範圍(聚合、TTL、壓縮)。
12)迷你食譜
12.1重構博客政策
Prod錯誤:30-90天;Info: 7–14;Debug:24-72小時。
僅需按需歸檔。
12.2金絲雀遙測
對於新的fici-100%的鏟球前24小時→然後是尾巴采樣。
12.3 lifcicles對象
json
[
{"prefix": "raw/", "days_to_warm": 30, "days_to_cold": 90, "days_to_delete": 365},
{"prefix": "audit/", "lock": "WORM-365d"}
]
12.4 預算/Alertes(想法)
每隊每月預算;Alerta 50/80/100%;anomaly檢測>30%的趨勢在24小時內。
13)準備就緒支票清單
- Tagi和100%資源的所有者;政客們正在阻止那些沒有標簽的人。
- 預算和Alerta+anomaly檢測;Tanant/品牌/地區報告。
- RI/CUD/Spot涵蓋基本負載;有一個按需緩沖區。
[……]K8s:要求/限制;VPA/Karpenter;bin packing;單獨的存儲/IOPS類。
- Serverless: provisioned/min僅適用於熱路;寒冷-通過隊列。
- CDN/edge已啟用;PaaS的私人渠道;egress-dashbord。
- Logi/Traces: tail-sampling,按年級分列轉介;PII過濾。
- 存儲和存檔Liffcicles;主要表格的政黨。
- Cost/Req、Cost/Tenant、Waste%、Coverage RI/SP%的財務差價。
- 對於iGaming: PSP/KYC/AML支出會計、SLO和「貨幣路徑」預算、WORM審計。
14) TL;DR
首先是可見性(標簽、預算、行車記錄儀),然後是結構杠桿:正確尺寸、自動滑行、RI/Spot/commits、CDN/edge和私人通道、存儲類和滑輪。支付寶貴的遙測費用(tail-sampling,短暫的退縮),並自動執行guardrails。在iGaming中,將PSP/KYC/AML視為COGS的一部分,並通過單獨的SLO和預算分配「金錢路徑」。