
Understand how Terraform providers act as the interface to cloud services, exposing resources and data sources for Azure, with authentication via Azure CLI and alternative methods.
Create a provider configuration for Terraform, copy the provider snippet from the docs, adhere to file naming and coding standards, and include a mandatory features block so the code runs.
Learn how to run Terraform on Azure, including logging in with the Azure CLI, initializing, planning, applying, and destroying deployments, and managing state, providers, modules, and subscriptions.
Pin the Terraform version to 1.5.6 using required_version, and pin Azure to a major version with version expressions; emphasize testing updates in dev before prod for consistency.
Explore how Terraform builds a dependency graph to determine deployment order in Azure, using implicit references to resource groups, and when to apply explicit dependencies for a key vault.
Learn how Terraform changes infrastructure, using plan to preview in-place updates or destructive changes, with guidance on production safety and using Git pipelines to manage code.
Master interpolation in Terraform to generate unique Azure resource names by injecting a base name into attributes, using locals and functions like lower.
Explore the purpose of Terraform state, local vs remote state, and how the remote backend in Azure enables locking, RBAC, versioning, and point-in-time restore.
Learn how to rename a Terraform service plan without recreation by using terraform state list and terraform state mv, ensuring no changes on apply and maintaining state integrity.
Enable a system identity for Azure resources and explore user assigned identities to securely grant a web app access to a key vault without exposed keys.
Add a health check endpoint to the web app to verify environment variables and return 200 when present, and set a two-minute eviction time to recycle unhealthy instances in Azure.
Learn how private link keeps traffic to your key vault private by attaching it to a VNet with a private dns zone and a private network link.
Create a variable file and define environment-specific variables for Terraform on Azure, pass them via the command line, enabling multi-environment and multi-region deployments.
Celebrate completing the course and invite learners to provide Udemy feedback, while encouraging ongoing improvement and future exploration of Terraform on Microsoft Azure for platform engineering.
This course takes you through all aspects of Terraform from initial setup and the basics, though to how structure the code for reliable, constant deployments to multiple environments or locations
This course has been developed to take you from the basics of using terraform, though to building a functional web application using Azure platform as a service resources. The primary focus of the course is terraform and I will teach and give you real world examples of how to use this, from an initial monolithic deployment to a well-structured and modularised deployment. The course covers all the essential terraform topics and as it progresses builds until we’ve a working deployment that you’d find in a production environment.
From an Azure perspective, we will be working with several PaaS resources like web app, key vault, DNS and private link. Just to set expectations this isn’t an Azure course, but I do cover some basics and provide background information. All the resources will be deployed following current best practice and secured, so you’ll have an excellent frame of reference for your future deployments.
This course has been developed to be as practical as possible, most of the lessons are follow along in nature.