Terraform
Terraform is an infrastructure-as-code tool created by HashiCorp that uses declarative configuration files to provision and manage cloud resources across providers like AWS, Azure, and Google Cloud. It distinguishes itself with a state file that tracks real-world infrastructure, enabling safe updates and drift detection. Companies like Uber and Slack use Terraform to automate deployment of multi-cloud environments, handling workloads such as Kubernetes clusters and serverless functions. A key technical detail is its use of HCL (HashiCorp Configuration Language), which supports interpolation and loops but requires careful state management to avoid conflicts.
Use Terraform when managing complex, multi-cloud infrastructure that requires consistent provisioning and lifecycle management, such as setting up a hybrid cloud environment for a financial services company. Avoid it for simple, single-server deployments where shell scripts or cloud-native tools like AWS CloudFormation are more straightforward. A recognized weakness is state file handling, which can lead to conflicts in team environments if not properly managed with remote backends like Terraform Cloud.
See how it ranks →