Provisionerade Azure‑infrastruktur som kod med Bicep — Container Apps, PostgreSQL Flexible Server, Front Door/WAF och nätverk — i utvecklings-, staging- och produktionsmiljöerna.
Arbetet utfört: 2025
tre Azure‑miljöer, nedskrivna som kod
Situation. Plattformen ligger i Azure, och Azure för hand — att klicka sig igenom portalen och justera en inställning här och där — är en fälla. Det glider iväg, ingen minns varför något är som det är, och att bygga upp det igen efter en dålig dag går långsamt och sliter på nerverna. Med mer än en miljö att hålla i takt blir det bara värre.
Uppgift. Allt skulle in i kod, så att en miljö blir något du kan läsa, granska och återskapa i stället för en hög med manuellt skapat tillstånd.
Handling. Hela uppsättningen är definierad i Bicep. Varje miljö — testing, staging, product — kommer ur samma mallar: api och www som körs som Azure Container Apps i en hanterad miljö, en PostgreSQL Flexible Server, Redis för cachning, Front Door med en WAF‑policy längst fram och nätverket under alltihop (VNet, NSG, privat DNS), med Log Analytics inkopplat för diagnostik. Containeravbildningarna hämtas från projektets Azure Container Registry. Eftersom allt är parametriserat är det en pull request att sätta upp en ny miljö eller ändra en befintlig, inte ett supportärende till dig själv.
Resultat. Miljöerna blev reproducerbara och möjliga att granska. Avvikelser slutade vara ett mysterium, eftersom sanningskällan är koden, och att få upp infrastrukturen eller återställa den handlar om att tillämpa mallarna i stället för att minnas vad som klickades fram förra gången. Det är skillnaden mellan infrastruktur som du äger och infrastruktur som äger dig.
Läs vidare: Byggde CI/CD‑pipelines i GitHub Actions med en distroless‑image för frontenden i produktion och uppflyttning mellan flera miljöer. Eller ta en titt på hela portföljen.
En del av en längre historik — och den finns i sin helhet här.
Varje post är skriven på samma sätt: situationen, uppgiften, vad vi gjorde och vad som förändrades.