1. 平台工程概述
平台工程(Platform Engineering)是近年来 DevOps 领域最重要的演进方向之一。它并非推翻 DevOps,而是将 DevOps 实践中积累的运维复杂性、工具碎片化和配置管理负担,通过构建一套标准化的“内部开发者平台(Internal Developer Platform, IDP)”进行抽象和封装,从而让开发者专注于业务代码交付,让平台团队专注于基础设施与安全合规。
1.1 平台工程的定义
平台工程是一门设计和构建“内部开发者平台”的工程学科。该平台作为一层自服务抽象层,位于底层基础设施(云、容器、网络、存储)与上层应用开发团队之间,提供标准化的环境、CI/CD 流水线、可观测性、安全策略和权限模型。
核心定义:平台工程 = 构建内部开发者平台(IDP)的工程实践,目标是降低认知负荷、提升开发者体验(DevEx)、保障安全合规。
| 维度 | 传统运维模式 | 平台工程模式 |
|---|---|---|
| 资源获取 | 工单系统,人工审批 | 自服务目录,一键申请 |
| 环境一致性 | 依赖运维手动配置 | GitOps + 基础设施即代码(IaC) |
| 权限管理 | 粗粒度,静态角色 | 细粒度,动态 RBAC/ABAC |
| 开发者体验 | 等待运维,上下文切换 | 自服务,低认知负荷 |
1.2 平台工程与 DevOps 的关系
平台工程不是 DevOps 的替代品,而是 DevOps 进入成熟阶段的产物。DevOps 强调“谁构建,谁运行”的文化与协作,但在大规模组织(超过 50 个微服务、多个业务线)中,直接让每个开发团队管理基础设施会导致巨大的认知负荷和安全隐患。平台工程通过 IDP 将基础设施能力产品化,让 DevOps 原则得以在规模化场景下落地。
1.3 平台工程的核心价值
平台工程为组织带来的核心价值可以归纳为以下四个维度:
- 降低认知负荷:开发者无需理解 Kubernetes 网络策略、IAM 角色、TLS 证书等底层细节,通过 IDP 服务目录即可完成环境创建与部署。
- 加速交付速度:标准化 CI/CD 流水线、环境模板和权限策略,将新服务从“代码提交”到“生产就绪”的时间从天级缩短到分钟级。
- 保障安全合规:权限模型、安全策略和审计日志内建于平台层,而非依赖开发者的自觉性,实现“安全左移”和“合规内建”。
- 提升开发者体验(DevEx):自服务、即时反馈、一致的接口和文档,让开发者感受到“平台在帮助我,而不是阻碍我”。
| 价值维度 | 关键指标 | 平台工程实现方式 |
|---|---|---|
| 降低认知负荷 | 开发者学习成本、环境搭建时间 | 服务目录、黄金路径模板 |
| 加速交付速度 | Lead Time、部署频率 | 标准化 CI/CD、环境即代码 |
| 保障安全合规 | 安全漏洞数、审计通过率 | 内建 RBAC/ABAC、策略即代码 |
| 提升开发者体验 | 开发者满意度、平台采用率 | 自服务门户、API 优先设计 |
1.4 内部开发者平台(IDP)概念
内部开发者平台(IDP)是平台工程的核心产出物。它是一个由平台团队构建和维护的、面向开发者的自服务层,封装了基础设施、CI/CD、可观测性、安全策略和权限模型,并通过统一的“服务目录”对外暴露。
关键理解:IDP 不是单一工具,而是一个由多个工具和流程组成的“平台面”。它通常包含:开发者门户(如 Backstage)、CI/CD 引擎(如 Tekton/GitHub Actions)、基础设施编排器(如 Crossplane/Terraform)、策略引擎(如 OPA/Rego)和权限模型(RBAC/ABAC)。
IDP 的核心组件包括:
- 服务目录(Service Catalog):所有可部署服务的注册中心,包含元数据、所有者、依赖关系和权限配置。
- 黄金路径模板(Golden Path Templates):预定义的脚手架模板,包含 CI/CD 配置、Dockerfile、Kubernetes 清单和 IaC 代码。
- 自服务操作(Self-Service Actions):开发者可通过 UI 或 API 触发环境创建、部署回滚、日志查询等操作。
- 权限与治理层(Permission & Governance):定义谁可以对什么资源执行什么操作,是本文课程的核心主题。