Terraform on Microsoft Azure¶
2 days · 9:00–16:00 Beginner – Intermediate 12 hands-on labs on-site or remote · English / Polish
Build Azure infrastructure the way production teams do: Terraform 1.17 with azurerm 5 and AzAPI 2. Participants take GreenGrid, an energy start-up, from portal clicks to tested, reviewed and automated infrastructure as code – remote state with Entra ID, refactoring with moved, modules, import and drift, terraform test with mocked providers, secrets that never reach the state, managed identities and CI/CD pipelines without stored secrets.
Who it's for¶
Cloud and DevOps engineers, administrators and developers who provision or maintain Azure resources and want them reproducible and reviewable.
Prerequisites: Azure basics (subscriptions, resource groups, networking), a terminal, Git.
What you will be able to do¶
- Write, plan and apply Terraform for Azure – and read a plan before it hurts
- Enforce naming, tagging and input rules with variables, validations and locals
- Keep state in Azure Storage with Entra ID, locking and versioning
- Use count, for_each, lifecycle and refactor safely with moved blocks
- Generate configuration with complex types, for expressions and dynamic blocks
- Build and version modules, use Azure Verified Modules
- Adopt existing resources with import blocks, handle drift, use removed
- Test without Azure: terraform test with mocked providers, tflint, check blocks
- Reach every Azure feature with AzAPI 2.x
- Keep secrets out of the state with ephemeral values and write-only attributes, use managed identities
- Run Terraform in GitHub Actions or Azure DevOps with OIDC – plan on pull requests, apply after approval
Agenda¶
Environment¶
Participants share one Azure subscription, each with a personal prefix; a terminal with Terraform and the Azure CLI (or Azure Cloud Shell) is all they need. Reference solutions for every lab come with the repository – anyone who falls behind catches up with ./bin/catchup <N>.