方法

DevOps

一种文化和一套自动化实践,将开发与运维融合在一起,让同一个团队构建、交付并运行软件,并让反馈从生产环境快速回流到代码。

最近审阅: 2026-06-02 审阅人Kevin Riedl wiki ↗

DevOps 起初是对一种特定功能失调的回应:开发人员把代码越过一堵墙扔给一个独立的运维团队,出问题时运维被指责,而编写软件与运行软件之间的反馈回路被打断了。DevOps 弥合了这个回路。构建软件的团队也负责交付和运行它,运行某物的痛苦会直接回流到能够修复它的人那里。

在实践中,这种文化由自动化来支撑:CI/CD 让改动安全且频繁地流入生产环境,基础设施即代码让环境可复现而不是手工搭建的"雪花",可观测性(日志、指标、追踪、告警)让团队看清生产环境实际在做什么。这些工具单独哪一个都不是 DevOps。它们是让这种文化得以存续的东西。

“DevOps 工程师"这个职位头衔在很大程度上是个误称,而且很说明问题。DevOps 不是一个你雇来坐在开发和运维之间的角色,那只是用一个新名字重建了那堵墙。大多数"DevOps 工程师"招聘实际想要的,是一名构建其他开发人员所用自动化的平台或基础设施工程师。人有用,标签贴错了。如果你的组织有一个负责部署、好让开发人员不必动手的 DevOps 团队,那你拥有的是换了招牌的运维,而不是 DevOps。

Wavect 的看法:DevOps 是一种工作方式,而不是一个部门。我们构建那种让小团队能够端到端地负责自己软件的自动化,并把"你构建它,你运行它"当作默认值。看看我们的全栈开发工作,了解这在实践中如何展开。

// FAQ

常见问题

常见问题

一种将开发与运维融合在一起的文化,让同一个团队构建、交付并运行自己的软件,并让反馈从生产环境快速回流到代码。它由自动化来支撑:CI/CD、基础设施即代码和可观测性。要点在于弥合编写软件与运行软件之间的回路。
并不真的是,而「DevOps 工程师」这个头衔通常是个误称。DevOps 是一种工作方式,而不是一个你塞在开发和运维之间的角色,那只会重建那堵墙。大多数「DevOps 工程师」职位实际上是平台或基础设施工程:构建其他开发人员所用的自动化。标签错了,工作是真的。
当一个组织设立一个独立的 DevOps 团队,负责部署、好让开发人员不必动手时。那就是用一个新名字重建的旧的开发对运维的那堵墙。每当构建软件的人被隔绝于运行它的痛苦之外时,DevOps 就会失败,因为证明整套方法正当的反馈回路消失了。