从 DevOps 到 AIOps:打破部门墙之后,谁又撑不住了?

上一篇我们停在一堵墙前:开发要"快和变",运维要"稳和慢",两个 KPI 天然冲突,于是"部门墙"长了出来,代码能写快,上线却快不了。

这一篇,看看 DevOps 是怎么敲掉这堵墙的,以及它亲手制造的下一个困局。


一、DevOps 到底是什么:先扫清三个误会

DevOps = Development(开发)+ Operations(运维)。这个词太容易被误解,先扫清三个最常见的误会,再谈它是什么。

DevOps 不是 DevOps 是
一套现成的流程,照搬上线就完事 一种工程实践的方法论和团队文化:协作、透明,对线上结果共同负责
一套工具链,配齐 Jenkins、Docker、K8s 就叫 DevOps 让开发与运维共同参与软件全生命周期:开发要关心可观测性和部署成本,运维要提前介入架构与测试
一种人事调整,把运维改名叫"DevOps 工程师" 用自动化打通开发与运维之间的信息流,消灭人工交接

一句话点破:DevOps 不是一件你"买"得到的东西,它是你"改"出来的状态。工具是结果,不是原因。


二、双环:一个不会停下来的循环

DevOps 把软件的生命周期画成了一个闭环(经典的莫比乌斯环 / ∞ 形状),分成左右两半:

1
2
3
4
flowchart LR
P[Plan 计划] --> C[Code 编码] --> B[Build 构建] --> T[Test 测试] --> R[Release 发布]
R --> D[Deploy 部署] --> O[Operate 运行] --> M[Monitor 监控]
M -.->|反馈回流| P
  • 左边是 Dev 环(快速交付价值):计划 → 编码 → 构建 → 测试。目标只有一个,持续地产出合格的、能交付的代码。
  • 右边是 Ops 环(保障稳定与反馈):部署 → 运行 → 监控。目标也只有一个,让线上的东西一直活着。
  • 中间那个 Release(发布),是两半的交汇点,也是过去那堵墙所在的位置。现在它从"扔包的地方"变成了"标准化的交付物"。

真正让这个环闭环的,是最后那条回流线:监控发现的问题、用户反馈,直接变成下一个周期的计划输入。于是系统不再是"做完了就结束了",而是永远在往下迭代。


三、DevOps 的血统:它继承了谁

DevOps 不是凭空冒出来的,它是三个思想的孩子:

  • 继承敏捷。敏捷解决了"产品和开发"之间的协作,让代码能按周、按天产出,但没管"最后一公里"的上线。DevOps 是敏捷思想在交付和运维阶段的延伸。

  • 继承精益。精益的核心是"消除浪费、缩短端到端等待时间"。DevOps 追求的,就是让代码从写完到给用户创造价值这段路上,零等待、零浪费。

  • 改造传统 IT 管理(ITSM/ITIL)。传统 IT 管理重合规、重审计、重变更审批,往往很重。DevOps 没有扔掉这些,而是把它们从"人工审批"升级成了"策略即代码",用自动化做合规,在不牺牲稳定和安全的前提下保持速度。

看清血统,就能理解 DevOps 的野心:它想同时拿到敏捷的"快"、精益的"省"、传统 IT 管理的"稳"。这三个诉求,历史上从来没人能同时满足。


四、讽刺的转折:DevOps 成功了,Ops 却撑不住了

DevOps 的目标实现了:业务迭代从"按月发布"变成了"按天、按小时发布",系统从单个大单体,拆成了几十上百个分布式服务。

结果呢?开发端爽了,运维端的复杂度和关注面,指数级爆炸了。

  • 日志:分散在成百上千个容器和节点里,采集、存储、检索、清洗,每一样都能压死人。
  • 链路追踪:一个请求要穿过几十个微服务,链路长得看不到头,定位一个性能瓶颈如同大海捞针。
  • 告警:组件数量一多,告警就雪崩。怎么从海量告警里过滤掉噪音、精准抓到真故障,成了巨大的负担。
  • 指标:CPU、内存、QPS、延迟……海量时序数据的采集和看板维护,成本剧增。
  • 配置:开发、测试、预发、生产,多个环境 × 海量服务,动态配置稍有差池就是全局故障。
  • 文档:架构三天两头变,运维手册和故障预案(Runbook)永远跟不上,写出来就过期。

一句话:当开发借着敏捷和 DevOps 实现了快速发布,如果运维还停在"人肉维护 + 初级脚本",就会被激增的复杂度活活压垮。

而这,就是 DevOps 亲手制造的下一个困局。它解决了"发布慢",却把压力全部转移到了"跑得稳"这一头。


五、出路:把运维能力"产品化"

怎么破?两条路,方向一致:

  • SRE(站点可靠性工程):Google 提出的一套实践。核心思想很朴素,既然靠人扛不住,就用软件工程的手段去干运维的活,把可靠性当成可以度量的指标(比如预算化)来管理。
  • 平台工程(Platform Engineering):建一个内部开发者平台(IDP),把复杂的运维能力封装成自助式服务。开发要用数据库、要发布、要扩容,自己点一下平台就行,不用再扭头求运维。

两者的共同点,是把"运维"这个曾经靠老师傅经验硬扛的环节,沉淀成平台、工具和服务。人不再是被复杂度淹没的那个,而是站在复杂度之上、设计系统的那个人。


收尾:一条贯穿半个世纪的主线

把两篇文章连起来看,会看到一条清晰的主线:

每当复杂度膨胀到人扛不住的时候,人类就会把那块"最靠人硬扛"的工作,交还给流程、工具,乃至算法。

  • 需求会变、人赌不起一次想清楚,交给流程(敏捷的小步快跑)。
  • 开发和运维互相甩锅、墙上堵着人工交接,交给工具(CI/CD 流水线)。
  • 告警海啸、日志爆炸、指标看不过来,交给平台(SRE / 平台工程)。

而下一步,当"看懂海量日志、从告警风暴里自动定位根因、自动止损"这些工作,也超出了人(哪怕是 SRE)的能力范围时,答案就只剩一个:让算法来。

这就是 AIOps 站在这里的原因。它不是一个赶时髦的新词,而是这条演化链最自然的下一环:把"运维"这件事里,最后那部分"需要人来盯、来人判断"的活儿,也交出去。

(AIOps 具体怎么落地、凭什么能做到,下一篇接着聊。)