Terraform is Not the Golden Hammer
Blog post from Qovery
Qovery utilizes Terraform, a widely recognized tool for deploying cloud services, to automate the process of app deployment on various cloud platforms, benefiting from its open-source nature and broad support from cloud providers. While Terraform's DSL makes it easily readable and manageable for team collaboration through GitOps, challenges arise with resource management and dependency issues, leading to complications when updates or changes are needed. Qovery's experience highlights that while Terraform is effective for deploying cloud infrastructure, its limitations become apparent in scenarios requiring strong automation and reconciliation of resources. The company suggests a strategic approach, recommending the separation of Terraform-managed resources into different state files and outsourcing certain components, like Helm and Kubernetes, to optimize flexibility and efficiency. Despite its challenges, Qovery remains confident in Terraform's utility for cloud infrastructure deployment, advising early contemplation of automation levels and resource management strategies.