DevOps 最佳实践
DevOps 需要改变文化、实现流程自动化以及进行适当技术投资
Tom Hall
DevOps 推广人员和从业人员
DevOps 最佳实践包括敏捷开发项目管理、使用 CI/CD 进行左移、自动化、监控、可观察性和持续反馈。
什么是 DevOps?
最好将 DevOps 理解为改进开发和运营团队之间的沟通和协作的业务驱动,以提高软件部署的速度和质量。这是一种全新的工作方式,对团队及其工作的组织具有深远影响。
DevOps 的重要性
虽然 DevOps 转型需要彻底改变业务结构和流程,但这一努力十分必要。我们的 2020 年 DevOps 趋势调查表明,99% 的调查对象表示 DevOps 对他们的组织产生了积极影响。
另一项 DevOps 研究(即 DORA 2019 年 DevOps 状况)报告发现,精英从业人员的发布频率和速度分别比表现不佳的从业人员高出 208 倍和 106 倍。不仅仅是加快上市速度,DevOps 还可以提高质量,而精英团队的变更失败率也比表现不佳的团队低了 7 倍。
相关资料
免费试用
相关资料
了解 DevOps 优势
实施 DevOps 的最佳实践
敏捷项目管理
敏捷开发是一种项目管理和软件开发的迭代方法,可帮助团队更快地为客户创造价值,同时减少问题。敏捷开发团队专注于以较小的增量交付工作,而不是等到单个大规模发布日期来交付工作。持续评估需求、计划和结果,使团队能够对反馈做出响应并根据需要进行调整。
以下是敏捷开发项目管理的关键概念:
- 从四阶段工作流程开始:待办、进行中、代码审查和完成。了解有关工作流程的更多信息。
- 团队需要将大型项目分解为较小的任务,并在取得进展的同时对需求或范围的变更做出响应。了解有关如何使用长篇故事、故事和主题来确定工作范围和结构的更多信息。
- 如何计划、跟踪和衡量增量工作?Scrum 和看板是团队实践敏捷开发方法的核心框架。
使用 CI/CD 实现左移
当团队“左移”时,他们会尽早将测试引入代码开发流程中。在整个编码过程中执行各种测试,而不是将多项变更发送给单独的测试或 QA 团队,这样开发人员就可以在处理代码库的相关部分时修复缺陷或提高代码质量。持续集成和持续交付 (CI/CD) 以及部署的实践可巩固左移能力。了解有关 CI/CD 的更多信息。
使用适当工具进行构建
DevOps 工具链要求在 DevOps 生命周期的每个阶段使用适当的工具,并具备提高软件质量和交付速度的关键功能。了解有关如何选择 DevOps 工具和审查 DevOps 生命周期中每个阶段的功能的更多信息。
实现自动化
持续集成和交付允许开发人员定期将代码合并到主存储库中。CI/CD 可自动执行该流程,即从在指定窗口中进行批处理到频繁提交,而不是手动检查代码。除了 CI/CD 之外,自动化测试对于 DevOps 实践的成功也至关重要。自动化测试可能包括端到端测试、单元测试、集成测试和性能测试。了解有关将自动化功能整合到软件开发流程中的更多信息。了解有关自动化的更多信息。
监控 DevOps 管道和应用
监控 DevOps 管道非常重要,借助它,构建中断或测试失败就不会造成不必要的延迟。自动化极大地提高了开发速度,但是如果自动化流程出现故障而且没人知道,那么最好手动完成这些工作。同样,监控生产应用至关重要,以便在客户反馈之前就识别出故障或性能缺陷。
可观察性
随着行业从单一的本地系统和应用转向基于微服务的原生云应用,监控如今变得更加复杂。因此,人们对可观察性越来越感兴趣。人们常说,可观察性的三个支柱是日志、跟踪和指标。日志由大多数系统组件和应用生成,包含有关系统或应用运行的时间序列数据。跟踪则用于跟踪应用中的逻辑流程。指标包括 CPU/RAM 预留或使用情况、磁盘空间、网络连接等。可观察性只是意味着综合利用这三种信息来源对复杂系统的运行进行发现和预测,否则这将很难实现。了解有关可观察性的更多信息。
收集持续反馈
持续反馈可确保团队成员获得及时完成工作所需的所有信息。从开发角度来看,这意味着团队会立即收到所有管道故障的警报。同时,这也意味着开发人员能够尽快获得清晰、全面的代码测试结果。从产品管理角度来看,团队可以了解到任何生产故障或性能缺陷或报告的缺陷。过去,人们普遍认为开发团队只能在速度或质量方面进行优化。持续反馈是 DevOps 的要素之一,它可以实现速度和质量方面的优化。
改变文化
DevOps 需要协作、透明度、信任和同理心。如果您的组织已经在少数具备这些品质的公司之列,那么您的团队应该能够非常轻松地采用 DevOps 实践。如果不在,则培养这些品质需要付出一些努力。最常见的组织结构是孤立的,这意味着不同团队有不同的所有权和责任范围,而且几乎没有跨团队沟通或协作。为了实现 DevOps 成功,必须通过采用“谁构建,谁运行”实践来消除这些障碍。这并不意味着没有专门的人员或团队,只是开放并实施了团队之间的沟通和协作渠道。了解有关打造团队文化的更多信息。
磨练您的 DevOps 实践是一个持续过程。在开始 DevOps 转型时,专注于人员和流程,并在成为成熟团队时,融入高级工具、集成功能和特性功能。
分享这篇文章
下一个主题
推荐阅读
将这些资源加入书签,以了解 DevOps 团队的类型,或获取 Atlassian 关于 DevOps 的持续更新。