Azure Landing Zone Blueprint: Build Your Cloud Like LEGO

Published on 2025-05-29 by Mathieu

Azure Landing Zone Blueprint: Build Your Cloud Like LEGO® 🧱

🎯 TL;DR

Treat your landing zone as a box of LEGO bricks: snap on governance and network bricks before you start stacking workloads. This guide maps each CAF pillar to a colour-coded brick so you can build, swap, and scale without knocking over the whole tower.



1️⃣ Why Landing Zones Matter (and Why LEGO?) 🤔

Walk into a kid's room after a LEGO marathon and you'll find two kinds of builders:

  • Chaos Crafters 🌪️ – everything mashed into a rainbow spaceship that collapses if you sneeze
  • Blueprint Builders 📐 – colour-sorted bricks, sturdy baseplates, and a clear plan

Cloud environments tend to mirror the first group—resource groups scattered across random subscriptions, no guardrails, duplicated VNETs. Microsoft's Cloud Adoption Framework (CAF) offers the second approach: the landing zone—a governed, repeatable foundation for any workload.

💡 Tip: CAF landing zones are opinionated but modular. Think of them as an IKEA manual that encourages hacking—swap parts to suit enterprise quirks.



2️⃣ The LEGO Colour Key 🎨

CAF PillarLEGO ColourReal-World Analogy
Management🔵 Dark BlueThe baseplate—everything snaps on here
Networking🟢 Bright GreenRoad plates connecting the city
Identity & Access🟡 Bright YellowMinifigure badges—who can enter where
Policy & Security🔴 RedSafety-barrier bricks
Operations⚫ Light GreyControl-panel pieces—monitor & repair
Cost Management (FinOps)🟡 GoldRare shiny bricks you guard carefully


We'll add these bricks layer by layer! 🏗️



3️⃣ Foundation Layers 🏗️

3.1 Management Groups & Subscriptions (Dark-Blue Baseplate) 🔵


  • Create Root → Corp → Region/BU groups (e.g., TPENG-EMEA, TPENG-APAC)
  • Policy inheritance starts here—define location & SKU allow-lists at the management-group level to avoid whack-a-mole per subscription 🎯
  • Keep the landing-zone subscription separate from the Shared Services subscription. This isolates core infra from transient workloads
# Terraform: management group example
data "azurerm_client_config" "current" {}
resource "azurerm_management_group" "emea" {
  name         = "TPENG-EMEA"
  display_name = "TP Engineering – EMEA"
  parent_management_group_id = data.azurerm_client_config.current.tenant_id
}


3.2 Subscription Naming & Tagging 🏷️

ElementConvention
Subscription NameAZ-SUB-{BU}-{REGION}-{ENV}
Tag CostCenterFinance GL code
Tag ConfidentialityPublic, Internal, Restricted


💰 FinOps lens: Tag completeness > 95% is the #1 predictor of accurate chargeback in month 3.



4️⃣ Networking Hub (Bright Green) 🌐

4.1 Choose Your Topology 🗺️


  • Hub-and-Spoke – central firewall, shared DNS, easy security control
  • Mesh VNET Peering – low latency East-West, but policy sprawl

⚡ Rule of thumb: If you have more than five VNETs or regulated workloads, pick Hub-and-Spoke.



4.2 Address-Space Planning 📊


  • Reserve a /16 per region, slice into /24 per workload VNET
  • Avoid RFC 1918 overlaps with on-prem (e.g., use 10.200.0.0/16 if corp uses 10.0.0.0/8)
module "vnet_hub" {
  source              = "Azure/vnet/azurerm"
  resource_group_name = azurerm_resource_group.network.name
  address_space       = ["10.200.0.0/16"]
  subnets = [
    {
      name           = "AzureFirewallSubnet"
      address_prefix = "10.200.0.0/24"
    },
    {
      name           = "SharedServices"
      address_prefix = "10.200.1.0/24"
    }
  ]
}


4.3 Connectivity Options 🔗


ScenarioChoiceNotes
< 50 Mbps Dev/TestSite-to-Site VPNQuick but higher latency
Prod + > 100 MbpsExpressRoute/29 BGP, QoS SLAs
Multi-CloudAzure vWANCentralise routing + policy


⚠️ Warning: Avoid using both ExpressRoute & VPN concurrently unless you configure forced-tunnel routing—split-brain DNS hell awaits.



5️⃣ Guardrails (Red Bricks) 🔐

5.1 Azure Policy 📋


  • Deploy AllowedLocations, AllowedSKUs, and InheritTags at the management-group level
  • Attach a DeployIfNotExists policy for diagnostic settings—auto-onboard new resources to Log Analytics
{
  "mode": "Indexed",
  "parameters": {
    "allowedLocations": {
      "type": "Array",
      "allowedValues": ["westeurope", "uaenorth"],
      "metadata": { "description": "Allowed regions." }
    }
  },
  "policyRule": {
    "if": {
      "not": {
        "field": "location",
        "in": "[parameters('allowedLocations')]"
      }
    },
    "then": { "effect": "Deny" }
  }
}

✅ Success tip: Automate remediation by linking a Logic App that posts exemption links to Slack—the dev team owns the exception story, not you.



5.2 Role-Based Access Control (RBAC) 👥


  • Use custom roles sparingly; prefer built-ins (Network Contributor, Reader)
  • Follow least privilege and combine with PIM for time-bound elevation


6️⃣ Operations & Observability (Light Grey) 📊

LayerService
Metrics & LogsAzure Monitor + Log Analytics workspace per region
DashboardsGrafana integration (native in portal)
AlertsAction Groups routing to PagerDuty & Teams

  • Backup & DR 💾 – Recovery Services Vault for VMs/SQL, geo-redundant storage (GRS) for critical blobs
  • Automation 🤖 – Azure DevOps or GitHub Actions for Terraform; Azure Automation for key rotation

🔒 Tip: Store Terraform state in a Storage Account behind a Private Endpoint to keep state files off the public internet.



7️⃣ FinOps Impact (Gold Bricks) 💰

Landing-zone decisions heavily influence your future cloud bill.

Decision PointCost ImpactMitigation
Too many subscriptionsIdle minimum spend per EA subsConsolidate Dev/Test into one sub
Unlimited SKUsDevs choose P* or M-series VMsAllowedSKUs policy + cost alerts
No budget alertsOverruns unnoticed for 30 daysBudgets + Action Groups to FinOps
Broad VNET peeringData-egress surpriseCost-analysis workbook per VNET

💡 FinOps takeaway: Governance ≠ bureaucracy; it's prepaid cost avoidance.



8️⃣ Next Steps 🚀

  1. Download 📥 the 30-point landing-zone checklist PDF
  2. Complete ✅ the checklist as you build your sandbox landing zone
  3. Read 📖 Pillar A2 – Azure Policy Playbook to level up your guardrails - Coming Soon.

📥 Download the Checklist PDF



❓ FAQ

Q: What's the difference between a CAF landing zone and a reference architecture? A: CAF landing zones include governance and operations layers (policy, identity, budgets). Reference architectures often focus solely on workload topology without those guardrails.

Q: Can I retrofit an existing subscription into a landing zone? A: Yes—perform a gap analysis first. Apply policy assignments in audit mode, remediate drift (tags, naming, location), and migrate resources only if network CIDR conflicts arise.



📢 Share & Subscribe

If this blueprint saved you hours (or budget), share it on X/LinkedIn, tag @TalkNerdyTo_Me, and subscribe for weekly cloud memes & deep dives! 🚀



This guide provides a comprehensive, governance-first approach to building production-ready Azure landing zones using the LEGO analogy to make complex concepts more accessible and memorable.

Tags: azure, landing zone, policy