1. 课程导论:平台工程IDP概念、SLO与SLA区别、网络拓扑可视化在IDP中的核心价值
1.1 平台工程与内部开发者平台(IDP)
平台工程(Platform Engineering)是构建和维护一套自服务内部开发者平台(Internal Developer Platform, IDP)的学科。IDP 的核心目标是降低认知负荷,让开发者无需关心底层基础设施的复杂性,即可安全、高效地交付和运行应用。
IDP 关键特征:
- 自服务能力:开发者通过门户或 API 自助申请环境、部署服务、配置网络策略。
- 抽象与标准化:屏蔽 Kubernetes、网络、存储等底层细节,提供统一的“黄金路径”。
- 可观测性内置:平台默认集成日志、指标、链路追踪和网络拓扑视图。
- 策略即代码:网络策略、安全规则、资源配额通过声明式配置自动执行。
在 IDP 中,网络拓扑不再是静态的架构图,而是实时反映服务间流量路径、依赖关系和健康状态的动态视图。当 SLO 违约发生时,拓扑可视化是快速定位故障边界和流量异常的关键手段。
1.2 SLO 与 SLA 的区别
在平台工程中,服务等级目标(SLO)和服务等级协议(SLA)是衡量平台可靠性的核心指标,但两者在定义、责任和后果上存在本质区别。
| 维度 | SLO(服务等级目标) | SLA(服务等级协议) |
|---|---|---|
| 定义 | 内部承诺的目标值,如“99.9% 请求成功率” | 与客户或业务方签订的正式合同条款 |
| 严格程度 | 可容忍偶尔违约,用于驱动改进 | 违约通常伴随经济赔偿或处罚 |
| 受众 | 平台团队、SRE、开发团队 | 客户、业务方、法务 |
| 调整频率 | 持续迭代,随系统演进优化 | 合同周期内固定,变更需重新签署 |
| 示例 | “P99 延迟 < 200ms” | “月度可用性 ≥ 99.95%,否则退还 10% 费用” |
平台工程实践要点:IDP 应同时定义多个 SLO(如延迟、吞吐量、错误率),并通过仪表盘实时展示 SLO 燃烧率。SLA 通常由业务团队基于 SLO 的历史达成率来制定,平台团队负责提供准确的数据支撑。
1.3 网络拓扑可视化在 IDP 中的核心价值
当 SLO 违约发生时,网络拓扑可视化不再是“锦上添花”的装饰,而是故障定位和流量处置的“第一现场”。其核心价值体现在以下四个维度:
- 依赖关系实时映射:自动发现服务间、Pod 间、网关与后端间的流量路径,避免“盲猜”依赖。
- 异常流量快速定位:通过拓扑节点颜色、连线粗细、延迟标注,一眼识别故障边界和瓶颈。
- SLO 违约根因分析:将 SLO 指标(如错误率、延迟)叠加到拓扑节点上,快速判断是上游调用失败还是下游响应超时。
- 流量处置决策支持:基于拓扑视图执行灰度切流、熔断降级、故障隔离等操作,并实时验证效果。
1.4 本章小结
关键认知:平台工程 IDP 的核心是抽象与自服务,SLO 是内部可靠性驱动力,SLA 是外部契约。网络拓扑可视化将这两者串联起来——当 SLO 违约时,拓扑视图提供从“发生了什么”到“影响范围”再到“如何处置”的完整上下文。没有拓扑可视化的 IDP,如同没有地图的导航系统。