Kanban 指南 · 精益基础
什么是 DevOps?文化、实践与指标
DevOps 是一套将软件开发与 IT 运维结合在一起的文化价值观、实践和工具,使团队能够快速、可靠地交付变更。它将敏捷和精益思维延伸到从代码到客户的整个路径。
要点总结
- DevOps 围绕共同目标将开发与运维团结在一起。
- CALMS 和三步工作法概括了其原则。
- 用部署频率、前置时间、变更失败率和恢复时间来衡量。
起源
DevOps 一词出现于 2009 年前后,当时 Patrick Debois 在比利时根特组织了首届 DevOpsDays 大会。它源于人们对开发与运维之间隔阂的不满:开发人员希望变更,而运维人员希望稳定。
CALMS 模型
| 要素 | 含义 |
|---|---|
| 文化 | 开发与运维之间的共同责任与协作 |
| 自动化 | 将构建、测试、基础设施和部署自动化 |
| 精益 | 小批量、限制 WIP、关注流动 |
| 度量 | 衡量流动、质量和用户成果 |
| 分享 | 分享知识、工具和经验教训 |
三步工作法
由《凤凰项目》和《DevOps 实践指南》推广:
- 流动: 加快工作从开发到运维再到客户的流动。
- 反馈: 建立从运维和用户回到开发的快速反馈。
- 持续学习与实验: 建立从失败中学习并不断改进的文化。
关键实践
- 持续集成和持续交付.
- 基础设施即代码。
- 自动化测试和监控。
- 借助功能开关进行小规模、高频率的发布。
- 由团队构建并运行自己的服务。
- 不追责的事后复盘。
衡量 DevOps 绩效
DORA 研究项目推广了衡量软件交付的四个关键指标:
- 部署频率: 发布的频率。
- 变更前置时间: 从提交到生产环境。
- 变更失败率: 引发问题的发布所占的比例。
- 服务恢复时间: 从故障中恢复的速度。
本主题的免费模板
常见问题
DevOps 是一个角色还是一种文化?
首先是一种文化和实践集合。许多组织也设有专注于自动化和工具的“DevOps 工程师”角色。
DevOps 与 Kanban 有何关系?
两者都关注流动、小批量和可见性。许多运维团队和平台团队使用 Kanban 来管理工作。
简单来说,什么是 DevOps?
DevOps 是一种将软件开发与 IT 运维结合在一起的工作方式,使团队能够更快、更可靠地构建、发布和运行软件。
DevOps 是何时出现的?
该术语出现于 2009 年前后,当时 Patrick Debois 在比利时根特组织了首届 DevOpsDays 大会。
DevOps 中的 CALMS 代表什么?
文化(Culture)、自动化(Automation)、精益(Lean)、度量(Measurement)和分享(Sharing):概括 DevOps 主要要素的模型。
DevOps 中的四个 DORA 指标是什么?
部署频率、变更前置时间、变更失败率和服务恢复时间。它们同时衡量软件交付的速度和稳定性。
DevOps 的三步工作法是什么?
从开发到运维的流动、双向的快速反馈,以及持续学习与实验的文化。
DevOps 是敏捷的一部分吗?
DevOps 将敏捷理念从开发延伸到发布和运维。敏捷加快了软件的构建;DevOps 则加快了将软件安全交付给用户的速度。
DevOps 和持续交付有什么区别?
持续交付是一种让软件保持可发布状态的具体技术实践。DevOps 则是更广泛的文化和实践集合,持续交付是其中的关键部分;参见 持续交付.
DevOps 工程师做什么?
DevOps 工程师通常负责构建和维护部署流水线、基础设施自动化和监控,帮助开发团队和运维团队协同工作。
DevOps 中不追责的事后复盘是什么?
在故障之后进行的复盘,关注系统中是什么让问题得以发生,而不是追究谁的责任,从而让人们公开分享信息,团队得以学习。