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 成熟度模型):
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)四个黄金信号的监控模板。