2. SLI/SLO/SLA 基础:服务等级指标、目标与协议的定义及关系

在构建 CI/CD 流水线的可观测性与质量保障体系时,SLI、SLO 与 SLA 是三个最核心的概念。它们共同构成了服务质量的度量、承诺与契约体系。理解三者的定义与层级关系,是后续定义流水线“部署成功率”“权限合规率”等口径的前提。

2.1 核心定义

术语 英文全称 定义 典型示例(CI/CD 场景)
SLI Service Level Indicator 服务等级指标:对服务质量某个维度的量化测量值,通常是比率、时长或计数。 “流水线部署成功率”“构建平均耗时 P95”“权限审批通过率”
SLO Service Level Objective 服务等级目标:为 SLI 设定的目标阈值或范围,是团队内部承诺的质量边界。 “部署成功率 ≥ 99.5%”“构建耗时 P95 ≤ 10 分钟”
SLA Service Level Agreement 服务等级协议:与外部客户或上下游系统签订的正式契约,包含 SLO 及未达标时的惩罚/补偿条款。 “对外承诺部署成功率 ≥ 99.0%,否则减免 5% 服务费”
关键区分:SLI 是“测了什么”,SLO 是“目标是多少”,SLA 是“承诺了什么以及违约后果”。在内部 CI/CD 流水线中,通常只定义 SLI 和 SLO,SLA 仅在涉及跨团队交付承诺或外部客户时引入。

2.2 三者的层级关系

SLI、SLO、SLA 构成一个从测量到目标再到契约的递进结构。下图展示了这一关系:

SLI / SLO / SLA 层级关系图 SLI:服务等级指标(测量层) 量化测量值:部署成功率、构建耗时、权限合规率、错误率 数据来源:CI/CD 平台日志、监控系统、审计事件 SLO:服务等级目标(目标层) 为 SLI 设定阈值:部署成功率 ≥ 99.5% 内部承诺,用于驱动改进与告警 SLA:服务等级协议(契约层) 对外承诺 + 违约补偿条款 SLO 是 SLA 的技术基础 注意 SLA 通常比 SLO 更宽松(预留安全缓冲)

2.3 三者的核心区别

  • SLI 是客观事实:它回答“服务现在怎么样?”,不包含价值判断。例如“过去 7 天部署成功率为 98.7%”。
  • SLO 是主观目标:它回答“我们希望服务达到什么水平?”,由团队根据业务影响、成本、风险共同制定。例如“部署成功率应 ≥ 99.5%”。
  • SLA 是商业契约:它回答“我们向客户承诺什么?”,通常附带财务或信誉惩罚。SLA 的阈值一般比 SLO 更宽松,以预留安全缓冲。

2.4 在 CI/CD 流水线中的典型映射

以“项目部署”与“安全权限”两个维度为例,展示 SLI/SLO/SLA 的具体落地:

维度 SLI(测量指标) SLO(内部目标) SLA(对外承诺)
部署成功率 成功部署次数 / 总部署次数 ≥ 99.5%(按月统计) ≥ 99.0%(含补偿条款)
部署耗时 从触发到完成的全流程时长 P95 ≤ 15 分钟 ≤ 20 分钟
权限合规率 合规审批的部署次数 / 总部署次数 ≥ 99.9% ≥ 99.5%
安全扫描通过率 通过安全扫描的构建数 / 总构建数 ≥ 98% ≥ 95%
实践要点:在定义流水线 SLI 时,应优先选择与用户体验或业务结果强相关的指标。SLO 的设定不宜过于激进(导致频繁告警疲劳),也不宜过于宽松(失去改进驱动力)。建议参考“错误预算”理论,为 SLO 留出 0.5%~1% 的容错空间。

2.5 错误预算:连接 SLO 与行动决策

错误预算(Error Budget)是 SLO 的衍生概念,定义为 100% - SLO。它量化了服务在给定时间窗口内允许“不达标”的总量。当错误预算耗尽时,团队应暂停新功能发布,优先投入稳定性改进。

错误预算 = 1 - SLO(以小数表示)
示例:SLO = 99.5% → 错误预算 = 0.5%
时间窗口:通常为 28 天或 30 天
允许的失败时间 = 时间窗口总时长 × 错误预算
         = 30天 × 24小时 × 60分钟 × 0.5%
         = 216 分钟(约 3.6 小时)

在 CI/CD 场景中,错误预算可用于决策:当本月部署失败次数已接近错误预算上限时,应触发“部署冻结”或“仅允许修复性部署”,直到错误预算恢复。

错误预算驱动决策流程 SLI 持续测量 部署成功率 98.7% 对比 SLO 阈值 目标 ≥ 99.5% 计算错误预算 剩余 0.3% / 0.5% 决策行动 冻结 / 告警 / 回滚 错误预算耗尽 暂停新功能发布 优先修复稳定性

2.6 本章小结

  • SLI 是量化测量值,是 SLO 和 SLA 的数据基础。
  • SLO 是内部目标,驱动团队持续改进。
  • SLA 是外部契约,包含商业承诺与违约后果。
  • 错误预算 将 SLO 转化为可操作的决策机制,是 CI/CD 流水线稳定性治理的核心工具。
  • 在后续章节中,我们将基于这些概念,定义具体的“项目部署 SLI”与“安全权限 SLI”口径。