什么是手工运维

一个夏天的午后,知了嘈杂,窗下的我 review AI 写好 IaC 代码后,敲下部署到线上环境的命令。 看着终端的日志滚动,一个问题突然蹦入我的大脑:什么是手工运维? 像我这样使用 IaC 来管理基础设施: 过去是手打代码,这算吗? 现在是 AI 写的代码了,但是 prompt 依然是手打,这算吗? 代码是 AI 写了,但是执行,还是需要手工的,这算吗? 如果不使用 IaC,改成使用 GUI,人们可以在界面上点一下“部署”按钮,就完成了整个服务的部署,这算不算手工运维呢? 像 Cloudflare 或者 Vercel 上,开发者都不用点,只需要将写好的业务代码 push 到远程的 git 仓库就可以了,部署和自动化的域名都给自动化完成了,这算不算手工运维呢? 先说结论:不论是使用 GUI 还是 IaC,如果无法做到自动编排部署任务,都是手工运维。 过去,运维人员通过 SSH 一条条命令的输入到服务器,大家都认为那是手工运维。但是,如果把这些命令写成 bash 脚本,可以一键执行,这算自动化运维了吗? 现在,人们在 GUI 界面上,一个个按钮的点击界面,最后点击“部署”按钮,我认为这与通过 SSH 一条条命令运维没有什么区别,也是手工运维。只不过 GUI 的动作的粒度比 SSH 命令大一些。 本质上,以上两种方式,都需要人工编排部署任务,也就属于手工运维。 而 Cloudflare 或者 Vercel。单服务时,不需要编排部署,所以人们觉得自动化运维。但是如果是多个服务,Cloudflare 或者 Vercel无法做到自动化编排部署任务,它依然是手工运维。 所以,使用 IaC 来管理基础设施,算手工运维吗?取决于你的 IaC 代码:当人表达意图后,它能否自动输出部署计划,并且能自动化运行。 如何做到?这是另一个话题了。 希望这篇文章给你带来启发。多谢。

2026-07-10 · 1 min · 63 words · 翟志军 Jack Zhai