1. 课程导论:什么是制品供应链、误差预算(Error Budget)与SLO/SLI的关系、为什么需要Terraform编排监控资源栈

1.1 制品供应链:从代码到可部署产物的全链路

在云原生与 DevOps 实践中,制品供应链(Artifact Supply Chain) 指从源代码提交开始,经过构建、测试、扫描、签名、存储,最终将可部署的二进制或容器镜像交付到生产环境的完整链路。每一个环节都会产生元数据、版本标签和校验信息,形成一条可追溯的“制品血缘”。

核心制品类型: Docker 镜像、Helm Chart、JAR/WAR 包、npm 包、Python Wheel、OCI 制品。

制品供应链的典型阶段如下表所示:

阶段 关键动作 产出物
代码提交 Git push / PR merge 源码版本标签
持续集成 编译、单元测试、代码扫描 构建产物(.jar / .bin)
制品仓库 版本管理、签名、元数据索引 不可变制品 + 摘要
安全扫描 漏洞扫描、SBOM 生成 安全报告 + 许可清单
部署编排 环境映射、配置注入 可部署清单
制品供应链核心流程 源码提交 CI 构建 制品仓库 安全扫描 部署编排 关键特征 不可变性 · 版本追溯 · 签名校验 · 元数据关联 · 环境一致性 元数据流:构建日志 → SBOM → 签名摘要 → 部署时间戳 → 运行时版本

1.2 误差预算(Error Budget)与 SLO/SLI 的关系

服务等级指标(SLI) 是衡量服务质量的量化指标,例如请求延迟 P99、错误率、可用性百分比。服务等级目标(SLO) 是为 SLI 设定的目标阈值,例如“99.9% 的请求延迟低于 200ms”。误差预算(Error Budget) 定义为 1 - SLO,代表服务在给定时间窗口内允许失效的“额度”。

核心公式: Error Budget = 100% − SLO(例如 SLO = 99.9%,则 Error Budget = 0.1%)。
若月度总请求数为 1,000,000,则允许失效的请求数为 1,000,000 × 0.1% = 1,000 次。

三者的关系可以用下表清晰表达:

概念 定义 示例 用途
SLI 实际测量的服务质量指标 请求成功率 99.95% 反映真实运行状态
SLO 为目标设定的阈值 请求成功率 ≥ 99.9% 定义可靠性承诺
Error Budget 允许失效的额度 0.1% 的请求可失败 平衡可靠性与迭代速度

误差预算的消耗与恢复直接影响制品供应链的发布决策:

  • 预算充足(消耗 < 100%):可以继续发布新版本,推进功能迭代。
  • 预算耗尽(消耗 ≥ 100%):应暂停非关键发布,优先进行稳定性修复。
  • 预算恢复:通过优化代码、扩容或回滚,使 SLI 重新达标,预算逐步恢复。
SLO / SLI / Error Budget 关系模型 SLI 实际测量指标 SLO 目标阈值 Error Budget 允许失效额度 发布决策逻辑 SLI 持续满足 SLO → Error Budget 未耗尽 → 允许发布新版本 SLI 频繁违反 SLO → Error Budget 耗尽 → 冻结发布,优先修复

1.3 为什么需要 Terraform 编排监控资源栈

制品供应链的误差预算台账需要实时、准确的监控数据支撑。传统手动搭建监控栈的方式存在以下痛点:

  • 配置漂移:手动创建告警规则、仪表盘容易与环境实际状态不一致。
  • 重复劳动:每接入一个新服务或新环境,都需要重复配置 Prometheus、Grafana、Alertmanager。
  • 版本不可控:监控配置缺乏版本管理,难以回滚或审计。
  • 供应链割裂:制品版本、部署时间、运行时指标之间缺乏关联,无法计算误差预算消耗。
关键挑战: 误差预算台账要求监控配置与制品版本、部署环境严格对应。手动配置几乎无法保证这种对应关系的持续一致性。

Terraform 作为基础设施即代码(IaC)工具,能够将监控资源栈的声明式配置纳入版本控制,实现以下核心价值:

能力 说明 对误差预算的收益
声明式配置 用 HCL 定义 Prometheus 规则、Grafana 仪表盘、告警通道 监控配置与制品版本同步
状态管理 通过 state 文件追踪实际资源状态 消除配置漂移,确保 SLI 采集准确
模块化复用 封装监控模块,多环境复用 快速接入新服务,统一误差预算计算口径
自动化编排 与 CI/CD 流水线集成,自动部署监控栈 制品发布时自动更新对应监控规则
版本回滚 通过 Git 历史快速回退监控配置 误差预算台账可追溯历史变更
Terraform 编排监控资源栈架构 Terraform HCL 声明式配置 版本控制 + CI/CD 监控资源栈 Prometheus · Grafana · Alertmanager 告警规则 · 仪表盘 · 记录规则 误差预算台账 SLI 实时计算 预算消耗追踪 核心收益 配置即代码 · 环境一致性 · 自动化部署 · 版本可追溯 · 多环境复用

1.4 本课程的核心目标

通过本课程,你将掌握如何利用 Terraform 构建一套完整的监控资源栈,专门用于追踪制品供应链的误差预算台账。课程覆盖以下关键能力:

  1. 设计制品供应链的 SLI 指标体系:定义构建成功率、部署延迟、运行时错误率等关键指标。
  2. 使用 Terraform 声明式部署 Prometheus + Grafana + Alertmanager:实现监控栈的自动化编排。
  3. 创建误差预算计算规则:在 Prometheus 中通过记录规则实时计算 Error Budget 消耗。
  4. 构建 Grafana 误差预算仪表盘:可视化展示预算消耗趋势、SLO 达标状态。
  5. 配置基于误差预算的告警:在预算耗尽或快速消耗时自动触发通知。
  6. 将监控栈纳入制品供应链 CI/CD 流水线:实现监控配置与制品版本的联动更新。
前置知识建议: 了解基本 Terraform 语法(resource、data、module)、熟悉 PromQL 基础查询、具备 Git 版本控制经验。本课程会提供完整的代码示例和模块封装。