上周去一家做企业服务的公司蹲了两天,刚好赶上他们季度末的大版本发布。晚上十点多的会议室走廊,运维小哥抱着笔记本堵在开发工位旁,说你刚提交的镜像我在预发环境跑了二十分钟就内存溢出,开发小哥叼着半根没吃完的外卖吸管抬头,说不可能啊我本地跑了三圈都稳。旁边的产品攥着皱巴巴的需求清单直跺脚,说这个功能上线晚一天,客户那边的续约就要黄。
这就是很多公司做DevOps之前的真实日常,没有什么宏大的叙事,全是跨部门扯不完的皮。
DevOps首先要解决的根本不是工具问题
很多人一提到DevOps,第一反应就是买一套成熟的流水线工具,把代码提交、构建、测试、部署的节点全串成自动触发的流程,好像串完了就万事大吉——开发再也不用半夜拍运维的家门,运维再也不用坐在工位上手动改配置擦屁股。
麻烦在于,上周那家公司的流水线工具买了快两年,每个月的服务费交着,实际真正跑通全流程的节点没几个。流水线的触发权限根本没给一线开发开全,运维团队怕开发随便点发布按钮把生产环境搞挂,特意在流程里加了三层审批,每提交一次代码要等运维主管、值班运维、安全岗三个人依次点同意,算下来等审批的时间比手动部署的时间还长。

我之前碰到过一个技术负责人,拍着胸脯说他们公司DevOps成熟度评级已经到了最高级,结果转头就跟我吐槽,说每次上线前,开发还是要花两个小时跟运维对部署清单,跟安全对漏洞扫描的豁免规则,跟测试对回归的用例范围,所有搭好的自动化流程,最后全卡在跨部门的规则对齐上。
这事没那么玄。DevOps本质上根本不是什么高高在上的技术框架,是把原来散在各个部门手里的流程节点,拆到离干活的人最近的位置——开发写的代码,自己能触发构建,能直观看到测试结果,能按需申请发布权限,不用隔着部门墙等别人层层审批。
那些藏在流程里的隐性成本才是DevOps真正要砍的东西
很多人算DevOps的投入账,只会算买工具花了多少钱,算自动化测试脚本写了多少行,从来不算那些看不见的成本——比如开发为了等审批耗掉的三个小时,比如运维为了帮开发排查环境问题花掉的一下午,比如产品因为发布延期跟客户反复解释的那些精力。
之前接触过一个团队,之前做版本发布,每次要提前三天拉跨部门大群,把所有相关角色拉进来,逐行核对部署步骤,怕哪一步漏了引发线上故障,光拉群对齐这个事,每次就要耗掉快十个人的半天时间。后来他们把原来的审批节点砍掉了一半,把生产环境的发布权限按服务粒度拆分,哪个开发写的服务,自己就能触发预发环境的部署,只有到生产环节才需要值班运维做最终的健康检查。算下来,每个月花在跨部门对齐上的时间直接少了六成。

说实话,我见过太多团队把DevOps做成了形式主义,墙上挂着大大的文化宣传海报,喊着要打破部门墙,结果实际流程里,开发要想碰一下生产环境的配置,还要写三页纸的申请单,找三个部门的领导签字,这不是自相矛盾吗?
还有的团队,把DevOps等同于CI/CD流水线,觉得只要把代码从提交到上线的路打通了,就算完成了目标,根本不管路上的人是不是真的能顺畅走过去。
DevOps从来没有可以直接抄的标准答案
之前有个创业公司的技术总监跟我吐槽,说他们照着大厂的DevOps手册抄了一整套流程,结果落地了三个月,整个团队怨声载道——大厂有几百人的专职运维团队,有专门的平台组来维护流水线,有覆盖全链路的监控体系,他们整个技术团队加起来才二十个人,开发兼测试,运维兼DBA,照着大厂的流程走,光维护那套自动化脚本的时间,就占了每个人快三分之一的工作时间,根本顾不上写真正能给客户用的业务代码。
对吧?这事本来就没有标准答案。十几个人的小团队,DevOps的核心可能就是把大家的发布习惯对齐,别每次上线都靠口头在群里喊,能写个简单的部署脚本把重复的步骤省了就行。真的没必要上来就搞什么全链路可观测、什么混沌工程。几百人的中大型团队,可能才需要把权限、流程、监控的体系搭得更细一点,不然人多了真的容易乱。
我最烦那些卖DevOps解决方案的销售,一上来就说他们的产品能帮企业实现研发效能提升多少多少,好像买了他们的系统,整个团队的协作效率就能自动飞起来。纯纯的忽悠。实际上呢?工具只是个载体,真正的效率提升,从来都是来自于你敢不敢把那些没必要的审批砍掉,敢不敢信任一线干活的人,敢不把跨部门的责任边界划得像城墙一样厚。
就像开头那家做企业服务的公司,后来他们调整了DevOps的推进思路,不再盯着工具的功能数做考核,反而先把发布的审批流程砍了——原来要三个人审,现在开发自己提交预发环境部署,测试通过之后,值班的运维只需要核对一下监控面板的核心指标,就可以放行上线。就这一个小调整,下个季度的版本发布周期,直接从原来的两周一次,缩到了三天一次,之前每次发布都要在会议室熬到半夜的场景,再也没出现过。
别把DevOps想的太高大上。它不是写在白皮书里的晦涩概念,也不是要花几百万采购的昂贵系统。说白了,就是帮干活的人少点没必要的麻烦,少点跨部门的扯皮,把原来浪费在对齐、审批、等流程上的时间,省下来真的去做能给用户创造价值的事。