Introduction to Terraform
Have you ever tried to create a ton of infrastructure resources on-prem or in Azure manually like virtual machines (VMs) or any kind of Azure resource with the Azure portal?
There are three primary problems when manually creating resources:
The task is error-prone. As humans, we make mistakes. Pointing and clicking in a UI opens up a whole new world of making mistakes because it’s incredibly simple to click a wrong button or type in a wrong IP address.
The task is cumbersome. Creating multiple resources manually is simply annoying and takes forever.
Even if you create the right components now, configuration drift is bound to happen. If you ask three engineers to create two virtual machines, chances are all three will create the VMs differently. Some may use the CLI and others may use the UI. This approach opens up opportunities for non-standard configuration.
How do we resolve these problems? We write code, specifically, Terraform code.