Deploying ARM Template Resources with HashiCorp Terraform
May 15, 2020
Learn the best practices for integrating Terraform with Azure Resource Manager (ARM) templates.
Speaker: Chukwukadibia Durugo
Terraform is a tool for provisioning and managing infrastructure as code. Terraform code is written in the HashiCorp Configuration Language (HCL) which is very human-readable, focuses on workflows, and has reusable modules.
Running Azure Resource Manager (ARM) templates in Terraform may sound pointless as most users would rather deploy using either Terraform or ARM templates, which is more often recommended, and not both, because doing both makes you lose benefits of Terraform. But there are peculiar cases in which you may want to do this—for example, deploying resources available in ARM but not yet in the current Terraform provider. But you still want the whole infrastructure to be automated with Terraform.
I ran into this challenge when I wanted to deploy an App Service Environment to Azure amidst other IaaS resources I already had scripted with Terraform, and so made use of ARM template functionality in Terraform for the deployment.
What You'll Learn
Terraform can be easily integrated with other deployment scripts such as ARM Templates, Bash scripts, etc. This talk aims to show best practices for integrating with ARM Templates.
You can find the slides from HashiTalks: Africa presentations in this HashiCorp Community Forum page.