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:
- Visual management
- Work in Progress (WIP) limieten toepassen
- Monitoring
- Notificeren bij fouten
In een serie van vier blogs zal ik deze onderdelen behandelen. De vorige 2 blogs gingen over Visual management en Work in Progress (WIP) limieten toepassen. Dit blog gaat over Monitoring.
Monitoring
“Monitoring is het gebruik van gegevens uit applicatie- en infrastructuurmonitoringstools om actie te ondernemen en zakelijke beslissingen te nemen.”
De gegevens worden dus niet alleen gebruikt om mensen of teams op te roepen als er iets misgaat, je neemt ook beslissing over nieuwe en bestaande functionaliteit op basis van de gegevens die je verkrijgt vanuit monitoring.
Waarom is monitoring belangrijk
Monitoring is een belangrijke competentie omdat het inzicht geeft in de systemen en het werk. Monitoring geeft de snelle feedback die helpt om zo vroeg mogelijk in de levenscyclus van software ontwikkeling de problemen te ontdekken en op te lossen. Daarnaast geeft monitoring veel informatie aan operations, development maar ook aan product management die op basis van deze informatie het product kunnen verbeteren en verder kunnen ontwikkelen.
Beschikbaarheid monitoring data
Misschien spreekt het voor zich, maar vaak is de beschikbaarheid van monitoring data niet goed geregeld. Het moet voor iedereen die betrokken is bij de bouw en het beheer van de software eenvoudig zijn om bij de gegevens te komen die zijn verzameld door de monitoringtool(s). Bij voorkeur door het beschikbaar stellen van API’s of standaard dashboards, in plaats van het moeten opvragen van deze gegevens door een service aanvraag in te dienen en te wachten totdat de gegevens worden opgeleverd.
In het ideale geval zijn er monitoringmogelijkheden die precies vertellen wanneer er iets interessants gebeurt, evenals waar en hoe. De gegevens moeten ook geschikt zijn voor handmatige en geautomatiseerde analyse.
Er wordt wel gezegd: "Monitoring is zo belangrijk dat monitoringsystemen beter beschikbaar en schaalbaar moeten zijn dan de systemen die worden bewaakt."
Dit alles is belangrijk, omdat de gegevens die afkomstig zijn van onze systemen ook moeten worden gebruikt om zakelijke beslissingen te nemen. Dit laatste punt wordt vaak over het hoofd gezien, en het is de belangrijkste stap als we de gegevens eenmaal beschikbaar hebben.
Veelgemaakte fouten
De meest voorkomende fouten die we bij monitoring zien, zijn:
- Alleen reactief monitoren, denk hierbij aan alleen opgeroepen worden wanneer het systeem uitvalt, maar geen monitoringgegevens gebruiken om te waarschuwen wanneer kritieke drempels naderen (oftewel: wanneer een fout dreigt op te treden).
- Alleen monitoring van één of twee gebieden en niet de volledige pijplijn voor softwareontwikkeling en -levering.
- Alleen gericht op lokale optimalisaties
Hoe kun je verbeteren?
De belangrijkste verbeteringen zijn:
1. het verzamelen van gegevens, inclusief applicatie performance en infrastructuur; en
2. het gebruik van die gegevens om zakelijke beslissingen te nemen
Om op deze punten te verbeteren kunt u onderstaande strategieën toepassen om elk van deze gebieden te verbeteren.
Het verzamelen van gegevens
Implementeer monitoringoplossingen, dat kan een in huis ontwikkelde oplossing zijn of een third-party oplossingen, die inzicht geven in development, testen, kwaliteitscontrole en overige IT-activiteiten. Lees hier meer over in deze whitepaper DOEF15Metrics.
Het gebruik van de gegevens verzameld in de vorige stap om zakelijke beslissingen te nemen.
Visualiseer deze gegevens om ze toegankelijk te maken voor verschillende doelgroepen
Communiceer deze gegevens aan mensen binnen de organisatie en aan mensen in andere groepen.
Integreer deze gegevens in rapporten en briefings en gebruik het in vergaderingen, zodat zakelijke beslissingen worden genomen op basis van de juiste gegevens. In dit geval betekent juist: relevant, tijdig, nauwkeurig en gemakkelijk te begrijpen.
Conclusie
Monitoring wordt vaak niet of beperkt toegepast. Wanneer organisaties hier actief aan werken richt het zich meestal op het signaleren van problemen als ze opgetreden zijn en op basis hiervan de juiste teamleden in te schakelen. Echter, als je het goed doorvoert kun je het ook gebruiken om als organisatie de juiste beslissing te nemen waar je met je product of dienst naartoe kan.
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 uw 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.