Introduction
When managing cloud resources on Google Cloud Platform, you need a tool to create and update your infrastructure safely and repeatedly. Terraform and Deployment Manager are two tools that help you do this, but they work differently and suit different needs.
When you want to manage infrastructure across multiple cloud providers with one tool, use Terraform.
When you prefer a Google-native tool tightly integrated with GCP services, use Deployment Manager.
When you want to use a simple YAML or Python template to define GCP resources, Deployment Manager is a good choice.
When you want a large community, many modules, and support for many providers, Terraform is better.
When you want to keep your infrastructure as code in a single language and use advanced features like state locking, Terraform is preferred.