DevOps不是万能流水线

上周去苏州工业园见个做工业软件的技术团队,之前刷到他们的公众号推文,说花了小半年搭完全套DevOps工具链,上线频率从两个月一次提到每周三次,效率翻了好几倍。

结果见面聊了半小时才知道,线上故障数比上流水线之前翻了1.7倍。

被工具绑架的DevOps

太多团队对DevOps的理解,停留在工具清单层面。

GitLab管代码,Jenkins跑构建,ArgoCD做发布,Prometheus盯监控,一套流程跑下来屏幕上全是亮着绿灯的流水线节点,拍个照发朋友圈都觉得专业。

但没人愿意先解决最基础的问题:开发觉得运维故意卡审批,运维觉得开发写的代码没做容量评估,测试夹在两边两边受气。DevOps从来不是工具集合,是跨角色的协作规则。墙还立在那,就算把工具的管道铺到墙的另一头,两边该吵的架一点不会少。

我见过最离谱的案例,一个20人的团队,为了对齐DevOps的落地指标,专门拉了个5人的小组,每周开三次会讨论流水线怎么优化,业务开发的需求排期反而往后推了三周。

DevOps工具链与团队协作边界对比示意图
DevOps工具链与团队协作边界对比示意图

看不见的隐性成本

厂商卖工具的时候,从来不会告诉你后面要掏多少隐形成本。

很多团队算ROI的时候,只把买商业授权的钱算进去,根本不算为了适配工具抽走的开发人力、不算流水线故障排障的时间、不算开发为了写适配文件花在业务代码上的精力。

就说那个苏州的团队,搭完流水线之后,专门抽了两个后端开发半全职维护,每周光处理流水线报错、改配置、适配新环境的时间,就要花掉8个人天。有时候开发改了个页面上的错别字,也要走全流程跑一遍构建、测试、安全扫描,等半小时才能发布,反而比之前手动点一下发布按钮慢得多。

我上次还碰到个团队,为了适配流水线,让开发写的yaml配置文件比实际业务代码还长。

说实话,我见过太多团队把DevOps做成了自嗨的流水线展览。老板巡场的时候看着大屏幕上滚动的彩色流水线状态,觉得数字化转型做得到位;底下的开发对着报红的节点骂娘,却没人敢说这套流程其实早就脱离了实际需求。没有匹配的流程适配,DevOps带来的效率损耗远大于收益。

麻烦在于,很多团队把“上线速度”当成了DevOps唯一的考核指标,却没人算过,为了快这几分钟,背后要搭进去多少维护成本。

中小型团队DevOps流水线故障排障现场
中小型团队DevOps流水线故障排障现场

真正落地的取舍逻辑

这事没那么玄。

小团队根本没必要一开始就追求全链路DevOps。

之前接触过一个做电商SaaS的12人小团队,3个开发、2个测试、1个运维,没买贵的企业级工具,就用开源的Jenkins搭了个最基础的流水线,只把最容易出错的代码编译、单元测试、静态安全检查三个环节自动化,发布环节还是保留了开发负责人和运维的双审批,上线前两边一起过一遍变更清单。

就这么简单的一套流程,跑了半年,线上因为低级错误导致的故障降了60%,整个团队为了维护流水线花的时间,还不到之前那个苏州团队的三分之一。

真的。

别被厂商忽悠了。跨团队的信任成本,从来不是靠工具能抹平的。DevOps的核心从来不是追求“从代码提交到上线全程无人工”的炫技,是把那些重复的、不需要人动脑子的、容易出低级错误的环节交给机器,把需要判断、需要担责的环节留给人。

你一个做核心交易系统的团队,上线流程全自动化不用人审?出了资金损失谁担?你一个做内部管理系统的团队,上线前走半小时的安全合规扫描?开发等得都下班了。

上周和那个苏州团队的技术负责人吃饭,他说现在已经把原来的全流程流水线砍了三分之一,把那些没人用的节点全删了,只留了最核心的三个自动化环节。现在每周大家抽半小时坐在一起,把下周要上线的需求对一遍,扯皮的事少了,故障数自然就降下来了。

你看,绕了一大圈才发现,DevOps玩到最后,拼的根本不是你用的工具有多贵、流程有多全,是你团队里的人愿不愿意把各自的边界说清楚,别让大家把时间都耗在无意义的流程内耗上。

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:DevOps不是万能流水线
文章链接:https://www.itcdj.com/it/82.html