# 基础设施即代码

<mark style="color:blue;">**基础设施即代码（Infrastructure as Code）**</mark>指的是**以一种标准的、机器可读的规范来描述你的基础设施，然后通过一个基础设施工具来传递该规范，该工具可以创建或者更新你的基础设施和配置以使其符合规范。**

然后你可以将该规范提交到**版本控制系统**中，这样就可以**跟踪规范的变更**，就像跟踪代码变更一样。只要有人对规范进行了更改，就可以通过**基础设施工具**来运行规范，从而更新你当前的基础设施，使其与规范相匹配。

<mark style="color:orange;">**如果有人需要对基础设施或者其配置进行更改，那么他们必须首先对规范进行更改，将更改提交到版本控制系统，然后通过基础设施工具来“部署”这次更改，从而更新当前的基础设施，使其与规范相匹配。**</mark>
