1. 课程导论与背景:制品供应链误差预算的概念、为什么需要自动化台账、Terraform 在其中的角色

1.1 制品供应链误差预算:从 SLA 到 SLO 再到误差预算

在云原生与 DevOps 实践中,误差预算(Error Budget) 是服务等级目标(SLO)与可用性之间的量化缓冲。将这一概念引入制品供应链(Artifact Supply Chain),意味着我们不再仅关注“制品是否构建成功”,而是度量整个交付链的可靠性余量。

概念 定义 在制品供应链中的映射
SLA 服务等级协议(对外承诺) 制品交付时效、签名验证通过率
SLO 服务等级目标(内部目标) 构建成功率 ≥ 99.9%、SBOM 生成覆盖率 ≥ 95%
误差预算 100% − SLO(可容忍的失败时间/次数) 每月允许的构建失败次数、签名超时次数
关键洞察: 误差预算不是“失败配额”,而是风险容量。当制品供应链的误差预算耗尽时,应自动冻结高风险变更,直到可靠性恢复。

1.2 为什么需要自动化台账?

传统制品管理依赖手动记录或半自动化看板,存在三大致命缺陷:

  1. 数据滞后: 构建失败、签名过期、漏洞扫描结果无法实时反映在台账中。
  2. 审计盲区: 谁在什么时间、因为什么原因消耗了误差预算,缺乏不可篡改的记录。
  3. 响应迟钝: 误差预算耗尽时,无法自动触发阻断或回滚动作。

自动化台账 通过基础设施即代码(IaC)将台账定义为可编程资源,实现:

  • 每次制品发布自动记录 SLO 达标状态
  • 误差预算消耗实时累加并可视化
  • 预算耗尽时自动触发告警或策略执行
实践建议: 将误差预算台账视为“供应链的监控仪表盘”,而非静态文档。自动化台账是连接 CI/CD 事件与可靠性治理的桥梁。

1.3 Terraform 在其中的角色

Terraform 作为业界主流的 IaC 工具,在本课程中承担三层核心职责:

职责层 具体作用 Terraform 资源示例
台账基础设施 声明式定义数据库、存储桶、API 网关等台账后端 aws_dynamodb_table、google_bigquery_dataset
策略即代码 将误差预算阈值、耗尽策略编码为 Terraform 资源 aws_cloudwatch_metric_alarm、opentofu_decision
供应链集成 通过 Provider 对接 CI/CD、签名服务、SBOM 生成器 github_actions_secret、sigstore_cosign_key

使用 Terraform 管理误差预算台账,意味着整个供应链的可靠性治理可以版本化、可审计、可回滚。每一次台账变更都经过 Plan → Apply 流程,避免手动配置漂移。

注意: Terraform 本身不生成误差预算数据,它负责编排台账的基础设施与策略。数据流由 CI/CD 事件驱动,通过 Terraform 定义的资源进行记录和告警。
制品供应链误差预算台账自动化部署概念架构 制品供应链误差预算台账自动化部署概念架构 CI/CD 事件源 构建完成 签名验证 SBOM 生成 Terraform 编排层 台账资源定义 策略即代码 Provider 集成 Plan / Apply 台账存储 DynamoDB / BigQuery 告警与策略执行 CloudWatch / 阻断 说明: 1. CI/CD 事件触发 Terraform 工作流,更新误差预算台账记录。 2. Terraform 同时管理台账基础设施与预算耗尽告警策略。 3. 所有变更通过 Terraform Plan 预览,Apply 后生效,确保可审计。

1.4 误差预算台账的核心数据模型

自动化台账需要记录以下关键维度,才能支撑误差预算的实时计算与审计:

字段 类型 说明
artifact_id String 制品唯一标识(如镜像 digest)
pipeline_run_id String CI/CD 流水线运行 ID
slo_name String 目标名称(如 build_success_rate)
slo_target Float 目标值(如 99.9)
actual_value Float 实际测量值
budget_consumed Float 本次消耗的误差预算(%)
timestamp DateTime 事件发生时间
triggered_by String 触发者(用户/系统)
课程目标: 学完本课程后,你将能够使用 Terraform 在 30 分钟内部署一套生产级的误差预算自动化台账系统,并集成到现有 CI/CD 流水线中。
误差预算消耗与恢复生命周期 误差预算消耗与恢复生命周期 正常状态 事件触发 消耗预算 累计 检查阈值 耗尽 告警与阻断 未耗尽 继续发布 恢复/重置

1.5 本课程的学习路径

课程共 30 章,分为四个阶段:

阶段 章节范围 核心产出
基础与设计 第 1–8 章 误差预算模型、Terraform 模块设计、台账数据 schema
核心实现 第 9–18 章 DynamoDB/BigQuery 台账、告警策略、CI/CD 集成
进阶与安全 第 19–25 章 多环境台账、签名验证集成、供应链策略引擎
运维与扩展 第 26–30 章 监控、备份、Terraform 工作流自动化、案例实战
前置要求: 建议具备基础的 Terraform 语法知识(resource、data、variable、output)以及 CI/CD 基本概念。每章均提供可运行的代码示例。