Terraform on Azure
Deploy and manage real Azure infrastructure with Terraform — AzureRM provider, networking, compute, storage, remote state, and modules.
View badge details
About This Course
Course Curriculum
16 Lessons
Azure Provider and Authentication
Azure Provider and Authentication - Lab Exercises
Configuring the azurerm provider, authentication methods (CLI, service principal, managed identity), provider versioning and features block, terraform init with Azure backend, deploying first resource group with az login credentials
Deploying Azure Networking
Deploying Azure Networking - Lab Exercises
Virtual networks and subnets, network security groups with rules, public IPs and NICs, VNet peering, route tables, using data sources to reference existing resources, output networking details
Deploying Azure Compute
Deploying Azure Compute - Lab Exercises
Linux VMs with azurerm_linux_virtual_machine, VM extensions for bootstrapping (custom_data, cloud-init), availability sets and zones, VM scale sets basics, App Service deployment with azurerm_linux_web_app, referencing networking resources
Azure Storage and Databases
Azure Storage and Databases - Lab Exercises
Storage accounts (azurerm_storage_account), blob containers, Azure SQL Database (azurerm_mssql_server, azurerm_mssql_database), Cosmos DB basics, Key Vault for secrets (azurerm_key_vault, azurerm_key_vault_secret), connecting compute to storage and databases
Remote State and Workspaces
Remote State and Workspaces - Lab Exercises
Remote state in Azure Storage backend (storage_account_name, container_name, key), state locking with Azure Blob lease, workspaces for environment isolation (dev/staging/prod), migrating from local to remote state, terraform workspace commands, state encryption at rest
Terraform Modules for Azure
Terraform Modules for Azure - Lab Exercises
Writing reusable Azure modules (networking module, compute module, database module), Azure Verified Modules from the registry, module composition patterns, passing outputs between modules, versioning modules with Git tags, module testing basics
Import Drift Detection and Lifecycle
Import Drift Detection and Lifecycle - Lab Exercises
terraform import for existing Azure resources, import blocks (Terraform 1.5+), detecting and remediating drift with terraform plan, lifecycle rules for Azure resources (prevent_destroy on production databases, ignore_changes on tags), moved blocks for refactoring, terraform taint and replace
Capstone Briefing Deploy a Complete Azure Environment
Capstone Deploy a Complete Azure Environment - Lab Exercises
Capstone: deploy complete Azure environment — VNet with subnets and NSGs, Linux VM with cloud-init bootstrapping, App Service with SQL Database backend, Key Vault for secrets, remote state in Azure Storage, modular structure, outputs for connection info, destroy and rebuild to prove repeatability