运维体系(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:智能发布
- 预测风险
- 自适应放量
八、常见落地误区
- 把发布平台当 UI
- 忽略回滚
- 没有指标验证
- 发布与告警割裂
