Home / Use Cases / Landing Zone

How do we build an Azure Landing Zone for the Mittelstand?

From a chaotically grown Azure subscription to a comprehensible Landing Zone — in a size that fits a mid-market company, not the Microsoft Enterprise maximum.

Your Azure subscription has existed for a few years. At some point someone created the first subnet, then a VM for a test system was added, then a storage account for backups, then a second subscription because the tax adviser wanted it. Today nobody quite knows what runs where, what it costs, and why the resource “vm-test-final-2” is in production. We build a Landing Zone from this that matches your company in size — not the Microsoft Enterprise maximum that nobody understands anymore.

Do you have this situation?

Why solve this now instead of postponing

A disorderly Azure environment costs on three levels: it costs hard money through unused resources, wrongly sized VMs and forgotten test environments that have been running for months. It costs time, because every change triggers research work. And it costs security, because without structure nobody notices when a resource emerges outside of policy.

Typical triggers that are now due:

How it would look at your company

Step 1 — Assessment and as-is diagram

We start by reading in: which subscriptions exist, which resource groups, which resources, which identities, which rights. Reader rights are enough for this. At the end of step 1 you have a diagram and a table in which every running resource is mapped to a purpose — or marked as “unknown” if nobody knows what it’s there for anymore. This step alone, in a typical mid-market environment, sorts out 10 to 30 percent of costs, because test machines from 2023 are discovered that nobody needs anymore.

Stack hints: Azure Resource Graph for inventory, Cost Management exports, Entra ID role evaluation.

Step 2 — Subscription and management-group structure

We design a structure with you that fits your company. For an 80-employee company a flat setup with management groups for “Production”, “Test/Development” and possibly “Sandbox” — with two to four subscriptions underneath — is sufficient in most cases. That is deliberately less than what the Microsoft CAF documentation envisages for corporations. Whoever doesn’t have four subsidiaries doesn’t need four subscriptions per workload. Delivery: a structure an external person can understand in 15 minutes.

Stack hints: Management Groups, subscription vending, Entra ID PIM for privileged roles.

Step 3 — Naming and tagging convention

We agree with you on a schema you can remember. Typical example: <workload>-<environment>-<type>-<region>-<no>, that is, erp-prod-vm-weu-01. Plus mandatory tags such as costcenter, owner, workload, environment. Important: the convention is only worth something if it’s enforced via Azure Policy — otherwise in three months resources without tags emerge again. Delivery: a naming and tagging standard, documented on one page, plus policy definitions that prevent or flag faulty creations.

Stack hints: Azure Policy (deny/audit), tag inheritance, initiative definitions.

Step 4 — Infrastructure-as-Code basis

Instead of everyone continuing to click in the portal, we define the important resource types once as code. Bicep for Microsoft-native setups, Terraform if you work with other clouds anyway — both work. Delivery: a small repository with modules for the most common needs (VM, storage account, resource group with standard policies, Key Vault), plus a short instruction on how to trigger a deployment. Deliberately no over-engineering: no 14-stage pipeline with approval gates at four levels, but something an IT generalist can learn in two days.

Stack hints: Bicep or Terraform, GitHub Actions or Azure DevOps Pipelines, service principals with restricted rights.

Step 5 — Cost Management and policy baseline

Budgets per subscription, alerts on threshold breach, monthly cost report to management. Plus a policy baseline: no VMs in regions outside the EU, storage accounts without a public endpoint, diagnostic settings as a duty. Delivery: once a month you get an overview of what Azure cost per workload and per cost centre — and the assurance that nobody accidentally creates a VM in another region.

Stack hints: Azure Cost Management Budgets, Action Groups, Azure Policy Initiatives, Microsoft Defender for Cloud Free Tier.

What you should look out for along the way

What realistically changes afterwards

What you contribute

Risks and when it doesn’t fit

How the conversation starts

Book an initial conversation

Frequently asked questions

Do we really need management groups if we only have two subscriptions? No, not necessarily. With two subscriptions a flat structure with policies directly on subscription level is often enough. Management groups are worthwhile from three to four subscriptions onwards or when policies should be inherited. In the initial conversation we clarify what makes sense for your size.

Bicep or Terraform — what do you recommend? Bicep, if you are exclusively in Azure and work with the Microsoft tool stack. Terraform, if you use multiple clouds anyway or already know the tool. Both work. More important than the choice is that it’s used consistently.

What happens to our existing resources — will they be re-deployed? No, usually not. We bring existing resources into the new schema through renaming, tag back-fill and possibly movement between resource groups. New deployment only where it isn’t technically possible otherwise or where the resource is to be renewed anyway.

How long does it typically take? Assessment and structure design about 2 to 3 weeks, implementation of the naming/tagging policy another 2 to 4 weeks, IaC basis and Cost Management another 2 to 3 weeks. In total around 6 to 10 weeks for a mid-market environment. An honest range comes after the assessment.