1. 课程导论:Backstage 服务模板与容量水位 SLO 复核的背景、目标与课程整体框架

1.1 为什么需要关注服务模板发布后的容量水位?

在 Backstage 平台中,服务模板(Service Templates) 是开发者快速创建标准化微服务的核心入口。然而,模板发布后,团队往往只关注功能正确性,忽略了容量水位与 SLO(Service Level Objective)的持续复核。这会导致以下典型问题:

  • 资源超分与浪费:模板默认资源规格(CPU/内存)过高,大量服务实例长期处于低负载状态。
  • 热点与瓶颈:部分服务因模板未预设弹性伸缩策略,在流量突增时触发 P0 故障。
  • SLO 盲区:容量水位未纳入 SLO 监控,团队无法感知“资源利用率是否健康”。
  • 成本失控:云资源费用随服务数量线性增长,缺乏基于水位的成本优化机制。
核心观点:服务模板不仅是代码脚手架,更是容量治理的起点。发布后的 SLO 复核,是将“容量水位”从被动救火转变为主动治理的关键闭环。

1.2 课程目标与受众

维度 说明
课程目标 掌握在 Backstage 平台中,对已发布服务模板进行容量水位 SLO 复核的方法论、工具链与最佳实践。
核心受众 SRE 工程师、平台工程师、容量规划专家、Backstage 平台维护者。
前置知识 了解 Backstage 基本概念(Entity、Catalog、Scaffolder);熟悉 SLO 与 SLI 基础;具备 Kubernetes 资源管理常识。
学习收益 能够独立设计容量水位 SLI、配置复核流水线、生成治理报告,并推动模板规格优化。

1.3 课程整体框架

本课程共分为 6 个模块,从概念到落地,逐步构建完整的复核体系:

  1. 模块一:容量水位 SLO 基础 — 定义 SLI、SLO、错误预算,以及它们与服务模板的关系。
  2. 模块二:Backstage 服务模板的容量元数据注入 — 如何在模板中声明资源规格、弹性策略与水位阈值。
  3. 模块三:数据采集与 SLI 计算 — 对接 Prometheus/Kubernetes Metrics API,计算 CPU、内存、QPS 等水位指标。
  4. 模块四:复核流水线设计与实现 — 在 Backstage 中创建自定义动作(Custom Action),触发复核 Job 并生成报告。
  5. 模块五:异常检测与治理闭环 — 基于水位 SLO 触发告警、自动创建 Ticket 或回滚模板版本。
  6. 模块六:案例实战与复盘 — 真实场景演练:从模板发布到水位 SLO 违规,再到优化迭代的全流程。

1.4 核心概念关系图

下图展示了服务模板、容量水位、SLO 复核三者之间的逻辑关系:

服务模板发布后容量水位 SLO 复核核心关系 服务模板 (Backstage Scaffolder) 容量水位 (CPU/内存/QPS) SLO 复核 (合规/违规判定) 定义默认规格 触发复核 治理动作 (告警/回滚/优化) 违规触发 反馈优化模板规格 闭环:服务模板 → 容量水位 → SLO 复核 → 治理动作 → 模板优化 每个环节都可在 Backstage 中以 Entity 和 Plugin 形式管理

1.5 课程中的关键工具与平台组件

组件/工具 在本课程中的角色
Backstage Scaffolder 服务模板的定义、发布与版本管理入口。
Backstage Catalog 存储服务实例的容量元数据(如 resourceSpec、watermark)。
Prometheus / Thanos 采集运行时水位指标,提供 SLI 数据源。
Kubernetes Metrics Server 提供 Pod 级别的实时 CPU/内存使用数据。
Backstage TechDocs 承载复核报告与容量水位治理文档。
自定义 Backstage Plugin 可视化展示水位 SLO 状态、历史趋势与违规事件。

1.6 课程预期产出

完成本课程后,你将能够交付以下成果:

  • 一套可复用的 容量水位 SLI 定义规范(YAML/JSON Schema)。
  • 一个 Backstage 自定义动作,用于自动触发复核流水线。
  • 一份 水位 SLO 复核报告模板(Markdown + 图表)。
  • 一个 治理闭环流程:从违规发现到模板版本回滚或规格调整。
提示:本课程所有实践环节均基于开源 Backstage 环境,你可以在自己的 Sandbox 中跟随操作。建议提前准备一个包含 2-3 个模拟服务的测试集群。