1. Burn Rate 基础概念
1.1 什么是 Burn Rate
Burn Rate(燃烧速率) 是衡量云资源成本消耗速度的核心指标,定义为 单位时间内的实际支出金额。在 SRE 与 FinOps 实践中,Burn Rate 通常以 每小时 或 每天 为粒度计算,用于量化预算消耗的实时节奏。
核心公式:
示例: 某团队月预算 $100,000,当月已过 15 天,实际支出 $55,000。
→ 日 Burn Rate = $55,000 ÷ 15 ≈ $3,666.67/天
→ 月均日预算 = $100,000 ÷ 30 ≈ $3,333.33/天
→ 当前 Burn Rate 超出预算日消耗 10%。
Burn Rate = 周期内实际支出金额 ÷ 周期时长(小时/天)示例: 某团队月预算 $100,000,当月已过 15 天,实际支出 $55,000。
→ 日 Burn Rate = $55,000 ÷ 15 ≈ $3,666.67/天
→ 月均日预算 = $100,000 ÷ 30 ≈ $3,333.33/天
→ 当前 Burn Rate 超出预算日消耗 10%。
| 维度 | 说明 | 典型粒度 |
|---|---|---|
| 总 Burn Rate | 整个账户或组织的总消耗速率 | 天 / 周 |
| 服务级 Burn Rate | 按单个微服务、集群或资源组聚合的速率 | 小时 / 天 |
| 标签级 Burn Rate | 按成本标签(环境、团队、项目)过滤的速率 | 小时 |
1.2 为什么需要监控 Burn Rate
传统成本管理依赖 月度账单回顾,但云资源弹性扩缩容可在 分钟级 内推高支出。Burn Rate 监控填补了“账单出账前”的盲区,提供实时预警能力。
- 避免预算超支: 在月度账单生成前发现异常消耗,留出干预窗口。
- 关联业务指标: 将成本消耗与请求量、部署频率、实验流量等业务指标对齐,识别成本异常根因。
- 支持容量规划: 通过 Burn Rate 趋势预测未来支出,辅助预算调整与资源采购决策。
- 提升成本可见性: 让开发团队实时感知代码变更对成本的影响,培养成本意识。
实践建议: 将 Burn Rate 监控与 部署流水线 集成。每次代码发布后自动对比发布前后的服务级 Burn Rate,若增幅超过阈值则触发回滚或成本审批流程。
1.3 Burn Rate 与预算消耗的关系
Burn Rate 是预算消耗的 瞬时速度表,而预算消耗是 Burn Rate 在时间轴上的 积分结果。二者关系可用以下模型描述:
理解 Burn Rate 与预算消耗的关系,关键在于掌握 速率 vs 总量 的转换:
| 指标 | 含义 | 计算公式 | 监控价值 |
|---|---|---|---|
| Burn Rate | 瞬时消耗速度 | Δ支出 / Δ时间 | 实时异常检测 |
| 预算消耗率 | 已用预算占比 | 累计支出 / 总预算 × 100% | 进度跟踪 |
| 预测耗尽日 | 按当前速率何时耗尽预算 | 剩余预算 / Burn Rate + 当前时间 | 提前预警 |
常见误区: 仅监控累计预算消耗率(如已用 60%)会掩盖短期异常。例如:月初 3 天内消耗 40% 预算,累计消耗率看似可控,但日 Burn Rate 已达预算日速率的 4 倍。必须同时监控 Burn Rate 瞬时值 与 累计消耗率,才能完整评估预算健康度。
1.4 Burn Rate 告警阈值设计原则
基于 Burn Rate 与预算消耗的关系,告警阈值设计应遵循以下原则:
- 多窗口分级: 设置短窗口(1 小时)高阈值用于紧急告警,长窗口(24 小时)低阈值用于趋势预警。
- 预算对齐: 阈值应基于预算日速率计算,而非金额。例如:阈值 = 预算日速率 × 1.5。
- 服务差异化: 核心服务使用更严格的阈值(如 1.2 倍),非核心服务可放宽至 2 倍。
- 动态调整: 根据历史 Burn Rate 分布,每月自动校准阈值基线。
阈值计算示例:
某服务月预算 $30,000,工作日 22 天,日预算 = $30,000 ÷ 22 ≈ $1,363.64。
→ 日 Burn Rate 告警阈值 = $1,363.64 × 1.5 = $2,045.46/天
→ 时 Burn Rate 告警阈值 = $2,045.46 ÷ 24 ≈ $85.23/小时
当实际时 Burn Rate 连续 2 小时超过 $85.23 时触发 P2 告警;连续 4 小时超过时升级为 P1。
某服务月预算 $30,000,工作日 22 天,日预算 = $30,000 ÷ 22 ≈ $1,363.64。
→ 日 Burn Rate 告警阈值 = $1,363.64 × 1.5 = $2,045.46/天
→ 时 Burn Rate 告警阈值 = $2,045.46 ÷ 24 ≈ $85.23/小时
当实际时 Burn Rate 连续 2 小时超过 $85.23 时触发 P2 告警;连续 4 小时超过时升级为 P1。