Terraform is an infrastructure as code (IaC) tool that allows you to build, change, and version infrastructure safely and efficiently. Terraform can manage both low-level components such as compute instances, storage, and networking, as well as high-level components such as DNS entries, SaaS features, etc.
Infrastructure is described using a high-level [configuration language](/docs/language/index.html) in human-readable, declarative configuration files. This allows you to create a blueprint that can be versioned, shared, and reused.
Terraform generates an _execution plan_ describing what it will do and asks for your approval before creating, updating, or destroying infrastructure. This allows you to review changes before they are applied.