Detecting and Preventing Terraform Configuration Drift with Azure DevOps

In the previous posts in this series, I’ve highlighted the benefits of using Infrastructure as Code (IaC), and more specifically integrating Terraform with DevOps CI/CD pipelines and optimising pipelines with pull requests and automatic tagging. As we’ve seen, using IaC is a reliable way to deploy and manage resources in Azure, giving us consistency, repeatability, … Read more

Building a Production-Ready Azure DevOps Pipeline for Terraform

With OIDC, Stage Gates & Reusable Templates When you’re deploying infrastructure at scale, Azure DevOps Terraform pipelines need to be more than just a “plan and apply” script. They need to be safe, reusable, secure, and structured enough to support multiple teams and multiple environments. In this post, I’ll walk through a production-grade Azure DevOps … Read more

Stop Repeating Code: Shared Terraform Config Module

The Problem I found myself committing a cardinal sin in Terraform — repeating configuration across multiple projects. When deploying Azure resources, we often need region- or environment-specific values. For example, virtual networks may need different routes or DNS servers depending on the location. I was managing these using lookup tables in local variables, like this: … Read more

Infrastructure as Code: Building a Sustainable Platform

Infrastructure as Code (IaC) is one of those topics that sounds straightforward in theory but quickly becomes complicated in practice. The perils of too much choice certainly hit home when we talk about IaC and Azure. Walk into any organisation and you’ll find multiple teams, each with their own views on the “right” IaC choice. … Read more