首页/系统与基础设施/自动化运维速查/运维自动化的分层建设路径
自动化基础与选型50 条

运维自动化的分层建设路径

运维自动化按「意图抽象程度」可分为脚本、任务编排、配置声明、环境交付、流程集成与度量反馈六层,通常自下而上落地;分层的作用是让故障能定位到「动作写错了」还是「期望状态设计错了」,而不是把工具堆在一起。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​​​​​‌‌‌​​‌‌​​‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌​‌‌​​​‌‌​​​​‌​‌‌‌‌​​‌​‌‌​​‌​‌​‌‌‌​​‌​​‌‌​​‌​‌​‌‌​​‌​​​​‌​‌‌​‌​‌‌‌​​‌​​‌‌​‌‌‌‌​‌‌​​​​‌​‌‌​​‌​​​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​​​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

为什么需要分层

运维自动化很少一步到位,它通常由若干关注点不同的层次叠加而成:最底层是把手工命令固化成脚本,往上是把脚本编排成可重复执行的任务,再往上是把任务要达成的结果声明成配置,最终才是把配置与发布串成流水线。分层的目的不是画架构图,而是让每一层只解决一类问题——出故障时能立刻判断是「动作写错了」还是「期望状态设计错了」,而不是从头翻一遍所有脚本。

基本信息

适用对象自有 IDC、云主机、容器平台混合的运维环境
分层依据按意图抽象程度划分,而非按工具品牌
典型载体脚本库、配置管理工具、镜像与装机模板、流水线
推进顺序自下而上:先固化动作,再编排任务,最后声明状态

典型分层

  • 脚本层:把临时命令固化成带参数、带日志、带返回码的脚本,先消灭纯手工重复劳动。
  • 任务编排层:把多个动作按顺序与条件串起来,加上批次、超时、失败处理与执行记录。
  • 配置声明层:用声明式工具描述主机应处于什么状态,由工具负责比对差异并收敛。
  • 环境交付层:把操作系统与中间件安装整体模板化,做到新节点可复制交付而不是手工装机。
  • 流程集成层:把审批、执行、验证接入工单与流水线,让每次变更都可追溯、可回放。
  • 度量反馈层:统计覆盖率、失败率与节省工时,用数据决定下一层该补什么。

各层职责对照

层级解决的问题典型产物常见失效表现
脚本层重复劳动带参数与日志的脚本参数写死、无人维护
编排层执行顺序与批次编排定义与执行记录中断后无法续跑
声明层状态一致性状态描述文件与模块任务手工改动被静默覆盖
交付层节点可复制镜像模板、装机模板新节点与老节点不一致
流程层变更可追溯工单与流水线记录绕过流程的暗箱变更
度量层收益可判断覆盖率与失败率报表自动化被当成黑盒
分层不等于必须换工具:脚本加一个配置管理工具通常就能覆盖前三层。判断是否要进入下一层的标准是上一层是否已经反复出现手工补救,而不是行业里流行什么工具。
同一层内的工具尽量收敛到一种。同一批服务器上并行存在三套脚本规范时,维护成本会超过自动化本身节省的成本,这也是很多团队自动化做到一半就停住的主要原因。

易错点

  • 跳过脚本层直接上声明式工具:写不出能收敛的状态描述,只能把脚本原样塞进配置工具,原有的不可重复问题一点没解决
  • 只做动作固化不做编排:一次变更仍要人工敲十几条命令,自动化只覆盖了其中一步,出错点反而更隐蔽
  • 声明层与手工操作长期并存且无人负责:手工改动被下一次自动化执行静默覆盖,现场配置与文档彻底脱节
  • 把分层当成一次性项目:没有度量和责任人,自动化资产半年后没人敢改、没人知道哪条还能跑

数据来源与参考

  • Red Hat《Ansible Automation Platform 架构与实践指南》
  • Google SRE 工作手册(发布工程与自动化相关章节)
  • ITIL 4 变更支持实践指南

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/automation/ops-automation-layered-roadmap.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌‌​‌‌​‌‌‌‌​‌‌‌​​​​​‌‌‌​​‌‌​​‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌​‌​‌‌​‌‌​​​‌‌​​​​‌​‌‌‌‌​​‌​‌‌​​‌​‌​‌‌‌​​‌​​‌‌​​‌​‌​‌‌​​‌​​​​‌​‌‌​‌​‌‌‌​​‌​​‌‌​‌‌‌‌​‌‌​​​​‌​‌‌​​‌​​​‌‌​‌‌​‌​‌‌​​​​‌​‌‌‌​​​​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​