DevOps 原则和最佳实践
提高工作流程效率的六项 DevOps 原则
几项关键 DevOps 实践可以帮助您加速生产,同时减少困境。了解实施正确的自动化和跟踪最相关的 KPI 将如何帮助您的工作室取得成功。
不陷入困境,无需英雄之举,这不仅仅与冷硬的效率有关(尽管它会提高生产力)。这也是关于创造一种积极的、可持续的工作文化,让团队能够蓬勃发展并呈现最好的产品。在协作文化中,员工更有信心,想法会更广泛地分享,归属感和责任感也会更强,所有这些都会对产品产出和利润产生积极影响。
要培育协作的环境,应鼓励开放、透明和反馈(正面和负面),同时强调任何想法都是有意义的。建立允许跨团队工作交叉交流的系统,并对个人和团队的成功给予公开认可。采用合适的工具,如每个人都可以使用的版本控制系统,也是至关重要的。
在 DevOps 中,“左移”原则是指重新组织工作流程中的步骤。通常,在开发管线下游发生的流程“左移”到更早的阶段,以符合 DevOps 生命周期最佳实践。
CI/CD 是左移如何帮助团队以更高的敏捷性工作的一个例子。持续集成 (CI) 是将工作自动合并到中央代码仓库的过程。通过创建构建并针对构建运行自动化测试来验证更改。
持续部署 (CD) 从 CI 中断的地方开始,从构建中部署版本并执行自动化系统级测试。传统上,这一过程是手动完成的,因此管线速度缓慢。CI/CD 的实施则采用一致的自动化方式来构建、打包和测试软件。
消除费时、易受人为错误影响的手动过程是 DevOps 的核心原则。通过自动化测试和错误跟踪工具,团队不必进行查找和消除错误的繁琐工作,这些过程总体上更加高效。事实上,正确的错误监控和报告工具集实际上可以帮助您扭转与错误相关的局面,您可以充分利用它们作为路标,帮助优化代码并最终产出更好的产品。
自动化测试是 DevOps“左移”原则的另一个例子。在传统的工作流程中,构建是实时推送并手动测试的。在代码更改发布到构建之前以及在生产之前,包含自动化测试的工作流程可以监控错误。当错误在上线之前被标记出来时,程序员可以实时排除故障并最大限度地减少补丁和修补程序等服务中断。
要量化管线性能并找到优化机会,您必须跟踪几个关键性能指标 (KPI)。四大 DevOps KPI 是:
- 部署频率:将代码部署到模拟、测试或生产环境的频率
- 更改的前置时间:提交投入生产所需的时间
- 更改失败率:部署停止生产的百分比
- 平均修复时间 (MTTR):从产品或系统故障中恢复的平均时间
其他 KPI 包括:
- 部署时间:将代码部署到模拟、测试或生产环境所需的时间
- 拉取请求周期时间:编写和部署代码的时间
- 错误数
- 平均检测时间 (MTTD):发现错误的平均时间
关注相关的、可操作的 KPI。跟踪太多信息会导致信息过载和缺乏上下文的数据,使优化变得困难。
实施 DevOps 原则的团队可以受益于敏捷实践,两者互为补充,敏捷价值观是高效 DevOps 协作的核心。
DevOps 专注于整个生产过程(从预生产到发布)的迭代开发,更新在一致的基础上最多每周推送几次。敏捷更侧重于生产阶段并遵循冲刺模型,以更长时间的节奏(每隔几周甚至几个月)发布新版本。
DevOps 从业者可以受益于敏捷项目管理方法。看板和 Scrum 等敏捷实践可确保工作流程井井有条。此外,更为关注流程和会议,工具主要用于生产力跟踪、计算燃尽图和待办事项组织。
在 DevOps 中,反馈循环是指从输入进展到输出后,再次返回并进行检查,目的是改进一个或多个流程或结果。
有两类反馈循环。在强化反馈循环中,对一个过程的积极更新使另一个相关过程受益,从而增加了原始更新的价值;这有时被称为“加速变化的循环”。在平衡反馈循环中,一个过程的积极更新会导致另一个进程的消极结果,从而使原始更新的价值受到质疑。一般来说,都希望最大化强化反馈循环并最小化平衡反馈循环。
反馈循环越短,就越容易维护、监控和优化。