Spring til indhold

Har provisioneret Azure‑infrastruktur som kode

Har provisioneret Azure‑infrastruktur som kode med Bicep — Container Apps, PostgreSQL Flexible Server, Front Door/WAF og netværk — i udviklings-, staging- og produktionsmiljøet.

  • Network, edp, plug
    Foto: Bru-nO / Pixabay
  • Network cable, network plug, cable
    Foto: blickpixel / Pixabay

tre Azure‑miljøer, skrevet ned som kode

Situation. Platformen lever på Azure, og Azure sat op i hånden — klik rundt i portalen, en indstilling justeret her og der — er en fælde. Opsætningen glider ud af kurs, ingen husker, hvorfor noget er, som det er, og at genopbygge det efter en dårlig dag er langsomt og nervepirrende. Med mere end ét miljø at holde i takt bliver det kun værre.

Opgave. Læg det hele i kode, så et miljø er noget, man kan læse, reviewe og genskabe, i stedet for en bunke manuelt opsat tilstand.

Handling. Hele infrastrukturen er defineret i Bicep. Hvert miljø — testing, staging, product — bygges ud fra de samme templates: api og www, der kører som Azure Container Apps i et managed environment, en PostgreSQL Flexible Server, Redis til caching, Front Door med en WAF‑politik forrest og netværket nedenunder (VNet, NSG, private DNS), med Log Analytics koblet på til diagnostik. Images hentes fra projektets Azure Container Registry. Fordi det hele er parametriseret, kræver et nyt miljø eller en ændring af et eksisterende blot en pull request og ikke en supportsag til en selv.

Resultat. Miljøerne blev reproducerbare og til at reviewe. Afvigelser holdt op med at være et mysterium, fordi sandheden ligger i koden, og at sætte infrastruktur op eller genskabe den handler om at anvende templates og ikke om at huske, hvad der blev klikket på sidst. Det er forskellen mellem infrastruktur, man ejer, og infrastruktur, der ejer én.

Ét stykke af en længere fortegnelse — og det hele ligger her på sitet.

Hver post er skrevet på samme måde: situationen, opgaven, hvad vi gjorde, og hvad der ændrede sig.

Se hele fortegnelsen