内部开发者平台的自助入口与黄金路径
内部开发者平台(IDP)不是“再做一个门户”,而是把创建服务、申请环境、发布、观测和排障的黄金路径做成自助流程,并用策略护栏限制风险。门户只是入口,背后必须有模板、流水线、IaC 和权限自动化。
判断是否值得建平台:至少 3 个团队、2 个以上重复工作流、手工交付时间超过 1 天。否则先用文档和脚本。
黄金路径能力清单:
| 能力 | 默认提供 | 可选 | 验收标准 |
|---|---|---|---|
| 服务模板 | Go/Java/Python 脚手架 | 其他语言 | 新服务 30 分钟内跑通 CI |
| CI | lint、test、build、扫描 | 自定义步骤 | 主干构建 < 10 分钟 |
| CD | GitOps 到 dev/staging | 金丝雀 | 合并后 15 分钟到 dev |
| 可观测 | metrics、logs、trace、SLO 模板 | 自定义看板 | 服务自动出现在看板 |
| 安全 | 镜像扫描、SBOM、准入策略 | 例外审批 | 高危镜像不能部署 |
| 环境 | 命名空间 + 配额 + 网络策略 | 独立集群 | 申请 5 分钟内完成 |
Backstage 软件目录实体:
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: order-service
annotations:
backstage.io/techdocs-ref: dir:.
spec:
type: service
lifecycle: production
owner: group:default/checkout
system: commerce
Backstage 脚手架模板参数:
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: golden-path-service
spec:
parameters:
- title: 基本信息
required: [name, owner, tier]
properties:
name:
type: string
owner:
type: string
tier:
type: string
enum: [gold, silver, bronze]
steps:
- id: fetch
name: 生成骨架
action: fetch:template
input:
url: ./skeleton
values:
name: ${{ parameters.name }}
决策规则:
合上页面,先回答,再展开对照。