
31 - Deploying to Azure through Terraform Cloud
You may have heard of Terraform, but are you aware of Terraform Cloud or Terraform Enterprise? In this session, Chris gives a practical walkthrough of how he uses Terraform Cloud as the underlying engine to deploy some of his own projects onto Azure.
What is Terraform?
Terraform is an open-source Infrastructure as Code (IaC) framework from HashiCorp that uses HCL (HashiCorp Configuration Language) to define cloud resources declaratively. Unlike ARM templates, Terraform is cloud-agnostic and has a rich provider ecosystem — including the Azure RM provider used throughout this session.
Terraform Cloud vs. self-managed state
One key decision when adopting Terraform is where to store state. This session compares using an Azure Storage Account as a Terraform backend (self-managed) with Terraform Cloud’s fully managed remote state — which also provides locking, history, and team collaboration features out of the box.
CI/CD pipeline for infrastructure
Chris demonstrates a VCS-driven workflow where Terraform Cloud integrates directly with GitHub. On pull request, a speculative terraform plan runs automatically; on merge, terraform apply is triggered — bringing GitOps principles to infrastructure management.
Modules, workspaces, and service principals
The session also covers how to structure reusable Terraform modules, use workspaces to manage multiple environments (dev, staging, prod), and configure an Azure service principal for secure, headless authentication. We even get meta and look at how Terraform can bootstrap Terraform Cloud itself.
Related Content

GitHub Actions and Azure - Deploying .NET Core code to Azure App Service
You have your .NET Core application code and your Azure App Service infrastructure is ready. Now it's time to wire them together with an automated GitHub Actions deployment pipeline. This episode walks through building a multi-job workflow that compiles, publishes, and deploys your .NET Core app to Azure App Service using publish profiles and GitHub Secrets.

GitHub Actions and Azure - Deploying ARM templates with GitHub Actions
Before deploying application code, you need cloud infrastructure in place. This episode demonstrates how to deploy Azure infrastructure using ARM templates (Infrastructure as Code) directly from a GitHub Actions workflow—covering ARM template structure, the azure/arm-deploy action, repository organisation, and service principal setup for automated, repeatable Azure deployments.

GitHub Actions and Azure - Getting started with GitHub Actions and Azure Login
New to GitHub Actions? This episode is your starting point. Chris walks through GitHub Actions workflow fundamentals—YAML syntax, jobs, steps, GitHub-hosted runners, and secrets management—then shows how to authenticate against Azure using the Azure Login action and a service principal, before running Azure CLI commands as part of your first automated pipeline.