We are migrating from a single AWS setup to a multi-cloud environment including Azure and Google Cloud. I’m torn between using Terraform for everything or using cloud-native tools like AWS CloudFormation alongside Azure Blueprints. What’s the most scalable way to maintain a consistent 'Infrastructure as Code' strategy?
3 answers
For multi-cloud, Terraform is the industry standard for a reason. Using separate native tools like CloudFormation and Bicep creates massive silos in your DevOps team; you’d essentially need experts for every platform. With Terraform, you use a single HCL (HashiCorp Configuration Language) syntax to manage providers across all clouds. While you still have to write specific code for each cloud's resources, the state management and workflow remain consistent. This "single pane of glass" approach makes it much easier to audit your infrastructure and apply security policies globally using tools like Sentinel or Checkov across your entire fleet.
Have you looked into Pulumi as an alternative? It allows you to use familiar languages like Python or TypeScript instead of HCL, which might be easier for your developers to adopt.
Terraform is the way to go. Just make sure you use a remote backend like Terraform Cloud or an S3 bucket with DynamoDB locking to prevent state file corruption in a team setting.
Great advice, Diane. We learned the hard way that local state files are a recipe for disaster. Remote state with locking is non-negotiable for any serious enterprise deployment.
Michael, we actually trialed Pulumi last quarter. To answer your point about developer adoption: yes, the devs loved using TypeScript. However, we found that for "pure" infrastructure teams, the state management in Terraform was slightly more mature for high-compliance environments. We ended up sticking with Terraform but integrated it with "Atlantis" for pull-request-based automation. This gave us the developer-friendly workflow they wanted while keeping the rock-solid stability of the Terraform ecosystem for our core production clusters.