Production-grade, reusable Terraform module library for Azure, aligned to Microsoft's Cloud Adoption Framework and Azure Landing Zones.
Environment Type
Complexity Level
Performance Impact
Designed and built a set of independently usable Terraform modules covering management groups, naming conventions, networking, and AKS β targeting Terraform β₯1.9 and the AzureRM β₯4.x provider. The networking module (v2) moved to an object-based configuration style split across dedicated files for subnets, NAT gateways, DNS, and diagnostics, making large environments easier to reason about. The AKS module (v2) was simplified down to around 12 required variables while still supporting CNI Overlay, Cilium, Workload Identity, OIDC issuer, CSI Key Vault integration, autoscaling, and Azure Policy. Every module follows the same conventions: for_each over count, optional() attributes with sensible defaults, and outputs designed specifically for downstream module consumption β so teams can compose their own landing zones without fighting the module internals.
Tested each module against AzureRM 4.79 individually, fixing schema changes iteratively until every module was confirmed independently usable.
Refactored into an object-based v2 design split across main.tf, subnets.tf, nat_gateway.tf, dns.tf, diagnostics.tf, and locals.tf.
Redesigned the interface down to ~12 required variables with sensible optional() defaults for everything else.