6.6. 平台工程:Golden Path、开发者门户与 DORA
平台工程不是「把 Kubernetes 包一层 UI」,而是把组织的交付经验固化成一条自助的 Golden Path:开发者不需要成为 Kubernetes 专家,也能安全地申请环境、部署、观测和回滚。它既是产品,也是组织能力。
- 层级:
L4 · 实战
- 难度:
进阶
- 预计:
50 分钟
- 前置:
GitOps、CI/CD、SRE、多集群基础
6.6.1. 从 DevOps 到平台工程
阶段 |
关注点 |
典型产出 |
|---|---|---|
DevOps |
团队协作与反馈闭环 |
CI/CD、SLO、复盘 |
平台工程 |
把交付能力产品化 |
自助门户、Golden Path、模板 |
多集群治理 |
规模化与一致性 |
策略分发、集群生命周期、成本 |
平台工程不是替代 DevOps,而是把 DevOps 的最佳实践封装成「默认正确」的路径。
6.6.2. Golden Path
一条好的 Golden Path 应该包含:
脚手架:新服务模板,自带 Dockerfile、Helm/Kustomize、CI、监控、告警。
环境:dev/staging/prod 一键申请,配额与网络策略预置。
交付:GitOps 仓库 + 流水线 + 渐进式发布。
观测:默认仪表盘、日志、链路、SLO 模板。
安全:签名、准入、密钥、依赖扫描默认开启。
文档:如何做、如何排错、如何升级。
Golden Path 不是唯一路径;要允许团队偏离,但偏离要有理由与补偿控制。
6.6.3. 开发者门户:Backstage
Backstage 用 Software Catalog 管理服务、API、资源所有权,用 Templates 创建新项目,用 TechDocs 聚合文档。
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: demoapp
annotations:
backstage.io/techdocs-ref: dir:.
argocd/app-name: demoapp
spec:
type: service
lifecycle: production
owner: team-payments
system: checkout
目录的价值不是「好看」,而是让 on-call 能快速找到 owner、runbook、仪表盘和部署状态。没有维护的目录会迅速腐烂。
6.6.4. 自助与多租户
命名空间即产品:团队申请命名空间,自动带配额、NetworkPolicy、RBAC、监控。
vCluster/Capsule/HNC:为团队提供隔离的虚拟集群或层级命名空间。
Crossplane/Cluster API:把数据库、消息队列、集群变成 Claim。
策略:所有自助资源都经过 Kyverno/Gatekeeper 校验。
自助的边界要清楚:团队能改什么、不能改什么、超出边界如何申请。
6.6.5. DORA 与平台指标
DORA 四项指标:
部署频率:多久发布一次。
变更前置时间:commit 到生产的时间。
变更失败率:发布导致回滚/事故的比例。
恢复时间:故障到恢复的时长。
平台还要看:自助完成率、Golden Path 采用率、环境申请时长、平台可靠性、单位成本。指标用于改进,不用于排名。
6.6.6. 组织与团队拓扑
平台团队:把平台当产品,有产品经理、SRE、开发者体验工程师。
应用团队:对自己的服务与 SLO 负责,使用 Golden Path。
赋能团队:帮助应用团队采用平台能力,不长期替他们运维。
平台团队最常见的失败是「做了很多工具,但没人用」。先找 2-3 个种子团队,陪跑、收集反馈、迭代。
6.6.7. 实验:一条最小 Golden Path
用 Backstage Template 创建一个服务仓库(Dockerfile + Helm + CI)。
合并后 CI 构建镜像并更新 GitOps 仓库。
Argo CD 部署到 dev,自动创建 ServiceMonitor 与告警。
用 Backstage Catalog 查看 owner、runbook、Argo CD 状态。
让一个不熟悉 Kubernetes 的开发者独立完成一次发布。
6.6.8. 验证清单
新服务能在 30 分钟内走到 dev 环境。
Golden Path 自带 CI、GitOps、监控、告警、安全策略。
服务目录有 owner、runbook、仪表盘、部署状态。
自助资源的配额、网络、RBAC 默认正确。
DORA 与平台采用率有数据。
平台有产品路线图与反馈闭环。
6.6.9. 排错表
现象 |
原因 |
处理 |
|---|---|---|
平台没人用 |
路径比手工还复杂 |
找种子团队,缩短路径 |
目录信息过期 |
无 owner/自动同步 |
用 Git 同步,定期清理 |
自助资源失控 |
无配额/策略 |
默认配额、Kyverno 校验 |
平台团队成瓶颈 |
所有变更都要平台审批 |
扩大 Golden Path,保留例外通道 |
指标好看但体验差 |
只考核采用率 |
加开发者满意度与 lead time |
6.6.10. 进阶挑战
用 Backstage 创建一个服务模板,自动生成 CI 与 Helm Chart。
用 Crossplane 提供「数据库 Claim」,应用团队自助申请。
计算团队的 DORA 四项指标,找一项改进。
设计一条「偏离 Golden Path」的审批与补偿控制。
6.6.11. 小结
平台工程把 DevOps 能力产品化,核心是 Golden Path 与自助。
门户/目录要解决「找 owner、找 runbook、看状态」,不是装饰。
多租户与策略要默认正确,例外有流程。
用 DORA 与采用率衡量平台,不用工具数量。