DevOps工具集选择

您应该选择多合一或可定制的DevOps工具链吗?

DevOps工具链是一系列工具的集合,这些工具通常来自各种供应商,它们作为集成单元运行,以设计,构建,测试,管理,度量和操作软件和系统。它使开发和运营团队可以在整个产品生命周期中进行协作,并解决DevOps的关键基础知识,包括持续集成,持续交付,自动化和协作。

从敏捷到DevOps

当敏捷原则被广泛采用时,它们彻底改变了我们创造产品的方式。我们接纳了跨职能的小型团队和一到两周的冲刺,这些冲刺产生了可用于生产的工件。我们的反馈周期很短,并且不断改进。我们交付产品的速度更快,头痛也更少。

事情如此迅速变化真是太神奇了。现在有了云,SaaS和始终在线服务,开发生命周期变得更快了。多个开发和测试阶段同时发生是很常见的。敏捷通常需要一到两周的冲刺,而当今的云原生环境中的团队每天要迭代和部署多次。工作流和代码库在不断发展。团队使用功能标志,渐进式推出和A / B测试来确保连续不断地部署干净,高质量的代码。

这催生了从敏捷到DevOps的演进,DevOps是一系列实践,可在软件开发和IT团队之间实现流程的自动化和集成,从而使他们能够更快,更可靠地构建,测试和发布软件。DevOps团队通过将代码推送到生产中的速度来衡量。它们由每天发送的迭代次数以及代码更改从测试到部署再到生产所需的时间定义。我团队中的典型项目每天最多可以看到20个变更。一些较大的项目每天最多可以看到100个更改。 

这种加速的工作流程由新的工具启用,并依靠这些新工具,使团队可以跨开发,测试和部署进行协作。特别是,DevOps工具链可帮助团队非常非常快速地解决开发生命周期的每个阶段。

什么是DevOps工具链?

DevOps工具链包括使开发和运营团队能够在整个软件生命周期中进行协作的工具和技术。它解决了DevOps的关键基础知识,包括持续集成,持续交付,自动化和协作。

由于DevOps是一种文化转变,开发和运营是一个集成单元,因此没有一个工具可以支持DevOps的原理和实践。

由于DevOps是一种文化转变,开发和运营是一个集成单元,因此没有一个工具可以支持DevOps的原理和实践。相反,DevOps工具链是一系列工具的集合,这些工具通常来自各种供应商,它们作为集成单元运行,以设计,构建,测试,管理,测量和操作软件和系统。通常,组织和团队需要尝试不同的工具组合以找到正确的工具链。

如果您查看复杂的DevOps产品,DevOps工具链应该能够非常快速地解决开发生命周期的不同部分,并为不同的用户提供多种功能。它应包括针对开发生命周期各个阶段的开发工具,包括持续集成和交付,测试自动化和高速部署。在DevOps的操作方面,工具应包括有助于监视和事件管理的功能。另外,工具应通过提供连续的反馈和日志记录来桥接开发和操作。

DevOps周期图

当您将无限循环的左侧视为产品侧而将右侧视为操作侧时,将新功能推入生产环境的产品经理会感兴趣地了解项目如何分解为任务和用户故事。项目左侧的开发人员需要查看如何将功能移入生产环境,包括项目票证,用户案例和依赖项。如果开发人员遵循“构建,运行”的DevOps原则,那么他们也对事件补救感兴趣。 

转移到生命周期的运营方面,站点可靠性工程师需要了解可以测量和监视的服务,因此,如果有问题,可以对其进行修复。如果您没有将所有这些流程联系在一起的工具链,那么您将拥有一个混乱,不相关,混乱的环境。如果您拥有完善的工具链,则可以更好地了解正在发生的事情。  


用于构建DevOps工具链的选项

在确定正确的DevOps工具链时,首先必须了解基本的DevOps最佳实践以及工具如何协助这些实践。然后,建立通用的工具策略,使团队可以跨开发,测试和部署进行协作。 

当组织采用DevOps时,他们通常会面临两种选择-“多合一” DevOps工具链或定制的DevOps工具链。选择正确的配置很重要,因为它会影响团队的DevOps流程。

多合一DevOps工具链

一站式的DevOps解决方案提供了一个完整的解决方案,它可能不会与其他第三方工具集成。这对于刚开始DevOps之旅的公司或团队或团队想要快速启动项目的情况很有用。这种工具链的缺点是,大多数已建立的团队已经拥有了他们使用和喜欢的一组工具,这些工具可能无法与完整的解决方案集成。另外,这样一个全面的工具链可能会遭受“万事通,无主”的综合症。一种工具根本无法发展到瞬息万变的市场。最后,公司经常需要将旧版工具集成到DevOps工具链中,而多合一工具链可以限制这一点。

可定制的DevOps工具链

另一种方法是使用DevOps工具链,该工具链可以使用不同的工具针对团队的需求进行定制。这使团队可以将他们熟悉和喜爱的现有工具带入更广泛的DevOps工具链中。例如,一个团队可以使用Jira进行计划和工作流跟踪,使用Kubernetes设置个人开发环境,使用Github进行协作编码,使用Jenkins进行持续集成,等等。组织可以按团队和/或按项目自定义其工作流程。 

集成对于这些类型的工具链至关重要。如果不同的工具没有集成,则团队成员将花费不必要的时间在屏幕之间切换,登录多个位置,并且在工具之间共享信息可能会很困难。对于开发人员或任何试图了解正在发生的事情的人来说,这不是一个很好的经验。如果您要响应事件,则没有时间查看手册并尝试查找有关新工具的关键信息。


结论…

DevOps旨在打破孤岛,使开发生命周期更快,高度自动化且无缝协作-无论是跨职能部门还是团队内部。首先,首先要选择正确的DevOps工具,这些工具可以协同工作,仔细研究当前的软件开发和IT运营流程,并确定需要改进的地方。 

觉得文章有用?

点个广告表达一下你的爱意吧 !😁