1. 平台工程概述

1.1 平台工程的定义

平台工程(Platform Engineering)是一门设计和构建内部开发者平台(IDP)的学科,其目标是通过抽象基础设施复杂性、提供自助式服务目录和标准化工作流,使开发团队能够以最小的认知负荷交付和运行应用程序。

核心思想:“平台即产品”——将平台视为面向内部用户(开发者)的产品,持续迭代以提升开发者体验(DX)和交付效率。

关键定义:平台工程 ≠ 工具链堆砌。它是一套融合了技术架构、组织流程和产品思维的工程实践,旨在消除“等待基础设施”和“环境配置不一致”等组织瓶颈。

1.2 核心价值

价值维度 具体表现 量化指标示例
加速交付 环境自服务、CI/CD 标准化、部署自动化 部署频率提升 3-5 倍;变更前置时间缩短 60%
降低认知负荷 屏蔽底层 IaaS/PaaS 细节,提供抽象 API 和 UI 新服务上线时间从 2 天降至 2 小时
保障安全合规 内置策略即代码(Policy as Code)、黄金路径 安全漏洞修复时间(MTTR)减少 40%
提升可观测性 统一日志、指标、链路追踪接入,开箱即用 故障定位时间(MTTI)缩短 50%
资源利用率 统一配额管理、成本标签、闲置资源回收 云成本降低 20%-30%

1.3 与传统运维 / DevOps 的区别

维度 传统运维 DevOps 平台工程
关注点 基础设施稳定性、可用性 协作文化、自动化流水线 开发者体验、自助服务、抽象层
用户 系统管理员、SRE Dev + Ops 团队 所有开发团队(内部客户)
交付方式 工单驱动、手动变更 共享责任、自动化部署 自助目录、API 驱动、黄金路径
抽象层次 物理机 / 虚拟机 容器 / 编排 服务目录 / 环境模板 / 能力 API
核心指标 Uptime、MTBF 部署频率、变更失败率 开发者满意度(DX Score)、自服务采纳率
工具倾向 Nagios、Zabbix、Puppet Jenkins、GitLab CI、Docker Backstage、Port、Kratix、Crossplane
关键认知:平台工程不是取代 DevOps,而是将 DevOps 中的“运维责任左移”进一步产品化。平台团队承担“构建内部工具”的责任,开发团队则通过自助目录获得“一键式”的 DevOps 能力。

1.4 平台工程成熟度模型

平台工程成熟度通常划分为五个阶段,从“临时脚本”到“生态化平台”。以下模型基于行业实践(参考 CNCF 平台工程白皮书及 Humanitec 成熟度模型):

平台工程成熟度模型(五阶段) L1:临时脚本 手动操作 无标准化 L2:工具化 引入 CI/CD 部分自动化 L3:平台化 统一 IDP 自助服务 L4:产品化 DX 驱动 SLA/SLO L5:生态化 插件市场 跨团队复用 特征 SSH 登录 手工部署 无版本控制 知识孤岛 无可观测性 特征 Jenkins/GitLab CI Docker 化 脚本自动化 环境仍手动 基础监控 特征 Backstage/Port 自助目录 黄金路径 统一 RBAC 基础 OTel 特征 开发者满意度 SLA/SLO 承诺 成本可视化 全链路 OTel A/B 测试 特征 插件/模板市场 跨团队复用 AI 辅助 自动修复 FinOps 集成 初始阶段 自动化阶段 标准化阶段 优化阶段 智能阶段 各阶段关键指标对比 指标 L1 L2 L3 L4 L5 部署频率 周/月 天 小时 分钟 持续 自服务率 0% <30% 50-70% 80-90% >95% 可观测性覆盖 无 基础监控 日志+指标 全链路追踪 智能分析

1.5 成熟度阶段详解

  • L1:临时脚本 — 团队依赖个人知识,环境配置靠 SSH 和手工执行脚本。无标准化流程,每次部署都是“冒险”。可观测性几乎为零,故障定位依赖“谁在线、谁处理”。
  • L2:工具化 — 引入 CI/CD 工具(如 Jenkins、GitLab CI)和容器化(Docker),部分自动化构建与部署。但环境创建、数据库申请等仍需要工单或手动操作。监控停留在“是否 alive”层面。
  • L3:平台化 — 构建内部开发者平台(IDP),提供自助服务目录。开发者可通过 UI 或 API 一键创建环境、部署服务、配置域名。引入 OpenTelemetry 基础采集,统一日志和指标。这是本课程重点覆盖的起点阶段。
  • L4:产品化 — 平台团队以产品思维运营,关注开发者满意度(DX Score)。提供 SLA/SLO 承诺,成本可视化,全链路可观测性(Trace + Metrics + Logs 三支柱)。支持 A/B 测试和金丝雀发布。
  • L5:生态化 — 平台具备插件/模板市场,各业务团队可贡献和复用能力。AI 辅助运维(AIOps)自动检测异常并修复。FinOps 深度集成,资源成本自动优化。可观测性数据驱动平台自身迭代。
常见误区:很多团队试图直接从 L1 跳到 L4,跳过平台化阶段直接追求“产品化”。这往往导致平台与开发者需求脱节,采纳率低。建议按成熟度模型逐步演进,每个阶段都先解决最痛的“等待”问题。

1.6 平台工程与可观测性的关系

可观测性是平台工程中不可或缺的横向能力。在平台成熟度 L3 及以上,平台需要为所有服务提供开箱即用的可观测性能力:

  • 标准化采集:通过 OpenTelemetry Collector 统一采集日志、指标、链路,避免每个团队各自搭建采集栈。
  • 自助仪表盘:开发者通过平台目录申请服务时,自动生成 Grafana 仪表盘和告警规则。
  • 成本归属:通过 OTel 资源属性(Resource Attributes)标记服务归属团队,实现可观测性成本分摊。
  • 黄金信号:平台内置延迟(Latency)、流量(Traffic)、错误(Errors)、饱和度(Saturation)四个黄金信号的监控模板。