Wednesday, October 28, 2020

ARM Templates vs Terraform in Azure

Two of the most popular infrastructure as code (IaC) tools to use with Azure are the native Azure Resource Manager (ARM) templates and HashiCorp Terraform. Azure users should compare ARM templates vs. the Terraform approach to decide which product is the better fit for their environment.

ARM templates are all created in one JSON file. By contrast, Terraform evaluates every resource in the directory with a .tf extension -- and will do so for every command that runs the resource, which enables IT admins to break up resources into separate files to ease parsing.

ARM templates and Terraform are both Infrastructure as Code tools for deploying cloud resources. A very high level summary of the differences is below

ARM Templates

Azure specific

Get the latest Azure resources as they are released

Does not maintain a state file

Does not have a Destroy/Cleanup command

•      Written in JSON


Supports multiple cloud providers and on-prem resources

Can lag behind when new Azure resources are released

Relies on a state file that must be maintained

Able to cleanup/destroy resources

•     Written in HCL, a custom DSL from Hashicorp

Both tools can be used to create resources in Azure, they both have positives and negatives compared to each other.

No comments:

Post a Comment