Eén pipeline voor elke wijziging
Elke wijziging, hoe klein ook, volgt hetzelfde pad: build, automatische tests, deployment naar staging, goedkeuring, deployment naar productie. Niets met de hand kopiëren, geen snelle fix rechtstreeks op de server. Als het pad altijd hetzelfde is, is het ook altijd getest.
Azure DevOps of GitHub Actions doen dat uitstekend. De tool is minder belangrijk dan de regel: niets komt langs een andere weg in productie.
Tests op wat telt
Tests hoeven niet alles te dekken om nuttig te zijn. Begin met wat het meeste pijn zou doen als het stukgaat: inloggen, betalen, de belangrijkste gebruikerstrajecten en de deployment zelf.
Een test die faalt, houdt de pipeline tegen, en dat is de bedoeling. Een probleem dat de pipeline vindt, kost een paar minuten. Hetzelfde probleem ontdekt door een klant kost veel meer.
Een staging die op productie lijkt
Staging is alleen nuttig als ze zich gedraagt zoals productie: dezelfde configuratie, dezelfde infrastructuur, dezelfde manier van deployen. Als beide omgevingen als code beschreven zijn, met Terraform of Bicep, blijven ze gelijk in plaats van langzaam uit elkaar te groeien.
Verrassingen duiken dan op in staging, voor het team, en niet in productie, voor de gebruikers.
Een goedkeuring die iets betekent
Voor productie controleert iemand of alles goed zit in staging en geeft groen licht. Dat kost een minuut in de pipeline en laat een spoor na: wie wat in productie heeft gezet, en wanneer.
Alerts voor de gebruikers iets merken
Na een release wilt u snel weten of er iets misloopt: foutpercentage, responstijden, mislukte requests. Azure Monitor en Application Insights sturen een alert zodra een drempel overschreden wordt, nog voor de gebruikers klagen.
Terug in één klik
Het beste vangnet is kunnen terugkeren. Houd de vorige versie klaar om opnieuw te deployen, of gebruik deployment slots om binnen enkele seconden terug te schakelen. Wijzigingen aan de database vragen meer zorg: ze moeten werken met zowel de oude als de nieuwe versie van de applicatie.
Als terugkeren één klik is, wordt een slechte release een klein incident en geen crisisvergadering.
Waar begint u?
U hoeft niet alles tegelijk in te voeren. Automatiseer eerst de deployment, voeg daarna tests toe op de kritieke trajecten en dan de rollback. Elke stap maakt de volgende release wat rustiger.
Dat is precies waar onze DevOps-expertise over gaat.