GitOps:另一个流行词还是自动化的突破?

GitOps:另一个流行词还是自动化的突破?

我们大多数人在注意到 IT 博客圈或会议中的另一个新术语时,迟早会问一个类似的问题:“这是什么? 只是另一个流行语,一个“流行语”还是真正值得密切关注、研究和承诺新视野的东西?” 同样的事情也发生在我身上 Git 操作 前一段时间。 拥有许多现有文章以及公司同事的知识 GitLab,我试图弄清楚这是什么野兽,以及它在实践中的用途可能是什么样的。

顺便说一句,关于这个词的新颖性 Git 操作 我们最近的调查还表明:超过一半的受访者尚未开始遵循其原则。

因此,基础设施管理问题并不新鲜。 许多云提供商已经向公众开放了十几年,而且看起来应该使负责基础设施的团队的工作变得简单明了。 然而,与应用程序开发过程(自动化达到新的水平)相比,基础设施项目仍然经常涉及许多手动任务,并且需要专门的知识和专业知识,特别是考虑到当今对容错、灵活性、可扩展性和弹性的要求。

云服务非常成功地满足了这些要求,并且正是它们极大地推动了该方法的发展 交流电。 这是可以理解的。 毕竟,它们使得配置完全虚拟的数据中心成为可能:没有物理服务器、机架或网络组件;整个基础设施可以使用脚本和配置文件来描述。

那么到底有什么区别呢? Git 操作交流电? 带着这个问题,我开始了我的调查。 经过与同事的交谈,我得出了以下比较:

Git 操作

交流电

所有代码都存储在 git 存储库中

代码版本控制是可选的

声明性代码描述/幂等性

声明性和命令性描述都是可以接受的

使用合并请求/拉取请求机制更改生效

协议、批准和协作是可选的

更新推出过程是自动化的

更新推出过程不标准化(自动、手动、复制文件、使用命令行等)

换句话说 Git 操作 正是通过应用这些原则而诞生的 交流电。 首先,基础设施和配置现在可以以与应用程序相同的方式存储。 代码易于存储、易于共享、比较和使用版本控制功能。 版本、分支、历史。 所有这些都在整个团队可以公开访问的地方。 因此,版本控制系统的使用就成为一种完全自然的发展。 尤其是git,最为流行。

另一方面,基础设施管理流程的自动化成为可能。 现在,这可以更快、更可靠、更便宜地完成。 此外,CI/CD 的原理在软件开发人员中已经众所周知并流行。 只需要将已知的知识和技能转移并应用到新的领域即可。 然而,这些实践超出了基础设施即代码的标准定义,因此出现了这个概念 Git 操作.

GitOps:另一个流行词还是自动化的突破?

好奇心 Git 操作当然,事实上它不是与任何供应商相关的产品、插件或平台。 它更多的是一种范式和一组原则,类似于我们熟悉的另一个术语:DevOps。

该公司 GitLab 我们为这个新术语制定了两个定义:理论和实践。 让我们从理论开始:

GitOps 是一种采用用于应用程序开发的最佳 DevOps 原则(例如版本控制、协作、编排、CI/CD)的方法,并将其应用于自动化基础设施管理的挑战。

所有流程 Git 操作 我使用现有工具进行工作。 所有基础设施代码都存储在已经熟悉的 git 存储库中,更改与任何其他程序代码都经过相同的审批流程,并且部署过程是自动化的,这使我们能够最大限度地减少人为错误,提高可靠性和可重复性。

我们从实际的角度来描述 Git 操作 如下所示:

GitOps:另一个流行词还是自动化的突破?

我们已经讨论过基础设施即代码是这个公式的关键组成部分之一。 让我们介绍一下其余的参与者。

合并请求(又名拉取请求)。 用流程术语来说,MR 是应用代码更改然后合并分支的请求。 但就我们使用的工具而言,这更多的是一个全面了解所有所做更改的机会:不仅是从一定数量的提交中收集的代码差异,还包括上下文、测试结果和最终预期结果。 如果我们谈论基础设施代码,那么我们感兴趣的是基础设施将如何变化,将添加或删除、更改多少新资源。 最好采用一些更方便且易于阅读的格式。 对于云提供商来说,最好了解这一变化的财务影响。

但混合现实也是一种协作、互动和沟通的方式。 这是制衡制度发挥作用的地方。 从简单的意见到正式的认可和认可。

好吧,最后一个组件:CI/CD,正如我们所知,可以自动化基础架构更改和测试的过程(从简单的语法检查到更复杂的静态代码分析)。 以及随后的漂移检测:系统的真实状态和期望状态之间的差异。 例如,由于未经授权的手动更改或系统故障。

是的,这个词 Git 操作 不会向我们介绍任何全新的东西,也不会重新发明轮子,而只是将已经积累的经验应用到新的领域。 但这正是他的强项所在。

如果您突然对这一切在实践中的表现感兴趣,那么我邀请您看看我们的 大师班,其中我一步步告诉你如何使用GitLab:

  • 实施 GitOps 的基本原则

  • 创建并更改云基础设施(以 Yandex Cloud 为例)

  • 使用主动监控自动检测系统偏离所需状态的情况

GitOps:另一个流行词还是自动化的突破?https://bit.ly/34tRpwZ

来源: habr.com

添加评论