运维体系(Ops / SRE Platform)

目标:让系统“可发布、可回滚、可治理、可恢复”

P0(基础运维)
├── CMDB
├── 容器平台(K8s)
├── 发布平台
├── 配置中心

P1(稳定运行)
├── 服务治理(Service Mesh / Dubbo / SpringCloud)
├── 运维工具集

P2(事件驱动)
├── 事件中心(告警 / 事件 / 变更)
├── 灰度平台(Feature Flag)
├── 变更管理平台

P3(可靠性工程)
├── 自动化运维 / 自愈
├── 容量 & 成本管理
├── 运维审计 / 合规

发布平台(Release / Deployment Platform)

下面我将从平台定位 → 核心能力 → 架构设计 → 与周边系统协同 → 治理与风险控制 → 成熟度演进六个维度,对发布平台(Release / Deployment Platform)做一次企业级、平台化、强治理视角的系统性拆解,重点回答:为什么一定要有独立发布平台、它究竟在“管什么”、以及如何和 K8s / CI/CD / SRE 打通


一、发布平台的本质定位

1️⃣ 一句话定义

发布平台是连接“代码变更”与“线上运行状态”的关键控制面,用于以可控、可回滚、可观测的方式,将变更安全地送入生产环境。

核心关键词:

  • 变更控制面(Control Plane)
  • 发布策略
  • 风险治理
  • 全链路可追溯

2️⃣ 发布平台 ≠ CI

CI(持续集成) 发布平台
面向代码 面向运行系统
构建 / 测试 部署 / 变更 / 回滚
开发阶段 生产阶段

一句话区分:

CI 负责“代码是好的”,发布平台负责“代码上得去、站得住、下得来”。


二、发布平台在整体体系中的位置

代码 → CI → 镜像 / 包
              ↓
        发布平台(核心)
              ↓
     K8s / VM / Serverless
              ↓
     监控 / 告警 / SLO

发布平台是变更治理的唯一入口


三、发布平台的核心能力模块

1️⃣ 应用与环境模型(基础)

应用模型

  • Application
  • Service / Module
  • Artifact(镜像 / 包)

环境模型

  • Dev / Test / Staging / Prod
  • Region / Cluster

📌 应用 × 环境 = 发布单元


2️⃣ 发布策略引擎(平台核心)

常见发布策略

  • 滚动发布
  • 蓝绿发布
  • 金丝雀发布
  • 分批发布(Batch)

平台能力

  • 策略模板化
  • 动态参数控制
  • 发布窗口管理

3️⃣ 发布流程编排(Workflow)

发布不是一个动作,而是一条 受控流程

准备 → 预检查 → 发布 → 验证 → 放量 → 收尾

每一步支持:

  • 自动
  • 人工确认
  • 失败回滚

4️⃣ 发布前风险控制(Pre-Check)

技术检查

  • 镜像是否存在
  • 资源配额是否足够
  • YAML / 配置校验

业务检查

  • 是否在发布窗口
  • 是否命中冻结规则
  • 是否有未关闭 Incident

5️⃣ 发布后验证(Post-Check)

  • 健康检查
  • 指标对比(前 / 后)
  • SLI 自动验证

📌 发布失败不是异常,是预期路径。


6️⃣ 回滚与降级(保命能力)

  • 一键回滚
  • 自动回滚(基于指标)
  • 灰度回退

四、发布平台的关键架构设计

1️⃣ 控制面与执行面分离

  • 控制面:发布决策、流程、策略
  • 执行面:K8s / Agent / API

2️⃣ 状态机模型(非常重要)

发布本身是一个状态机

INIT → RUNNING → VERIFYING → SUCCESS
               → FAILED → ROLLBACK

3️⃣ 事件驱动架构

  • 发布事件
  • 回滚事件
  • 指标异常事件

五、发布平台与周边系统的关系

1️⃣ CI/CD

  • CI 产出制品
  • 发布平台消费制品

2️⃣ K8s

  • Deployment / Rollout 控制
  • 多集群发布

3️⃣ CMDB

  • 服务拓扑
  • 影响分析

4️⃣ SRE / 运维平台

  • 发布与告警关联
  • MTTR / 变更风险分析

六、发布治理与风控(平台价值所在)

1️⃣ 发布门禁(Release Gate)

  • SLO 未达标禁止发布
  • Error Budget 用尽冻结

2️⃣ 变更审计

  • 谁在什么时候
  • 对哪个服务
  • 做了什么变更

3️⃣ 高风险变更识别

  • 大版本
  • 跨核心服务
  • 高峰时段

七、成熟度演进模型

L1:脚本发布

  • 人工执行
  • 风险不可控

L2:流水线发布

  • 自动化
  • 缺乏治理

L3:平台化发布

  • 策略统一
  • 回滚可控

L4:SRE 化发布

  • SLO 驱动
  • Error Budget 门禁

L5:智能发布

  • 预测风险
  • 自适应放量

八、常见落地误区

  1. 把发布平台当 UI
  2. 忽略回滚
  3. 没有指标验证
  4. 发布与告警割裂