Terraform is HashiCorp's infrastructure as code tool. It lets you define resources and infrastructure in human-readable, declarative configuration files and manages your infrastructure's lifecycle. Using Terraform has several advantages over manually managing infrastructure:
Manage any infrastructure: Terraform plugins — called providers — let Terraform interact with cloud platforms and other services via their APIs.
Standardize your deployment workflow: You can compose resources from different providers into reusable Terraform configurations called modules and manage them with a consistent language and workflow.
Track your infrastructure: Terraform tracks your infrastructure in a state file, acting as a single source of truth for your environment. Terraform uses the state file to determine the changes to make to your infrastructure so that it will match your configuration.
Collaborate: When you use Terraform Cloud, you can securely share your state with your teammates, provide a stable environment for Terraform to run in, and prevent race conditions when multiple people make configuration changes at once.