Choosing the Right Infrastructure as Code (IaC) Tool – A Flow Chart

Which Infrastructure as Code (IaC) Tool Should Your Organization Use?
So your organization has decided to get started with Infrastructure as Code (IaC), but you have not yet decided on which tool to use. There are several leading options to consider:
- Terraform (Multi-cloud, Open-Source)
- Pulumi (Multi-cloud, Open-Source)
- AWS CloudFormation (AWS Only, Proprietary)
- Azure Resource Manager (ARM) Templates (Azure Only, Proprietary)
We built a flow chart to make the choice as easy as possible. Of course, you should do your own research that is unique to your organizations specific needs but the broader takeaways from the flowchart are likely as follows:
- Unless you are a ride-or-die AWS or Azure Organization, and have no desire to ever use another cloud provider or cloud service, and don’t see any benefit to a having a large open-source community around the tool you select, your organization should not consider CloudFormation or Azure ARM Templates.
- With the General Availability of the Terraform CDK, there is much less of an advantage to using Pulumi since it also comes with a significantly smaller community and far fewer supported providers.
- Even given the Pros and Cons of different IaC tools, the only choice you absolutely should not make is not using an IaC tool to control your cloud infrastructure.
–
dragondrop.cloud’s mission is to automate developer best practices while working with Infrastructure as Code. Our flagship product regularly scans and identifies resource changes that have occurred outside of a Terraform workflow (e.g. drift) so that dev teams can have a Cloud environment that is fully represented as code. All of our tools are self-hosted by our customers, with no data ever leaving their servers. To learn more, schedule a demo or get started today!
Learn More About Terraform
Terraform Variable Management
We've previously discussed the syntax for creating variables within Terraform configuration. While this helps us with syntax, it leaves open questions about how variable values are actually passed into our Terraform workflow. CLI Specification When running terraform...
What is Terraform? How Does Terraform Work?
What is Terraform? Terraform is the leading Infrastructure as Code (IaC) tool (see our article for a review of IaC). It is fully open-sourced, and managed by HashiCorp. Over 1000+ different infrastructure providers can be controlled via Terraform, and new providers...
Quickstart: Writing Terraform
In this article we discuss how the basics of writing organized Terraform infrastructure configuration. Specifying Terraform's Configuration We recommend keeping a given Terraform module's requirements within their own versions.tf file. Within versions.tf, you can...