IT is niet bestand tegen de grilligheid van de echte wereld

The real troubles in your life are apt to be things that never crossed your worried mind, the kind that blindside you at 4 p.m. on some idle Tuesday.

“Deze zin uit de hit Everybody’s Free to Wear Sunscreen verwoordt precies de essentie van chaos engineering. Iedereen kent Murphy’s Law: alles wat fout kan gaan, gaat ook fout”, zegt Alex van Assem, DevOps Consultant en Agile Coach bij Info Support.

“Een traditionele benadering van risicomanagement is dat je de kans op risico’s probeert in te schatten en je zo goed mogelijk voorbereidt op de grootste risico’s. ”Chaos engineering gaat ervan uit dat werkelijk alles wat fout kan gaan ook daadwerkelijk fout gaat. Het is de taak van IT om ervoor te zorgen dat de eindgebruiker daar zo min mogelijk last van heeft. “Oftewel: vertrouw niemand, en vooral jezelf niet”, vult Application Lifecycle Management Consultant en DevOps Engineer Peter Toonen aan. Hij geeft training op het gebied van chaos engineering (zie onderaan).

Veerkrachtige systemen

Er zijn twee factoren die ervoor zorgen dat chaos engineering belangrijker is geworden. Als gevolg van de behoefte van bedrijven om steeds wendbaarder te zijn, worden services steeds kleiner en autonomer gemaakt. Deze microservices zijn relatief eenvoudig te onderhouden. Maar het geheel aan microservices maken IT-systemen zeer complex. Dit maakt het onmogelijk om volledig te overzien wat de effecten zijn van de aanpassing van individuele microservices. Chaos engineering is een extra hulpmiddel bij het bouwen van veerkrachtige (resilient) systemen. De acceptatie dat de echte wereld vele malen grilliger en onvoorspelbaarder is dan je kunt bedenken als developer of architect, is niet nieuw. “Maar het is wel belangrijker geworden omdat organisaties steeds zwaarder leunen op IT”, zegt Van Assem. “Als systemen uitvallen, dan heb je al gauw te maken met ontevreden klanten en dus imagoschade, om nog maar te zwijgen over de kosten.”

Voorbereiden op chaos

Een van de bedrijven die dit aan den lijve ondervond was Netflix. Na een grote systeemuitval besloot de aanbieder van on-demand series en films voortaan voorbereid te zijn op absolute chaos. Info Support past het gedachtengoed van chaos engineering onder meer toe binnen de ontwikkelstraat Endeavour.

Toonen: “Wat we regelmatig doen, is delen van onze systemen uitschakelen om te kijken wat er dan gebeurt. Klanten die software op onze ontwikkelstraat bouwen, moeten daar natuurlijk eigenlijk niks van merken. Waar het eigenlijk om gaat, is dat je bij alle ontwikkeltrajecten heel goed nadenkt over wat allemaal mis kan gaan en daarop anticipeert. Daar hoef je niet per sé een tool als Chaos Monkey voor toe te passen, het gaat om de mindset.”

Digitale brandoefening

“We zien dat nu nog vooral de nadruk ligt op de techniekkant”, benadrukt Van Assem. “En natuurlijk is het belangrijk om grote systemen resilient te maken. Wat je niet moet onderschatten, is hoe cruciaal het is om hetzelfde te doen voor beheerprocessen. Dus denk niet alleen na wat het gevolg is als een server ineens niet meer met een andere server kan praten, maar wat de impact is op de processen: wie wordt er dan uit bed gebeld en heeft die persoon überhaupt wel een telefoon naast zijn bed, of de juiste materialen om die storing op te lossen?” De grootste les die chaos engineering biedt, is dat je chaos niet kunt voorkomen. “Het gaat erom dat je de impact van onverwachte gebeurtenissen minimaliseert. Dingen gaan een keer mis. Waar het om gaat, is hoe goed je daarop kunt acteren. Zie het als een digitale brandoefening; hoe vaker je oefent, des te beter je voorbereid bent.”

Chaos Monkey maakte van Netflix een blockbuster in IT

Net als veel bedrijven kan Netflix het zich niet permitteren om een grote systeemstoring te hebben. Daarom ontwikkelde Netflix in 2011 een tool die willekeurig chaos creëert binnen de eigen infrastructuur. Het doel; de systemen weerbaarder maken. Stel je een aap voor die een datacenter binnenloopt en willekeurig kabels uittrekt en devices kapot maakt. Je weet niet wanneer deze aap komt en wat hij gaat doen. Het is de uitdaging van IT-managers om informatiesystemen zo te ontwerpen dat ze kunnen blijven functioneren, ook als de chaos monkey onverwacht opduikt (Uit het boek Chaos Monkeys van Antonio Garcia Mart&#237nez). Chaos Monkey hielp Netflix om de infrastructuur robuuster en weerbaarder te maken. Het concept werd zo populair dat Netflix besloot om de tool open source te maken. Inmiddels is er een hele community opgebouwd op het gebied van chaos engineering. Deze IT-community beschouwt Netflix nog altijd als ervaringsdeskundige op dit gebied?

Test: hoe weerbaar is jouw infrastructuur?

Om te testen hoe goed jouw organisatie is voorbereid op chaos, kun je verschillende vragen stellen binnen een team:

  • Welke gebeurtenissen in de wereld kunnen een directe impact hebben op een applicatie?
  • Wat is de impact van de applicatie op onze organisatie?
  • Wat is het ergste wat ons kan overkomen op IT- gebied?
  • ls dat gebeurt, hoe kunnen we daar mee omgaan?
  • Wat voor maatregelen kunnen we nu nemen om de impact te minimaliseren?
  • Hoe kunnen we onze systemen testen op de impact van onverwachte gebeurtenissen?

Chaos valt te trainen

Voor teams die hun weerbaarheid tegen chaos willen testen, biedt Info Support de ChaOps-training aan. In een gesimuleerde omgeving krijgt een team de taak om een applicatie te monitoren op storingen en deze te verhelpen. Neem contact op met Peter Toonen als je meer wilt weten.