优化云成本
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和预算分配"金钱路径"。