从 DevOps 到 AIOps:打破部门墙之后,谁又撑不住了?
从 DevOps 到 AIOps:打破部门墙之后,谁又撑不住了?
上一篇我们停在一堵墙前:开发要"快和变",运维要"稳和慢",两个 KPI 天然冲突,于是"部门墙"长了出来,代码能写快,上线却快不了。
这一篇,看看 DevOps 是怎么敲掉这堵墙的,以及它亲手制造的下一个困局。
一、DevOps 到底是什么:先扫清三个误会
DevOps = Development(开发)+ Operations(运维)。这个词太容易被误解,先扫清三个最常见的误会,再谈它是什么。
| DevOps 不是 | DevOps 是 |
|---|---|
| 一套现成的流程,照搬上线就完事 | 一种工程实践的方法论和团队文化:协作、透明,对线上结果共同负责 |
| 一套工具链,配齐 Jenkins、Docker、K8s 就叫 DevOps | 让开发与运维共同参与软件全生命周期:开发要关心可观测性和部署成本,运维要提前介入架构与测试 |
| 一种人事调整,把运维改名叫"DevOps 工程师" | 用自动化打通开发与运维之间的信息流,消灭人工交接 |
一句话点破:DevOps 不是一件你"买"得到的东西,它是你"改"出来的状态。工具是结果,不是原因。
二、双环:一个不会停下来的循环
DevOps 把软件的生命周期画成了一个闭环(经典的莫比乌斯环 / ∞ 形状),分成左右两半:
1 | flowchart LR |
- 左边是 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 具体怎么落地、凭什么能做到,下一篇接着聊。)

