Write, Plan, and Create Infrastructure as Code

Simple and Powerful

Terraform enables you to safely and predictably create, change, and
improve infrastructure. It is an open source tool that
codifies APIs into declarative configuration files that can be shared amongst team members,
treated as code, edited, reviewed, and versioned.

Infrastructure as Code

Define infrastructure as code to increase operator productivity
and transparency.

Collaborate & share

Terraform configuration can be stored in version control,
shared, and collaborated on by teams of operators.

Evolve your infrastructure

Track the complete history of infrastructure versions.

Automation friendly

If it can be codified, it can be automated.

Plan

One Safe Workflow Across Providers

Terraform provides an elegant user experience for
operators to safely and predictably make changes to infrastructure.

Map Resource Dependencies

Understand how a minor change could have potential cascading effects
across an infrastructure before executing that change. Terraform
builds a dependency graph from the configurations, and walks this
graph to generate plans, refresh state, and more.

Separation of Plan & Apply

Separating plans and applies reduces mistakes and uncertainty at
scale. Plans show operators what would happen, applies execute
changes.

One Safe Workflow

Use Terraform to create resources across all major infrastructure
providers (AWS, GCP, Azure, OpenStack, VMware, and more).

Create

Reproducible Infrastructure

Terraform lets operators easily use the same
configurations in multiple places to reduce mistakes and save time.

Environment parity

Use the same Terraform configuration to provision identical staging,
QA, and production environments.

Shareable modules

Common Terraform configurations can be packaged as modules and used
across teams and organizations.

Combine multiple providers consistently

Terraform allows you to effortlessly combine high-level system
providers. Launch a server from one cloud provider, add a DNS entry
with its IP with a different provider. Built-in dependency resolution
means things happen in the right order.

Latest News

Terraform 0.11.0 Released

Terraform 0.11.0 is out! The latest update includes improvements to Terraform Registry integration, per-module provider configuration, and improvements to CLI workflow. There have also been improvements to a number of major providers. See the blog post for all the details!