每天分享最新软件开发,Devops,敏捷,测试以及项目管理最新,最热门的文章,每天花3分钟学习何乐而不为,希望大家点赞,评论,加关注,你的支持是我最大的动力。
在过去的几年里,CI/CD 和网络自动化的交叉已经大大增长。网络团队似乎已经到达了他们的自动化和编制过程中的一个关键点,在这个关键点上,实施一个策略来管理网络变更和自动化资产的测试、版本控制和部署。
虽然 CI/CD 越来越受欢迎,但在网络团队希望应用该技术的pipeline实现类型方面存在很多差异(至少表面上是这样) : 不同的工具、不同的场景和要解决的不同问题。尽管表面上存在差异,但是有一些关键主题在大多数pipeline实现中始终如一。例如:
网络团队要么希望开发pipeline来更好地管理对网络的特定更改,要么希望使用pipeline来更好地管理自动化和编排资产(如工作流或脚本)的测试和部署。在最初这些团队可能转向网络基础设施代码(IaC)的地方,有相当多(并且越来越多)的团队正在投资于自动化资产pipeline。
越来越多的指标表明,自动化和编排解决方案正在成熟,并且已经超越初始实现,转向大规模、一切照旧的技术,专门用于这些pipeline的信任和资源只是其中之一。
通过仔细研究最近的pipeline发展,可以更清楚地了解 CI/CD 工具和用于网络变更管理和生命周期的网络自动化工具各自的优势ーー GitLab、 GitHub、 Jenkins 和 CircleCI 等等。大多数网络团队更愿意坚持“适合适当工作的适当工具”的理念,其中任何给定任务的最佳工具可以很容易地集成到整体解决方案中。
在这种情况下,“正确的工具”哲学着眼于pipeline和网络自动化/编排工具,以确定它们最擅长的事情。然后,开发出一种策略,使两种技术的效益最大化。使用这种方法,团队可以避免试图用一个或另一个解决所有问题的陷阱,从而导致次优流程。
目前一些不错的经验法则基于两个简单的观点:
通过将这两种技术集成到一个公共pipeline中,网络团队可以最大限度地利用这两种工具集。
下面的例子说明了一个集成模型,其中网络自动化工具为配置更改的生成、测试和部署提供工程逻辑,而 CI/CD 工具(用橙色箭头表示)通过重复的自动化过程来进行活动,确保更改通过适当的版本管理、审批和测试的一致路径。多个团队已经成功地实现了这个模型,并且他们已经开始迭代他们的解决方案,以纳入他们独特的经验和改进。
业界的普遍期望是,除了将 CI/CD 和自动化集成到一个通用pipeline之外,我们将开始看到其他编配和自动化成熟的指标。其中一些领域已经形成,比如传统的以 CLI 为中心的工程之外的技能和能力向 DevOps 和 CI/CD 技能的转变,或者量化自动化和编配的业务影响的重要性日益增长。
| 留言与评论(共有 0 条评论) “” |