Azure Architectuur

Van Brownfield naar Blauwdruk: Hoe je grip krijgt met een Azure Landing Zone

Martin Ligtenberg

24 juli 2026

7 min leestijd
Hoe je als platformteam een organisch gegroeid Azure landschap ontvlecht, wildgroei aanpakt en beheersbaarheid terugwint zonder de ontwikkelsnelheid keihard af te remmen.

Weet jij exact wie er op dit moment rechten heeft om een dure, production-grade SKU uit te rollen in jullie testomgeving? In veel organisch gegroeide Azure-landschappen is het antwoord op die vraag angstaanjagend onduidelijk. Waar applicaties, netwerkresources en identiteiten door elkaar heen lopen, verlies je als platformteam vroeg of laat de controle. Handmatige aanpassingen stapelen zich op en harde grenzen ontbreken. Hoe doorbreek je deze cyclus van wildgroei en access hoarding, en zorg je dat de applicatieteams daar geen vertraging van ondervinden?


De uitdaging: de strijd tegen wildgroei en access hoarding

Bij onze klanten zien we vaak dat het kernprobleem draait om beheersbaarheid. In een organisch gegroeid landschap ontbreken simpelweg de kaders om veilig en efficiënt te kunnen werken. Dit zorgt in de praktijk voor een aantal flinke pijnpunten.

Wildgroei via de portal: Er wordt veel handmatig aangepast via de Azure Portal (ClickOps). Hierdoor ontbreken kaders, is er geen reproduceerbaarheid en is de infrastructuur kwetsbaar voor menselijke fouten.

Onveilige configuraties: Omdat harde grenzen (vangrails) ontbreken, kunnen ontwikkelaars in lagere omgevingen onbewust dure production-grade SKU’s of onveilige netwerkconnecties aanmaken.

Het gevaar van access hoarding: Rechten worden uitgedeeld om snel problemen op te lossen, maar zelden weer ingetrokken. Dit resulteert in medewerkers met een berg aan permanente beheerdersrechten die ze voor hun huidige rol niet meer nodig hebben, wat een open deur is voor privilege escalation zodra dat account gecompromitteerd wordt.

De uitdaging voor platformteams is om deze complexe kluwen te ontwarren en weer controle af te dwingen via strakke policies en code. Tegelijkertijd mag de snelheid van de applicatieteams, die de dagelijkse business draaiende houden, niet in het geding komen.


De aanpak: van ARM-spaghetti naar strakke kaders

Om de beheersbaarheid te herstellen, volstaat het niet om wat policies aan te zetten. Je moet naar de fundering kijken. De aanpak is elke keer hetzelfde: eerst de omgeving uit elkaar trekken, daarna pas bouwen.

1. Inventariseren en ontvlechten

Voordat je iets nieuws bouwt, moet je de huidige situatie in kaart brengen. We trekken verstrengelde applicaties los en isoleren ze in eigen Application Landing Zones (bij voorkeur één per subscriptie). Dit legt direct harde grenzen neer.

2. Isoleren van platform resources

Gedeelde componenten, zoals de centrale DNS, netwerk-hubs of een gedeelde Key Vault voor bijvoorbeeld licenties, verplaatsen we naar streng beveiligde Platform Zones. Zo scheiden we de infrastructuur van het platformteam van de omgevingen waar developers in werken.

Brownfield (links): applicaties delen een VNet, DNS en database in één subscriptie. Azure Landing Zone (rechts): een geïsoleerde Platform Zone verbindt via hub-spoke met afzonderlijke Application Zones.

3. Productie is de leidraad

We exporteren de “as-is” situatie direct uit de Azure Portal, waarbij we de productieomgeving als absolute bron van waarheid nemen. Als test- of acceptatieomgevingen door de jaren heen zijn afgeweken, dwingen we af dat zij zich weer conformeren aan de productiestandaard.

4. Refactoring naar Bicep

De ruwe, geëxporteerde ARM-templates uit de Azure Portal zijn complex en onleesbaar. We gebruiken de portal-export enkel als basis en refactoren dit, vaak met de inzet van AI als versneller, naar schone, native Bicep– of Terraform-modules. Het doel is een fundering die 100% via Infrastructure as Code (IaC) is gedreven.

Azure kennis
ARM-template export – de Azure Portal genereert bij export ruwe ARM JSON met deployment-specifieke metadata, hardcoded resource-IDs en ontbrekende parameterisering. Dit is bruikbaar als referentie, maar niet als startpunt voor een duurzame IaC-codebasis. Refactoring naar native Bicep-modules is noodzakelijk voor leesbaarheid en hergebruik.

5. De realiteit: legacy en change management

In de praktijk verloopt een brownfield-migratie nooit als een perfect lineair stappenplan. Technisch loop je soms tegen hardnekkige legacy aan, zoals applicaties op ASP Classic die zich maar moeilijk naar een moderne Azure-omgeving laten vertalen. Maar de grootste wrijving zit bijna altijd in het change management.

Productteams staan onder enorme druk om te blijven leveren. Voor hen voelt nieuwe platform-governance al snel als een bus die van rechts komt. Je hebt hiervoor twee dingen nodig die even hard zijn: mandaat van het management, en begrip voor de druk op de productteams.

Goed om te weten
De absolute gouden regel: raak nooit resources van een productteam aan zonder dat zij hiervan op de hoogte zijn. Ga niet te snel, neem de teams stap voor stap mee, en bouw je pipeline-restricties in voordat je de eerste subscriptie overzet. Dat is de volgorde die werkt.

De oplossing: zero-trust governance met een Azure Landing Zone

Zodra de basis staat, mag alles wat op het platform landt uitsluitend nog via code (IaC) worden uitgerold. Developers werken binnen deze kaders via Azure Policies en strak identiteitsbeheer.

De landing zone vending machine

Application landing zones worden uitgerold door het platformteam, vanuit één centrale pipeline met een Bicep-basistemplate. Applicatieteams hoeven alleen een kleine parameterset aan te leveren, met waardes zoals subscriptienaam, locatie en kostenpost. De rest is standaard. Geen losse pipelines per team, geen afwijkende configuraties.

Eén centrale pipeline en één Bicep-basistemplate rollen uit naar Azure Resource Manager, en vandaar naar elke subscriptie. Het applicatieteam levert alleen een parameter file aan, met waardes zoals subscriptienaam, locatie en kostenpost.

Dit voorkomt dubbele code en zorgt ervoor dat het platformteam centraal de kwaliteit borgt, terwijl developers makkelijk en snel nieuwe zones kunnen inzetten.

Azure Policies gebaseerd op het Well-Architected Framework

In plaats van lukraak policies te activeren, baseren we de regels op de pilaren van het Microsoft Azure Well-Architected Framework. Praktische toepassingen zijn:

WAF-pilaarPolicymaatregel
Cost OptimizationBlokkeer onnodig dure, production-grade SKU’s in testomgevingen
SecurityWeiger of log verouderde protocollen en onveilige connecties
ReliabilityVerplicht Availability Zones voor kritieke resources
Performance EfficiencyBeperk uitrol tot specifieke Azure-regio’s dicht bij de eindgebruiker
Operational ExcellenceVerplicht tags zoals CostCenter en log altijd naar een centrale Log Analytics Workspace
Azure kennis
Azure Policy – policies worden toegewezen op management group-, subscriptie- of resource group-niveau en werken via effects zoals Deny, Audit en DeployIfNotExists. Een Deny-policy blokkeert de deployment direct; een Audit-policy logt afwijkingen zonder te blokkeren. Begin met Audit om de impact te meten voordat je naar Deny gaat.

Het einde van access hoarding via PIM

Het oude model, waarbij gebruikers te veel permanente rechten hadden, is vervangen door een zero-trust benadering. Door Privileged Identity Management (PIM) te gebruiken, krijgen medewerkers alleen tijdelijk toegang (Just-In-Time) wanneer dit echt nodig is.

Daarbovenop plannen we periodieke Access Reviews in. Wisselt een developer van team? Dan verliest die automatisch zijn oude permissies. In de praktijk zien we direct resultaat: bij de invoering van deze reviews worden er per product al snel één tot twee personen uit de toegangslijst verwijderd, simpelweg omdat zij na een afgerond project hun rechten nog steeds hadden behouden.

Azure kennis
Privileged Identity Management (PIM) – onderdeel van Microsoft Entra ID. Met PIM activeren gebruikers een rol tijdelijk (Just-In-Time), waarbij een goedkeuringsflow en een maximale activatieduur zijn ingesteld. Access Reviews plannen periodieke herbeoordelingen in zodat verlopen toegang automatisch wordt ingetrokken. Vereist een Entra ID P2-licentie.

Conclusie: de menselijke factor als fundament

De technische kant, (IaC, policies, PIM) is het fundament. Maar zonder mandaat en vertrouwen staat dat fundament nergens. Je kunt de architectuur nog zo strak uittekenen, zonder draagvlak bij de developers en het management strandt het project.

Begrijp de druk op de productteams, communiceer open over aanpassingen, en respecteer hun resources. Pas als het wederzijdse vertrouwen er is, kun je samen succesvol de stap maken van brownfield chaos naar een schaalbare blauwdruk.

Begin met architectuurkeuzes en de isolatie van platform resources voordat je policies en pipelines inricht. Gebruik productie als leidraad en bouw pipeline-restricties in voordat de eerste subscriptie wordt overgezet.
Technische governance slaagt alleen met managementmandaat en actieve betrokkenheid van de productteams; communicatie en vertrouwen zijn net zo kritisch als de toolkeuze.

Kun je wel wat hulp gebruiken bij het ontvlechten van jullie Cloud / Azure landschap? Onze experts van Cloud Republic denken graag met je mee.

Foto van Martin Ligtenberg

Martin Ligtenberg

Een hands-on cloudarchitect die schaalbare softwareplatformen ontwerpt en bouwt, met een sterke focus op Microsoft Azure en het .NET-ecosysteem.

Meer weten over werken bij Cloud Republic?

Bij Cloud Republic werken echte teamplayers. We zijn vastberaden om, samen met elkaar, steengoede oplossingen te ontwikkelen. We zijn trots op onze cultuur die persoonlijke en professionele groei stimuleert door samenwerking en creativiteit en kunnen niet wachten om jou hiermee kennis te laten maken.

Altijd de laatste trends en development nieuws in je inbox?

Schrijf je in voor onze .NET updates. Hier delen we de onze blogs, cases en tips over de nieuwste tech. Zo weet je zeker dat altijd op de hoogte blijft van de laatste trends in software development.