Testing Terraform Modules in Azure: Native HCL Tests in Practice
Learn how to use Terraform’s native test framework to validate Azure modules, prevent breaking changes, and integrate tests into Azure DevOps pipelines.
Learn how to use Terraform’s native test framework to validate Azure modules, prevent breaking changes, and integrate tests into Azure DevOps pipelines.
Learn how to handle conditional logic and loops in Terraform using real-world patterns. This guide covers count, for_each, lookups, locals, dynamic blocks, and when to use each when building reusable Terraform modules.
Self-Service Infrastructure: Turning Human Intent into Governed DevOps Automation
Explore how to build a self-service Azure Service Catalog using IaC, DevOps pipelines, and governance to empower teams without bottlenecks.
Learn how to estimate Terraform infrastructure costs in pull requests using Infracost and Azure DevOps, enabling shift-left cost governance.
I recently wrote about the importance of protecting your Terraform state files and the Azure Storage accounts that hold them. One of the recurring challenges in real-world environments is striking the right balance between security and operability — specifically, how do we fully lock down a storage account to prevent public access, while still allowing … Read more
Learn how to secure Terraform state in Azure using Entra ID, RBAC, private storage, and ephemeral resources to prevent secrets leaking.
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 on last week’s foundation, learn how to harden your Azure DevOps pipelines with branch policies, automated pull request validation, OIDC authentication, and security checks using Checkov
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