Build, change, and destroy infrastructure with Terraform.
Terraform is an infrastructure as code (IaC) tool that allows you to build, change, and version infrastructure safely and efficiently. This includes both low-level components like compute instances, storage, and networking, as well as high-level components like DNS entries and SaaS features.
- Infrastructure as code: Use infrastructure as code to automate the provisioning of your infrastructure including servers, databases, firewall policies, and almost every other aspect.
- Multi-cloud deployment: Deploy serverless functions with AWS Lambda, manage Microsoft Azure Active Directory resources, provision a load balancer in Google Cloud, and more.
- Manage Kubernetes: Provision and manage Kubernetes clusters on AWS, Microsoft Azure, or Google Cloud, and interact with your cluster using the Kubernetes Terraform provider.
- Manage network infrastructure: Automate key networking tasks, like updating load balancer member pools or applying firewall policies.
- Manage virtual machine images: Deploy and manage virtual machine images with Terraform and Packer.
- Integrate with existing workflows: Automate infrastructure deployments through existing CI/CD workflows.
- Enforce policy as code: Enforce policies before your users create infrastructure using Sentinel policy as code.
- Inject secrets into Terraform: Automate using dynamically generated secrets and credentials within Terraform configurations.
How does Terraform work?
Terraform creates and manages resources on cloud platforms and other services through their application programming interfaces (APIs). Providers enable Terraform to work with virtually any platform or service with an accessible API.
The core Terraform workflow consists of three stages:
- Write: You define resources, which may be across multiple cloud providers and services. For example, you might create a configuration to deploy an application on virtual machines in a Virtual Private Cloud (VPC) network with security groups and a load balancer.
- Plan: Terraform creates an execution plan describing the infrastructure it will create, update, or destroy based on the existing infrastructure and your configuration.
- Apply: On approval, Terraform performs the proposed operations in the correct order, respecting any resource dependencies. For example, if you update the properties of a VPC and change the number of virtual machines in that VPC, Terraform will recreate the VPC before scaling the virtual machines.
Download the official release of Terraform.
If you need professional assistance configuring your deployment, you can use our commercial support to help get you up and running.
- Automate Infrastructure ,
- Deliver infrastructure as code ,
- Open Source Software ,
- security ,