Infrastructure drift, of configuratie-afwijking, ontstaat als de live status van de infrastructuur in productie afwijkt met de gewenste status van de infrastructuur, zoals in de infrastructure-as-code configuratie gedefinieerd. Deze drift is geen bug, maar simpel een constatering van de afwijking.
Hoe ontstaat infrastructure drift?
“Wijzigingen buiten de infrastructure-as-code kunnen gebeuren. Denk aan een (quick) fix tijdens storingsdienst of andere handmatige acties om een probleem op te lossen. Of door het toevoegen, veranderen of verwijderen van resources. Of als je security best practices in de productie-omgeving moet doorvoeren”, zegt Jona. “Door infrastructuur goed in de code te zetten, en daarbij security best practices mee te nemen, verklein je de hoeveelheid drift. Helemaal voorkomen kan het niet door bovengenoemden redenen. Een drift check helpt je om deze drift op te sporen en te monitoren.”
Hoe detecteer je drift en hoe ga je ermee om?
Drift detecteer je met een drift check, waarbij tooling (in ons geval Terraform) de afwijkingen checkt. “Vervolgens stuurt onze drift check automatisch een signaal naar ons monitoringplatform. Zo zijn we er van op de hoogte en kunnen we eventuele acties ondernemen”, zegt Jona.
Als de infrastructuur in productie anders is dan de infrastructure-as-code, dan zijn er meerdere mogelijkheden om de afwijking te verwerken, geeft Jona mee.
- Verwerk de afwijking in de infrastructure-as-code als de wijziging permanent moet worden behouden; of
- herstel de infrastructuur en haal daarmee de wijziging eruit (of laat dit vanzelf gaan bij de volgende deployment van de infrastructure-as-code, als je verwacht dat de afwijking geen security-risico vormt).
Hoe en waarom zijn jullie met drift check begonnen?
“Je loopt vooral tegen drift aan als je infrastructuur uitgebreid is, complex of vaak onderhevig aan (handmatige) wijzingen”, zegt Jona. “Eerst begin je met Terraform binnen Azure, je eerste infrastructure-as-code en eerste server in de cloud deployen. Dat werkt nog goed. Maar als er een afwijking is, weet je dan nog het hoe & wat van een wijziging van een paar maanden geleden? Of wat een collega heeft gedaan? Of erger: dat een criminele hacker zich toegang probeerde te verschaffen. Dat wil je vroeg afvangen. Hoe sneller de (on)bedoelde wijziging duidelijk is, hoe sneller je ‘m kunt aanpassen.
Wat is de drift check voor klanten van True?
“Voor klanten van True draaien we elke vroege ochtend een drift check. Die check is redelijk intensief voor de workload van servers; we draaien het dan ook bewust op momenten dat we weinig of geen activiteit op ons infrastructure-as-code-platform verwachten”, zegt Jona. “En de vroege ochtend is een moment dat er weinig of geen collega’s met de infrastructuur aan de slag zijn. Tijdens de check wordt een infrastructure-as-code component voor een specifiek platform of klant namelijk vergrendeld, waardoor je er op dat moment niet aan kunt werken.”
De drift check van True kijkt niet alleen naar afwijkingen ten opzichte van de code; standaardwaarden van de server worden tevens gecheckt. De drift check merkt het dus ook op als standaardwaarden afwijkend zijn.
Meer informatie over Managed Azure voor jouw applicatie of webshop?
Profiteer direct van alle mogelijkheden van Azure. Vanuit onze jarenlange ervaring ondersteunen we je tijdens het migratieproces, en ontwerpen en implementeren de meest geschikte omgeving en services voor jouw landschap.