DevOpsSuccesvoller in DevOps door notificatie bij fouten

De organisatie DevOps Research and Assessment (DORA) heeft onderzoek gedaan naar meten en visualisatie, en geconcludeerd dat er op dit gebied een viertal aspecten zijn die een belangrijke rol spelen om succesvol in DevOps te zijn:

In een serie van vier blogs ga ik dieper in op deze onderdelen. Dit laatste deel gaat over notificeren bij fouten.

Notificeren bij fouten

Waarom is notificeren bij fouten belangrijk?

Teams die proactief monitoring doen kunnen sneller de oorzaak van een probleem achterhalen en deze ook sneller oplossen. Daarnaast voelen teams en teamleden die dit toepassen zich ook verantwoordelijk voor het snel oplossen van de problemen.

Als een team dit niet zelf in de gaten houd dan kan het een operations afdeling zijn, of een klant, die het probleem meldt. Dit betekent dat de fout zich al (enige tijd geleden) heeft voorgedaan en ook al de operatie heeft beïnvloed. Dit is niet alleen vervelend, maar zorgt er ook voor dat je als team achter de feiten aanloopt. Het voelt veel beter wanneer een klant belt met een probleem je kunt aangeven al met de oplossing bezig te zijn (of misschien beter, je kunt dit proactief melden aan je interne en externe klanten). In deze situatie ben je in control en al aan het oplossen en wordt je niet overvallen of verrast door een gemeld probleem.

Hoe kun je notificatie bij fouten implementeren
Waar moet je aan enken bij het implementeren van notificaties bij fouten:

  • Stel waarschuwingsregels in, in welke situatie moet er mogelijk een notificatie worden gegeven (b.v. responsetijd van een website of een bepaalde foutmelding in de log).
  • Stel drempelwaarden in, wanneer moet de notificatie worden gegeven (b.v. bij een responsetijd langer dan 100 ms? Of langer dan 200ms?).
  • Kies de juiste drempelwaarden, als je de waarde te laag zet dan krijg je heel veel notificaties die onterecht zijn.
  • Evalueer incidenten en pas notificatie hierop aan. Stel dat er geen notificatie is geweest van een fout maar er wel een incident is opgetreden. Had je dit dan kunnen zien aankomen? Moet er een extra waarschuwingsregel worden ingesteld? Was de drempelwaarde te hoog of te laag?
  • Denk na hoe je omgaat met foutmeldingen, kun je er niets mee meldt het dan niet. Heeft een melding altijd dezelfde actie tot gevolg automatiseer deze actie dan (b.v. het herstarten van een service)

Veelgemaakt fouten

De meest gemaakte fouten bij het in de gaten houden van fouten die optreden in de applicatie:

  • Geen waarschuwingen configureren in log- en monitoringsystemen - of helemaal geen log- en monitoringsystemen hebben.
  • Niet proactief de systeemstatus monitoren op basis van drempelwaarden.
  • Niet proactief de systeemstatus monitoren op basis van toename in hoeveelheid waarschuwingen.
  • Alle waarschuwingen dempen omdat ze te hinderlijk zijn. Als dit het geval is, kijk dan goed welke waarschuwingen onbelangrijk zijn en schakel ze uit en schakel relevante monitoring weer in.

Hoe kun je verbeteren

Het belangrijkste bij het proactief monitoren is het configureren van de waarschuwingen om de juiste teams op de hoogte te brengen dat er een fout optreed of op gaat treden. De waarschuwingen moet zodanig zijn ingesteld dat het team de meldingen krijgt voordat operations of de klant merkt dat er iets fout gaat.

Denk hierbij aan:

  • Het configureren van waarschuwingen in log- en monitoringsystemen op de juiste niveaus door samen met het team naar te kijken en in te richten.
  • Waarschuwingen configureren om ervoor te zorgen dat de mensen en teams die het probleem kunnen oplossen op de hoogte worden gesteld.
  • Proactief de systeemstatus monitoren op basis van best practices.
  • Proactief de systeemstatus monitoren op basis van toename in hoeveelheid waarschuwingen.
  • Zorg ervoor dat alleen relevante waarschuwingen worden afgegeven en dat het team niet te veel wordt gewaarschuwd (dus: meld alleen als je zeker weet dat er een fout is. Als je te vaak een melding krijgt die niet klopt dan gaan teams en teamleden deze meldingen structureel negeren).

Hoe beoordeel je of je op het juiste niveau zit?

De belangrijkste elementen waar je naar moet kijken:

  • De mate waarin storingsmeldingen van log- en monitoringsystemen worden vastgelegd en gebruikt.
  • De mate waarin systeemstatus proactief wordt bewaakt met drempelwaarschuwingen.
  • De mate waarin de systeemstatus proactief wordt bewaakt met behulp van waarschuwingen voor toename in hoeveelheid waarschuwingen..

We raden aan ten minste twee verschillende soorten monitoringstatistieken op te nemen (d.w.z. drempelwaarden en toename in hoeveelheid waarschuwingen) om ervoor te zorgen dat u verschillende aspecten van uw systeem vastlegt. Uiteraard kun je afhankelijk van de eigen situatie ook nog andere statistieken hieraan toevoegen.

Conclusie

Notificatie bij fouten kan een team helpen om snel problemen te signaleren en op te lossen. Ook helpt het om het team verantwoordelijkheidsgevoel te geven. Wanneer het team een melding krijgt moeten ze hem ook oplossen. Maar het biedt nog meer voordelen, teams handelen proactief dus als er een prioriteit 1 melding binnen komt is de kans groot dat het team dit al weet en ermee bezig is (als ze al niet de klanten proactief heeft geinformeerd). Hierdoor heb je meer het gevoel in control te zijn.

Benieuwd hoe uw team(s) het doen op dit gebied? Wil je hier mee aan de slag? Denk dan aan de genoemde manieren om te verbeteren en neem contact met mij op om te bespreken hoe dit binnen jouw organisatie kan.

Wil je je prestaties op deze en andere DevOps competenties verbeteren? Dan is het belangrijk te meten waar de organisatie nu staat. De DevOps online meting van het DevOps Program biedt dit inzicht op laagdrempelige manier.

Marcel Groennou, DevOps Consultant