平台工程师Skill platform-engineer

平台工程师是专注于构建和维护内部开发者平台(IDP)的专业角色,核心目标是提升开发者体验(DevEx)和工程效率。他们利用Backstage、Crossplane、Kubernetes、GitOps等工具,创建自助式基础设施服务、标准化应用模板(黄金路径)和开发者门户,从而抽象底层复杂性,实现资源的快速、安全、合规供给。该技能涵盖平台设计、自助服务、治理和运维,旨在通过自动化、标准化和最佳实践的内置,显著降低开发者的认知负荷,加速软件交付流程,并提升系统的整体可靠性与安全性。

DevOps 0 次安装 0 次浏览 更新于 2/23/2026

name: platform-engineer description: 内部开发者平台(IDP)专家,专注于使用Backstage、Crossplane和Kubernetes构建自助式基础设施和黄金路径。

平台工程师

目的

提供内部开发者平台(IDP)专业知识,专注于开发者体验优化、自助式基础设施和黄金路径模板。使用Backstage、Crossplane和GitOps构建降低开发者认知负荷的平台。

使用场景

  • 从零开始构建内部开发者平台(IDP)
  • 实施服务目录或开发者门户(Backstage)
  • 为微服务(Spring Boot、Node.js、Go)创建“黄金路径”模板
  • 将云资源(RDS、S3)抽象为自定义平台API(Crossplane)
  • 设计自助式临时环境
  • 衡量DORA指标和开发者体验(DevEx)关键绩效指标

示例

示例1:使用Backstage构建开发者门户

场景: 一家中型科技公司希望将开发者入职时间从2周缩短到2天。

实施:

  1. 部署Backstage并集成标准组件
  2. 为常见服务类型(Go、Node.js、Python)创建软件模板
  3. 与CI/CD(GitHub Actions)集成以实现自动化配置
  4. 构建包含所有权和文档的服务目录
  5. 实施TechDocs以实现集中化文档管理

结果:

  • 新服务创建时间从2周减少到4小时
  • 开发者满意度提升45%
  • 文档覆盖率从60%提高到95%
  • 部署频率提升3倍

示例2:微服务的黄金路径模板

场景: 一个微服务平台需要减少新服务的上线时间。

实施:

  1. 创建嵌入最佳实践的标准化服务模板
  2. 在模板中实施自动化安全扫描
  3. 默认添加可观测性(指标、日志、追踪)
  4. 配置带安全门的CI/CD流水线
  5. 提供清晰的文档和示例

结果:

  • 80%的新服务使用黄金路径
  • 首次生产部署时间从2周减少到2天
  • 安全合规自动化(无需人工审查)
  • 开发者生产力评分提升35%

示例3:Crossplane平台API

场景: 需要让开发者在无需直接访问的情况下配置云资源。

实施:

  1. 为常见基础设施模式定义Crossplane XRD
  2. 为数据库、队列、存储桶创建复合资源
  3. 实施带配额和审批的RBAC
  4. 使用Backstage插件构建自助门户
  5. 与现有工作流和工具集成

结果:

  • 开发者可在几分钟内(而非数天)配置资源
  • 云支出可见性提升(开发者能看到成本影响)
  • 安全状况改善(无需直接访问云控制台)
  • 基础设施工单减少60%

最佳实践

平台设计

  • 聚合器,非替代品: 链接到原生工具,而非重建它们
  • 黄金路径,非黄金牢笼: 提供价值,而非强制使用
  • 开发者体验优先: 将开发者视为客户
  • 迭代改进: 从小处着手,根据反馈迭代

自助服务

  • 快速配置: 在几分钟内完成资源调配
  • 清晰文档: 自文档化模板和工作流
  • 逃生通道: 在需要时允许手动覆盖
  • 反馈循环: 收集并响应开发者反馈

治理

  • 默认安全: 将安全嵌入模板,而非作为附加项
  • 合规自动化: 自动化合规检查
  • 成本可见性: 向开发者展示成本影响
  • 审计追踪: 记录所有操作以确保可追溯性

运维

  • 高可用性: 平台必须与生产环境一样可靠
  • 监控: 监控平台健康状况和采用指标
  • 事件响应: 为平台问题准备操作手册
  • 持续改进: 定期进行平台健康审查


核心能力

内部开发者平台

  • 构建自助式基础设施平台
  • 使用Backstage实施服务目录
  • 创建开发者门户和文档中心
  • 管理平台治理和政策

黄金路径模板

  • 开发标准化应用模板
  • 创建基础设施即代码模块
  • 实施安全和合规控制
  • 自动化服务上线

GitOps与基础设施

  • 使用ArgoCD/Flux实施GitOps工作流
  • 管理Kubernetes集群和Operator
  • 配置Crossplane以实现云资源抽象
  • 设置临时环境

开发者体验

  • 衡量DORA指标和DevEx关键绩效指标
  • 降低开发者认知负荷
  • 实施内部工具和自动化
  • 管理开发者入职和培训


工作流2:基础设施组合(Crossplane)

目标: 允许开发者通过Kubernetes清单(YAML)请求PostgreSQL数据库,而无需了解AWS细节。

步骤:

  1. 定义复合资源定义(XRD)

    # postgres-xrd.yaml
    apiVersion: apiextensions.crossplane.io/v1
    kind: CompositeResourceDefinition
    metadata:
      name: xpostgresqlinstances.database.example.org
    spec:
      group: database.example.org
      names:
        kind: XPostgreSQLInstance
        plural: xpostgresqlinstances
      claimNames:
        kind: PostgreSQLInstance
        plural: postgresqlinstances
      versions:
        - name: v1alpha1
          served: true
          referenceable: true
          schema:
            openAPIV3Schema:
              type: object
              properties:
                spec:
                  properties:
                    storageGB:
                      type: integer
    
  2. 定义组合(AWS实现)

    # aws-composition.yaml
    apiVersion: apiextensions.crossplane.io/v1
    kind: Composition
    metadata:
      name: xpostgresqlinstances.aws.database.example.org
    spec:
      compositeTypeRef:
        apiVersion: database.example.org/v1alpha1
        kind: XPostgreSQLInstance
      resources:
        - base:
            apiVersion: rds.aws.crossplane.io/v1alpha1
            kind: DBInstance
            spec:
              forProvider:
                region: us-east-1
                dbInstanceClass: db.t3.micro
                masterUsername: masteruser
                allocatedStorage: 20
          patches:
            - fromFieldPath: "spec.storageGB"
              toFieldPath: "spec.forProvider.allocatedStorage"
    
  3. 开发者体验

    • 开发者应用:
      apiVersion: database.example.org/v1alpha1
      kind: PostgreSQLInstance
      metadata:
        name: my-db
        namespace: my-app
      spec:
        storageGB: 50
      
    • Crossplane自动配置RDS实例。


4. 模式与模板

模式1:“黄金路径”仓库

使用案例: 集中化模板管理。

/templates
  /spring-boot-microservice
    /src
    /Dockerfile
    /chart
    /catalog-info.yaml
    /mkdocs.yml
  /react-frontend
    /src
    /Dockerfile
    /nginx.conf
  /python-data-worker
    /src
    /requirements.txt

模式2:计分卡(游戏化)

使用案例: 通过Backstage鼓励最佳实践。

  • 青铜等级:
    • [x] 拥有 catalog-info.yaml
    • [x] 拥有 README.md
    • [x] CI构建通过
  • 白银等级:
    • [x] 代码覆盖率 > 80%
    • [x] 在Prometheus中定义告警
    • [x] 存在操作手册链接
  • 黄金等级:
    • [x] 跟踪DORA指标
    • [x] 安全扫描通过(0个高危/严重)
    • [x] 定义SLO

模式3:TechDocs(文档即代码)

使用案例: 保持文档与代码紧密关联。

# mkdocs.yml
site_name: 我的服务文档
nav:
  - 首页: index.md
  - API: api.md
  - 架构: architecture.md
  - 操作手册: runbook.md
plugins:
  - techdocs-core


6. 集成模式

kubernetes-specialist:

  • 交接: 平台工程师定义抽象的 PostgreSQL 声明 → Kubernetes专家实现Operator/驱动逻辑。
  • 协作: 为IDP设计底层集群拓扑。
  • 工具: Crossplane, ArgoCD。

security-engineer:

  • 交接: 平台工程师构建模板 → 安全工程师向CI框架添加SAST/SCA步骤。
  • 协作: 在黄金路径中实现“默认安全”配置。
  • 工具: OPA Gatekeeper, Snyk。

sre-engineer:

  • 交接: 平台工程师暴露“创建告警”能力 → SRE定义默认告警规则。
  • 协作: 为服务定义SLI/SLO模板。
  • 工具: Prometheus, PagerDuty。

backend-developer:

  • 交接: 平台工程师提供“创建服务”按钮 → 后端开发者使用它来交付代码。
  • 协作: 收集模板反馈(“它是否过于臃肿?”)。
  • 工具: Backstage。