8.4 Infrastructure as a Code

IaaC is a key DevOps practice that involves managing, provisioning the resources with the help of machine readable definition files rather than manually doing it or using interactive configuration tools.

Components of IaaC

Terraform is a courtesy of HashiCorp and written in HashiCorp Configuration Language (HCL). We can use Terraform to deploy in AWS, GCP and other cloud providers. But ARM templates and Bicep is specific for Azure.

Benefits

Use Cases

ARM Templates

ARM Templates are JSON files that define the resources you need for your cloud application in Azure. They allow to deploy a wide array of resources together in a coordinated manner.

Key Features

Benefits

Use Cases

image.png

Bicep

Domain specific language for deploying Azure resources declaratively. Simplifies the authoring experience.

Key Features

image.png

Benefits

Use Cases

image.png