顾名思义,可变基础设施是指在初始创建后可以修改或更新的基础设施。此选项使开发团队能够在必要时灵活地对网络、数据库、磁盘、服务器等基础设施元素进行临时定制,例如解决新出现的安全或性能问题。然而,硬币也有其反面。事实上,灵活性可能会损害 IaC 提供的关键优势之一,即在不同实现之间或版本之间保持一致性的能力,从而使跟踪对基础设施所做的更改变得更加复杂。
因此,大多数 IaC 实现更喜欢采用不可变的基础设施方法。这种方法实际上消除了错误配置问题,并极大地简化了测试和生产环境之间一致性的维护。它还可以轻松维护和跟踪基础设施版本,以便在需要时轻松恢复到以前的版本。
一旦创建了不可变的基础设施,它就不能也不应该再次更改。这意味着,如果需要进行更改,更改不会在基础设施元素上进行,而是会写入 IaC 代码中,因此将由自动部署过程(持续部署)负责更新或更换现有的基础设施。由于在 IaC 的帮助下可以快速创建新的基础设施,这种操作比看起来更实用。
基础设施即代码:优点
我们已经提到了 IaC 的一些好处。让我们一一回顾一下主要优点。
减少时间和成本
手动做事既费时又费钱。IaC 将人们从手动管理基 墨西哥电报数据 础设施中解放出来,这使他们能够在其他事情上更加努力、更好地工作。总体而言,减少了执行项目的时间和成本。
文档和测试
使用 IaC 可以让您自动化部署和管理流程,还可以不断记录为基础设施的每个实例所做的工作。
使用版本控制系统,可以记录和跟踪不同的配置。此外,就像使用代码一样,您可以测试它们是否有效并产生所需的效果。这也意味着更好地了解您的基础设施及其优势和劣势。
这是 IaC 的主要目标之一。创建稳定、可快速自动扩展的环境。避免创建无法跟踪且无法复制的临时配置。或者,更简单地说,它们与管道其他阶段使用的不同。
安全、灾难恢复
IaC 将计算、存储和网络功能视为代码:这意味着它们每次都以相同的方式实例化。一个积极的结果是,可以在开发和生产的所有阶段横向实施和遵循安全标准和策略,而无需审查每个步骤。
此外,在服务突然中断的情况下,可以快速恢复到系统上次的稳定状态,从而大大减少事件恢复时间。