DevOps 是越来越多的企业使用的流程,以跟上云和移动应用程序的需求和软件更新的快速步伐。除了自动化,DevOps 还能够彻底改变软件开发。
DevOps 实践通常非常依赖自动化,以便快速、频繁地交付。DevOps 中的自动化可以提高产品的速度、准确性、一致性和可靠性。
因此,我们询问了业内专家,自动化在 DevOps 中的作用是什么?。
1DevOps 和自动化
根据Atos Syntel 的 DevOps 工程师Santhosh Kumar Bhandari 的说法,DevOps 是一个自动化过程,它不断尝试使手动过程自动化。我们已经生活在手工时代超过 2 年了。任何流程都无法在一夜之间改变,它需要研究、探索、时间和能力。事实证明,DevOps 可以在很短的时间内带来业务价值。
我们转型得越多,我们的自动化程度就越高。因此,我们应该牢记自动化的程度。
此外,Next 的首席 DevOps 自动化工程师Khuswant Singh补充说,DevOps 只能通过使用各种 DevOps 自动化工具来实施。DevOps 的目标是以市场的速度发布产品,并且可以通过自动化平凡的手动重复任务来实现速度。
2在 DevOps 中实现自动化
DevOps 是一种流程/方法或文化,用于克服组织中自动化的手动工作。
DevOps 为我们提供了许多自动化工具和框架。DevOps 架构师团队必须为组织选择正确的工具并进行设计。如果没有 DevOps 原则的知识/经验,任何组织都会以不成熟的流程结束,效率低,可靠性低,自动化不完整。
DevOps 流程需要大量知识,了解其工作原理以及自动化在流程中的位置,以便在 DevOps 中集成自动化。
整体自动化是通过在软件应用程序生命周期的每个阶段使用各种 DevOps 工具来实现的。各种 DevOps 工具都有插件可以轻松地将工具组合在一起,例如 DevOps 工具——Jenkins、Git、Docker、Veracode、Selenium、Chef、AppDynamics、ELK 等。
DevOps 可以通过使用云服务而不是本地数据中心来高效实施。
3DevOps 如何从自动化中受益?
DevOps 是一个自动化过程,它消除了 Dev 团队和 Ops 团队之间的障碍。DevOps 鼓励开发和测试过程在开发圈内并行进行。
因此,DevOps 对代码提出了挑战:
“部署前测试 -> 安全检查 -> 包 -> 部署 -> 部署后测试”
对于每一段代码,开发人员编码,这可能会导致n个流程周期,因为开发是一个连续的过程。手动运行此流程对任何组织来说都是一个巨大的挑战,因此自动化以自动化取代了手动流程。自动化可以通过一些工具集成将花费在开发生命周期上的时间降到最低。
自动化是以敏捷方式实现 DevOps 流程的核心。DevOps 的目标是随着业务的步伐发布软件产品,因此自动化有助于更快地实施。在 DevOps 中,我们还使用基础设施即代码 (IaC) 技术来帮助自动创建快速的附加基础设施,并在不需要时将其销毁。
此外,DevOps 帮助组织自动化流程,通过自动化发布周期来更快地带来输出。每次有新代码进入环境时,DevOps with Agile 可以通过重复构建、扫描和测试应用程序来最大限度地提高应用程序的效率。更快、更高效的构建周期有助于企业以更快的速度实现应用程序。
DevOps 可以帮助组织在更短的时间内部署应用程序,从而帮助企业。Ops 负责在生产中正确调整应用程序。
自动化和 DevOps 帮助企业更快地开发和发布产品,同时通过减少手动活动和自动化平凡的任务来节省资金。
4缺点…
测试自动化是 SDLC 中非常关键的元素。事实上,测试是一个如此庞大的过程,DevOps 工程师在自动化它时需要小心。尽管在 DevOps 中测试是自动化的,但测试用例是由测试工程师开发的,应该涵盖多个场景。然后测试应该与开发并行。
因此,他强调了一些挑战:
-
测试用例应始终随着开发而更新; -
应向测试人员提供有关开发周期输出的先验知识; -
很少有类型的系统集成测试需要更多的专业知识; -
有时在使用零停机时间部署时会出现挑战。
测试自动化应该更加成熟,使用 AI/ML 解决方案来克服上述挑战。
5如何在两者之间取得平衡?
为了在测试和 DevOps 之间取得平衡,开发团队应该合作。工作文化应包含 SAFe 的 CALMR 原则。测试团队应该始终了解开发团队的愿景并参与到 Scrums 中。
在 DevOps 流程中应用程序开发的每个阶段实施测试是一个重要方面。因此,理想情况下,必须实施自动化测试用例,以帮助在早期快速识别错误/问题。
6DevOps 自动化的未来
DevOps 是一种文化,它消除了 Dev 团队接触 Ops 团队的障碍。DevOps 使团队更加敏捷、更加透明。自动化可以节省手动重复工作的时间。
在过去的十年中,成千上万的公司在工具的帮助下使用 DevOps 实现了自动化。有调查证明,超过 48% 的公司正在采用 DevOps 方法。在未来,自动化将在任何组织中发挥关键作用。
更多的组织将转向 DevOps 的自动化,事实上,许多组织已经开始考虑通过 DevOps 实施在应用程序开发生命周期中实现现代化。
本文翻译学习,原文链接:https://www.devopsonline.co.uk/the-role-of-automation-in-devops/ >>> 欢迎投稿,微信:devopsvip。
关于我们
更多DevOps实践,请关注「DevOps云学堂」
点击阅读原文,进入企业DevOps学堂
本文分享自微信公众号 - DevOps云学堂(idevopsvip)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。