1. 从“工具清单”到“平台”:差的是一个产品愿景
很多组织买了一堆 SaaS(Git、CI、K8s、观测),却缺少把它们粘成一致体验的那一层。 IDP 不是某一个工具,而是面向内部开发者的能力组合:身份、项目脚手架、流水线模板、环境供应、密钥与策略、可观测性与成本标签——并且有 owner、有版本、有弃用策略。 若把 IDP 当成“运维顺便维护的脚本堆”,它会迅速腐烂;若当成内部产品,就会有路线图、SLO、文档与满意度调研。
2. IDP 分层:体验层、编排层、资源层
体验层可以是开发者门户、CLI 或 ChatOps;编排层是 CI/CD、GitOps、策略引擎;资源层是集群、数据库、消息队列与网络。 平台团队通常在编排层施加最大杠杆:一条标准流水线胜过十份 wiki。
3. Golden Path:不是唯一路径,而是“默认且体面”的路径
Golden Path 常被误解为“禁止偏离”。更健康的定义是:官方维护、测试充分、与合规一致的路径; 偏离(escape hatch)必须可文档化、可审计、有时限——例如临时集群、例外审批、技术债 backlog。 路径上应内建观测默认值(tracing/metrics/logs)、安全默认值(mTLS、镜像策略)与成本默认值(标签、副本下限)。
4. 自助能力:模板、脚手架与流水线即代码
自助不是“把 root 密码给开发者”,而是在边界内授权:命名空间配额、预置网络策略、批准的 base image、可克隆的 cookiecutter / backstage 模板。 流水线应参数化(语言版本、区域、特性开关),并把差异收敛在少量受支持的组合上——组合爆炸是平台债务的温床。
# Illustrative Backstage template parameters (conceptual YAML)
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: spring-api-golden
spec:
parameters:
- title: Service identity
properties:
componentId:
title: Name
type: string
owner:
title: Team
type: string
region:
title: Region
type: string
enum: [eu-west-1, us-east-1]
steps:
- id: fetch
name: Fetch skeleton
action: fetch:template
- id: publish
name: Push repo & register catalog
| Capability | Anti-pattern | Golden Path way |
|---|---|---|
| New service bootstrap | copy-paste from random repo | versioned template + catalog entry |
| Deploy | kubectl apply from laptop | GitOps + approved chart values |
| Secrets | shared kubeconfig / long-lived tokens | OIDC + short-lived creds + vault integration |
| Observability | opt-in tracing “when we have time” | auto-instrumented defaults on path |
5. 平台团队如何运作:内部客户、路线图与 SLO
借用 Team Topologies 的语言,平台团队常扮演赋能型(Enabling)与平台型(Platform)的混合体:既要交付 paved road,也要通过结对、文档与办公时间降低采纳摩擦。 成功的 IDP 会公开内部 SLO:模板 PR 合并时效、流水线 P95、门户可用性;并把“减少开发者等待时间”当作北极星之一。
6. 与下一章的衔接:开发者门户与可发现性
IDP 的“体验层”往往落在一个门户上:服务目录、文档、所有权、运行手册与流水线链接同屏出现。 下一章将深入 Backstage 等门户的插件模型,以及如何把可发现性(Discoverability)做成治理的一部分。
7. 本章清单
- 能区分 IDP(能力组合 + 运营)与单一工具;理解体验/编排/资源三层。
- 能定义 Golden Path:默认路线、例外策略、与逃逸舱口(escape hatch)。
- 能把模板、脚手架、流水线参数化与组合控制联系起来。
- 理解平台团队作为内部客户的交付方式:路线图、SLO、弃用与沟通。
- 预告:第 70 章 Backstage 与开发者门户。