在本文中,深入了解基础结构即代码 (IaC) 的工作原理、其优势和常见挑战。
基础结构即代码 (IaC) 是使用代码和软件开发技术预配和管理基础结构的做法。IaC 背后的主要思想是消除每次部署时手动预配基础结构和资源(如服务器、负载均衡器或数据库)的需要。由于基础架构现在是整个软件开发流程不可或缺的一部分,并且与应用程序交付的耦合越来越紧密,因此我们必须更轻松地交付基础架构更改。
使用代码定义和管理基础结构及其配置使您能够采用版本控制、测试和自动部署等技术。这样可以更轻松地防止各种应用程序问题,从性能瓶颈到功能故障。
本文将介绍 IaC 的工作原理,重点介绍这两种方法,以及在 DevOps 环境中将基础结构作为代码交付的好处和挑战。
IaC 如何工作?
从历史上看,基础架构管理主要由专门的系统管理员完成手动过程。需要手动创建虚拟机 (VM)、管理其软件更新并配置其设置。这变得非常昂贵和耗时,尤其是在现代软件开发的快速发展中。
IaC 发展成为可扩展基础架构管理的解决方案。它允许您对基础结构进行编码,以便能够创建标准化、可重用和可共享的配置。IaC 还允许您以代码文件的形式定义基础结构配置。例如,图 1 演示了如何使用 CloudFormation 在 AWS 中定义 S3 存储桶的创建。
Resources:
S3Bucket:
Type: 'AWS::S3::BUCKET'
DeletionPolicy: Retain
Properties:
BucketName: DOC-EXAMPLE-BUCKET
![](https://i-blog.csdnimg.cn/blog_migrate/9da1e59fc3dea58d4a3bda419ea0e755.jpeg)
图 1:IaC 工作流
若要实