Terraform 是 HashiCorp 开发的基础设施即代码(IaC)工具,用 HCL 描述云资源,支持 AWS、GCP、Azure 及数百个 Provider,通过 plan/apply 两步工作流实现可预测的基础设施变更。
| 类型 | 基础设施即代码工具 |
| 首发年份 | 2014 |
| 开发者 | HashiCorp |
Terraform 使用 HashiCorp Configuration Language(HCL) 声明资源:一个 AWS EC2 实例、一条 DNS 记录、一个 S3 Bucket,都写成 resource 块。terraform plan 对比当前状态与期望状态,输出变更摘要(新增/修改/销毁多少资源);terraform apply 执行变更。
Terraform 的状态文件(terraform.tfstate)记录了「上次 apply 后的真实资源状态」,这是它知道哪些资源需要更新的依据。状态文件若存在本地,团队协作会出现冲突,因此生产环境几乎必须配置远程状态后端(S3 + DynamoDB 锁,或 Terraform Cloud)。[1]
Terraform 的 Provider 生态庞大:AWS Provider 有超过 1000 个资源类型,GitHub、Cloudflare、Datadog 等都有官方 Provider。模块(Module)机制允许封装可复用的资源组合,Terraform Registry 是公开的模块仓库。
2023 年 HashiCorp 将 Terraform 改为 BSL 许可证(不再是 MPL 2.0),社区随即 fork 出 OpenTofu(由 Linux Foundation 托管),保持 MPL 开源。两者目前功能接近,OpenTofu 1.7 引入了状态加密功能,走出了差异化方向。
| 类型 | 基础设施即代码工具 |
| 首发年份 | 2014 |
| 开发者 | HashiCorp |
登录 后参与讨论
暂无讨论,来发表第一条评论吧