Skip to content
Kumar Chandrachooda
Series

Terraform on Azure

In reading order.

  • 12 parts
  • ≈ 74 min total
  • 12 published
Part 1 21 Jul 2025 3 min read

Anatomy of a Reusable Terraform Stack for Azure

The conventions that let one Terraform sample library serve hundreds of Azure deployments - a five-file layout, workspace-indexed environments, pinned golden modules and pipeline-first delivery. Part 1 of a series on Terraform for the Azure estate.

Part 2 23 Jul 2025 6 min read

One JSON to Rule Every Environment

How workspace-keyed lookup maps and a single platform-facts JSON file let hundreds of Terraform stacks run identically in dev, staging and prod - and when a forgiving lookup default is the wrong kind of kindness. Part 2 of the Terraform on Azure series.

Part 3 01 Aug 2025 6 min read

Where Does the State Live?

Empty backend blocks, per-environment storage accounts and a state file for every stack-environment pair - how one Azure estate partitioned a thousand Terraform states for blast radius, and what that sprawl cost. Part 3 of the Terraform on Azure series.

Part 4 20 Aug 2025 5 min read

The Operator Console and the Maturity Ladder

Two generations of Terraform pipeline in one Azure estate - manual parameterized plan-and-apply consoles beside gated plan-artifact promotion - and why applying the exact plan you approved is the rung that matters. Part 4 of the Terraform on Azure series.

Part 5 11 Sep 2025 7 min read

Stock Modules Give You Resources; Glue Modules Give You a Platform

Nine thin custom Terraform modules carried the entire platform-integration story of an Azure estate. This part dissects the APIM-publication half - key minting through local-exec, SAS-splitting through PowerShell, twin modules one hyphen apart, and a typo frozen into dozens of source strings. Part 5 of the Terraform on Azure series.

Part 6 15 Oct 2025 7 min read

A Service Registry Made of Key Vault Secrets

The most-consumed custom module in an Azure Terraform estate wrote one Key Vault secret per service - a JSON record carrying a URL, a credential and a type - and quietly became the runtime service registry for scores of Function Apps and Logic App workflows. How it worked, what it got right, and where a registry with no registry starts to strain. Part 6 of the Terraform on Azure series.

Part 7 21 Nov 2025 6 min read

Naming Is Your API

With no terraform_remote_state anywhere in 230 stacks, every cross-stack reference in this Azure estate was a literal name string - a taxonomy you could read from ls, a coupling with zero runtime dependencies, and a silent-drift hazard on every rename. Part 7 of the Terraform on Azure series.

Part 8 29 Dec 2025 5 min read

Logic Apps, Four Folders at a Time

Each Logic App in this Azure estate was split across four sibling stacks - runtime, workflows, APIM registration and service discovery - a clean lifecycle separation that quadrupled the folder, pipeline and state count per integration. Part 8 of the Terraform on Azure series.

Part 9 05 Feb 2026 5 min read

Terraform's Escape Hatches Are Load-Bearing

local-exec key minting, external data sources wrapping PowerShell, and a post-apply ARM PATCH - the imperative seams that held a declarative Azure estate together, and the idempotency, portability and security bills they ran up. Part 9 of the Terraform on Azure series.

Part 10 09 Mar 2026 9 min read

SQL as a Governed Blueprint

Azure Blueprints driven from Terraform with forty templated parameters, platform-level delete locks, twelve-hour timeouts and PowerShell bookends on both sides of the apply - how the estate's most dangerous resource got its most governed deployment. Part 10 of the Terraform on Azure series.

Part 11 31 Mar 2026 9 min read

Migrating Live Databases with Log Replay Service

Three manually-run pipelines, one JSON config bag and a TDE certificate wrinkle - how live SQL Server databases moved into Azure SQL Managed Instance with LRS, and why all the project risk compresses into the sixty seconds around cutover. Part 11 of the Terraform on Azure series.

Part 12 14 Apr 2026 6 min read

What Two Hundred Copies Teach You

The honest retrospective that closes the series - how template scaffolding metastasizes mistakes, why version pinning without governance curates a museum, what secrets in locals really cost, and the upgrade list I would run on this estate today. Part 12 of the Terraform on Azure series.