加载中...
基础设施即代码(IaC)用代码文件描述服务器、网络、数据库等基础设施,通过版本控制和自动化工具管理变更,让环境可重复创建、可审计、可回滚。Terraform 是这个领域应用最广泛的工具。

| 类型 | 运维工程实践 / DevOps 工具 |
| 主流工具 | Terraform / OpenTofu、Pulumi、AWS CDK、Ansible |
| 核心价值 | 可重复、版本化、可审计的基础设施管理 |
在 IaC 出现之前,创建一套云环境意味着:登录控制台,点击创建 VPC、子网、安全组、EC2、RDS……每个步骤手工操作,没有历史记录,无法重复,换个区域重建要花同样的时间。IaC 把这个过程变成代码文件:terraform apply 一条命令,15 分钟内一套完整环境自动创建完毕。
Terraform(HashiCorp,2014 年)用 HCL 语言描述资源,支持 AWS、Azure、GCP、阿里云等主流云,以及 GitHub、Cloudflare、Datadog 等 SaaS 平台,通过 Provider 插件机制扩展。2023 年 HashiCorp 把 Terraform 改为 BUSL 协议后,社区 fork 出 OpenTofu,成为纯开源替代。[1]
IaC 工具分两类思路:声明式(Declarative)描述期望状态,工具自己计算如何达到——Terraform、AWS CloudFormation 属于此类;命令式(Imperative)描述操作步骤——Ansible 的 Playbook 虽然也常用于 IaC,但本质是指定「执行这些命令」,幂等性需要开发者自己保证。
实践中两者常组合:Terraform 管「基础设施层」(VPC、VM、RDS),Ansible 管「配置层」(在 VM 上装 Nginx、配置 /etc/nginx/nginx.conf)。

| 类型 | 运维工程实践 / DevOps 工具 |
| 主流工具 | Terraform / OpenTofu、Pulumi、AWS CDK、Ansible |
| 核心价值 | 可重复、版本化、可审计的基础设施管理 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧