Terraform是一个开源的自动化的资源编排工具,用于安全高效地预览、配置和管理云基础架构和资源,支持多家云服务提供商。
什么是Terraform
HashiCorp Terraform是一个IT基础架构自动化编排工具,您可以通过在Terraform上编写代码来管理维护IT资源。Terraform的命令行接口(CLI)提供一种简单机制,用于将配置文件部署到阿里云或其他任意支持Terraform的云上,并对其进行版本控制。Terraform编写了描述云资源拓扑的配置文件中的基础结构,例如虚拟机、存储账户和网络接口。
Terraform是一个高度可扩展的工具,通过Provider来支持新的基础架构。Terraform能够让您在阿里云上轻松使用简单模板语言来定义、预览和部署云基础结构。您可以使用Terraform来创建、修改、删除ECS、VPC、CDN、RDS和SLB等多种资源。
Terraform作为DevOps的一个利器,大大降低了基础设施的管理成本,并且随着业务架构的不断复杂、基础设施资源及其资源关系的不断复杂,Terraform所带来的便利和优势将越来越明显。正因为如此,云计算火热发展的今天,Terraform受到越来越多的云厂商和其他软件服务商的青睐。目前,Terraform累计提供了超过100个Providers和Provisioners,支持11个Backend Types。
阿里云作为中国内地第一家与Terraform集成的云厂商,terraform-provider-alicloud目前已经提供了超过163个Resource 和113个Data Source,覆盖计算、存储、网络、负载均衡、CDN、容器服务、中间件、访问控制、数据库等超过35款产品,已经满足了大量大客户的自动化上云需求。
为了给开发者提供“开箱即用”的使用体验,阿里云提供了丰富多样的Modules和Examples,覆盖计算、存储、网络、中间件、数据库等多个产品和使用场景,欢迎大家使用和贡献自己的Module。
主要优势
- 将基础结构部署到多个云
Terraform适用于多云方案,将类似的基础结构部署到阿里云、其他云提供商或者本地数据中心。开发人员能够使用相同的工具和相似的配置文件同时管理不同云提供商的资源。
- 自动化管理基础结构
Terraform能够创建配置文件的模板,以可重复、可预测的方式定义、预配和配置ECS资源,减少因人为因素导致的部署和管理错误。能够多次部署同一模板,创建相同的开发、测试和生产环境。
- 基础设施即代码(Infrastructure as Code)
可以用代码来管理和维护资源。您可以通过Terraform保存基础设施状态,跟踪对系统(基础设施即代码)中不同组件所做的更改,并与其他人共享这些配置。
- 降低开发成本
您可以通过按需创建开发和部署环境降低成本,并在系统更改前进行评估。
应用场景
Terraform的应用场景,请参见应用场景。