Case chaos engineering experiment

Chaos engineering bij sportgigant

Tijdens de Innovation Days bij een A-brand in de sportsector hebben we samen met Gluo meegewerkt aan de eerste chaos engineering experimenten. Een echte primeur in ons Belgenland.

Chaos engineering is een uitbreiding in het non-functional testverhaal. We gaan hierbij op een gecontroleerde manier de normale werking van het systeem verstoren om er zo vertrouwen in te krijgen wat betreft resilience en recovery. De impact voor de eindgebruikers moet zo klein mogelijk zijn.

Met Black Friday in het vooruitzicht wouden ze niets aan het toeval overlaten en volledig voorbereid zijn om de massa mensen online te ontvangen. Zo kon iedereen zijn hele wishlist aan producten zonder problemen aanschaffen.

De focus van onze klant? Pijnpunten in het systeem blootleggen, verbeteracties definiëren en implementeren en het team trainen op snelle analyse en pinpointing van problemen.

Via een intense vierdaagse workshop hebben we samen met de klant chaos engineering geïntroduceerd in het ticket printing systeem voor logistieke doeleinden.

Brainstormsessies

Na een kennismaking met het team vlogen we er meteen in. We kregen een korte voorstelling van het systeem, bestaande uit cloud componenten, third party software en on premise hosting subsystemen.

De combinatie van een chaos experiment en het systeem component is belangrijk. Aangezien dit voor de producent van sportmateriaal de eerste stappen waren richting chaos, zijn we vertrokken van het principe ‘start small, end big.’ Welke experimenten leveren het meeste resultaat op via welke componenten van het systeem? Met deze mindset zijn de meest kritische componenten van het systeem bepaald en experimenten zoals hard shutdowns en CPU usage opgesteld. We hebben stand-alone onderdelen getarget om de impact van de experimenten beter te kunnen vaststellen.

Per combinatie van het experiment en component hebben we een analyse gemaakt van het normale gedrag, verwachte impact van het experiment, verwacht recovery process en eventueel fallback mechanism om de test af te breken en monitoring om de impact en resultaten te kunnen bestuderen.

Om nietszeggende resultaten te vermijden en om het vertrouwen in het systeem te vergroten, moet de load en infrastructuur een complete weerspiegeling zijn zoals deze op Black Friday. De voorbereiding op de effectieve Chaos Game Days was dan ook getroffen. Een performance script voor representatieve load en uitbreiding van de eindcomponent: virtual printers!

Uitvoering

De dag is eindelijk aangebroken! De eerste chaos experimenten zullen worden uitgevoerd. Op grote schermen worden onze analyses geprojecteerd, en de eerste testen worden gestart.

Aangezien dit het eerste contact is met chaos, is automatisatie nog niet van toepassing en werd er gekozen voor een manuele approach. Het vertrouwen in het systeem moest opgebouwd worden en onze tijd was kostbaar. Zo lag de focus op inhoud, uitvoering, monitoring en impact van de test op het systeem. Toekomstgericht raden we aan om de successvolle experimenten te automatiseren en op willekeurige tijdstippen op het systeem los te laten om snelle feedback tijdens het development process te verkrijgen.

Lessons learned

De Chaos Game Days hebben hun vruchten afgeworpen. Er werden verschillende technische actie- en verbeterpunten gedefinieerd op gebied van infrastructuur en monitoring. Het team heeft een beter zicht gekregen op zwakke punten in het systeem en hoe het zich uit. Zo hebben ze een betere voorbereiding voor drukke dagen zoals Black Friday.

De belangrijkste lessen die we geleerd hebben: een goede voorbereiding en een set of non-functional performance scripts zijn goud waard.

De volgende Game Days staan alvast in onze agenda!

Heb jij een vergelijkbare uitdaging waar je hulp bij nodig hebt? Neem gerust contact op!