DevOps工程师的黄昏:从胶水人到平台播种者
当DevOps的喧嚣逐渐褪去,我们惊讶地发现,那些曾经被誉为“打破孤岛”的DevOps工程师,如今却成为研发团队最渴望甩掉的“拐杖”。他们像胶水一样连接着各个团队,却也因此让组织更加依赖他们。这是进步吗?不,这是另一种形式的熵增。在漫长的进化中,DevOps工程师的角色逐渐固化,他们精心构建的流水线和工具链,最终成了悬挂在自己脖子上的绞索。
回望2010年前后,DevOps运动旨在消除开发与运维之间百年不融的仇恨。早期的DevOps工程师往往是人肉脚本,他们写自动化脚本,建立CI/CD流水线,把一切能用工具解决的重复劳动自动化。他们懂代码,懂基础设施,懂网络,他们无所不能,但他们也成了唯一的联系人——当开发人员需要部署环境、需要配置监控、需要发布版本时,他们都要来找他。于是,DevOps工程师成了新的瓶颈,甚至比原先的运维团队更可怕,因为他的所有能力都藏在脑袋里,一旦离职,整个系统就陷入瘫痪。这难道是当初这场运动的本意吗?
让我们对比传统运维与DevOps:传统运维是“守门员”,他们以拒绝变更来确保稳定;而DevOps工程师是“催产师”,他们以加速交付为使命。然而,在云原生时代,Kubernetes和基础设施即代码吞噬了自定义运维知识,DevOps工程师的许多技能已经内置到云服务中。更讽刺的是,SRE和平台工程这些后起之秀,它们将DevOps工程师的工作重新包装成“产品”和“服务”,用SLO和错误预算取代了纯粹的赋能。DevOps工程师发现自己突然成了“过气明星”:他们努力了十年的目标——让开发自服务——如今被平台工程以更系统化的方式实现,而他们自己却被困在“工具人”的角色里。可悲的是,他们成了自己曾经最讨厌的那种人:一个需要靠“技术壁垒”来维持存在感的“运维”。
我认为,DevOps工程师的最大成就是让自己“失业”。但不幸的是,大多数DevOps工程师并不愿意主动终结自己的角色。他们沉迷于“消防员”的快感,被组织的依赖性所裹挟,甚至利用信息不对称来维持自己的不可替代性。这是一种职业上的“平庸之恶”,也是DevOps精神最大的背叛。真正的DevOps不是一种岗位,而是一种文化。文化无法被购买,也无法被任命,只能被播种。因此,当代DevOps工程师的职责应该是“播种”——把工具、流程、知识都产品化,让开发人员自助,然后自己转型为平台建筑师或开发者体验倡导者。他们应该主动放弃“胶水人”的身份,从“做DevOps”变为“构建DevOps能力”,让自己所在的岗位逐渐消失。这才是反脆弱,才是在职业生涯中真正的安全感。
云原生和AI将加速这一进程,当CI/CD流水线不再需要人维护,当监控告警由AI自动处理,当一切基础设施都成为平台服务,DevOps工程师这个角色终将消融。但这并不可悲,因为那时的组织已经真正实现了持续交付与高可靠性的融合。或许,当我们不再需要“DevOps工程师”这个头衔时,DevOps才算真正成功了。到那时,每一个开发人员都是DevOps的践行者,而曾经的工程师们,早已化身为规划整个软件交付生态的“播种者”。这就是我眼中最值得期待的明天。