This project is to demo how infrastructure can be setup and managed as code (IaC) on Azure using Terraform.
This demo usese Azure Resource Manager (ARM) API and the corresponding Terraform provider azurerm
to interact with many resoruces provided by Azure.
Altough Azure still support its old Service Manager (Classic) API, the corresponding Terraform provider azure
is no longer being actively supported by HashiCorp, hence not used in this demo.
I believe Terraform is a great unifier
and gives you the freedom to be agnostic of any Cloud platform. Especially, when writing Infrastructure-as-Code (IaC) to build and manage the underpinning infrastructure before provisioning any software.
Terraform's approach is to be 'declarative' and always create 'immutable' infrastructure as described here
What about state
? Well, yes you need some kind of wrapper to manage the state. But there are ways and means ;)
This demo shares the code as I go through the phases of learning and mastering Terraform. Enjoy and PR it if you care!
AzureCLI is used to get the inital credentials. Yet the intention is not to use any Azure Poweshell modules in this demo.