术语图鉴/部署与运维/基础设施即代码
切换Esc返回

基础设施即代码 Infrastructure as Code (IaC)

你可能会说

基础设施即代码这块我不太熟,帮我配置好。

用代码定义服务器、网络、数据库等基础设施。

用代码定义服务器、网络、数据库等基础设施。版本控制、可复现、可回滚,不用手动在控制台点点点。

也常被叫作Infrastructure as Code (IaC)IaC

生活类比

像用图纸盖楼——图纸可以版本管理、可以复制,不用每次口头描述怎么盖。

🎮 动手试试

resource "aws_instance" "web" {
ami = "ubuntu-22.04"
instance_type = "t3.micro"
}
选择题选择一个你认为最合适的答案

关于「基础设施即代码」,以下哪个描述最准确?

你可以这样告诉 AI

帮我写 Terraform 配置:在阿里云创建一台 ECS 实例、开放 80 和 443 端口的安全组、一个 RDS MySQL 数据库。

容易混淆?这样区分

基础设施即代码 Infrastructure as Code (IaC)
配置管理 Configuration Management

IaC 定义基础设施资源本身(服务器、网络、数据库),配置管理工具(如 Ansible)在已有资源上安装软件和修改配置,两者常配合使用。

什么时候用

基础设施需要版本管理

当服务器、网络、数据库等基础设施配置需要团队协作、版本追溯、可复现时,用代码定义比在控制台手动操作更可靠。

和 AI 协作时

想让 AI 帮你写 IaC,说「帮我写 Terraform 配置:在阿里云创建一台 ECS、一个安全组(开放 80/443)、一个 RDS 数据库」。

什么时候不用

一次性手动搭建

只买一台服务器、手动装好环境就再也不改的场景,IaC 的学习成本和编写时间远超手动操作。

与云基础设施无关的项目

使用 Heroku/Vercel 等 PaaS 平台时,基础设施由平台管理,不需要自己用 Terraform/Pulumi 定义资源。

组成结构 · Anatomy

1
核心概念Core

用代码定义服务器、网络、数据库等基础设施。版本控制、可复现、可回滚,不用手动在控制台点点点。

2
实际表现In Practice

像用图纸盖楼——图纸可以版本管理、可以复制,不用每次口头描述怎么盖。

3
与 AI 的关联AI Context

和 AI 沟通时提到「用 Terraform/Pulumi 管理基础设施」,就是用代码定义云服务器和

典型使用场景

代码管理云资源
告诉 AI「帮我把云服务器、数据库、网络配置写成 Terraform 代码,以后一键创建和销毁」
想弄懂概念时
告诉 AI「用大白话给我解释什么是基础设施即代码,举个生活中的例子」

延伸阅读