Je runt een webshop. Op dit moment rekent iemand af. Het afrekenen is kapot. De klant krijgt een foutmelding. De klant vertrekt. Je bent net een verkoop kwijt.
Zonder operationeel dashboard zou je de fout pas morgen vinden, als je het dagrapport bekijkt.
Met een operationeel dashboard ziet het operationele team de fout binnen seconden. Het lost het direct op. De klant probeert opnieuw. De verkoop gaat door.
De kosten van trage detectie: honderden dollars per uur per fout.
Operationele dashboards vangen problemen realtime op, niet uren of dagen later.
De taak van operationele dashboards
Operationele dashboards bewaken de gezondheid van systemen en lopende processen.
Is de website bereikbaar? Werkt het afrekenproces? Reageren de betaalproviders? Worden e-mails verstuurd? Slagen de API-aanroepen?
Een operationeel dashboard gaat niet over omzet of bedrijfsmetrics. Het gaat over de gezondheid van systemen.
De eis van realtime data
Een operationeel dashboard moet realtime of bijna realtime worden bijgewerkt (binnen een minuut).
Vertraagde data is nutteloos. Wordt het dashboard elk uur bijgewerkt, dan mis je storingen die tussen twee updates vallen.
De eis van realtime betekent: een operationeel dashboard is duur om te bouwen en te onderhouden. Gebruik het alleen voor kritieke systemen.
Wat je bewaakt op een operationeel dashboard
Beschikbaarheid van het systeem
Reageert de website? Groen als hij bereikbaar is, rood als hij uitvalt.
Responstijd
Hoe snel is de website? Groen onder twee seconden, geel bij twee tot vijf seconden, rood boven vijf seconden.
Foutenpercentage
Welk percentage van de verzoeken geeft een fout? Groen onder 0,1%, geel bij 0,1% tot 0,5%, rood boven 0,5%.
Actieve transacties
Hoeveel transacties lopen er nu? Ter referentie. Niet vanzelf goed of slecht.
Conversietrechter in uitvoering
Hoeveel bezoekers zitten nu in elke stap van het afrekenen? Uitval in een stap vraagt om onderzoek.
API-prestaties
Responstijden van externe koppelingen. Betaalprovider, e-maildienst, verzend-API.
Databaseprestaties
Responstijden van queries, gezondheid van de connectiepool.
Voorbeeld uit de praktijk: een operationeel dashboard voor een webshop
Bovenste deel (gezondheid van het systeem)
Status van de website: UP (groen). Responstijd: 1,2 seconden (groen). Foutenpercentage: 0,08% (groen). Actieve gebruikers: 423. Transacties in uitvoering: 17.
Middelste deel (afrekentrechter)
Winkelwagen bekeken: 127 gebruikers. Afrekenen gestart: 89 gebruikers (70% conversie vanuit de winkelwagen). Verzendgegevens: 72 gebruikers (81% conversie). Betaalgegevens: 68 gebruikers (94% conversie). Orderbevestiging: 64 gebruikers (94% conversie). Uitval bij verzendgegevens: 17 gebruikers (let op, dit is hoger dan normaal, onderzoeken).
Onderste deel (koppelingen)
Betaalprovider: reageert in 800 ms (groen). E-maildienst: 99,8% bezorgd (groen). Verzendkostencalculator: reageert in 1200 ms (geel, iets traag).
Directe actie
De uitval bij verzendgegevens is hoger dan normaal. Onderzoek of de traagheid van de verzendkostencalculator ervoor zorgt dat mensen afhaken.
Waarschuwingssysteem
Een operationeel dashboard moet waarschuwingen geven als metrics op rood gaan.
Waarschuw het operationele team direct. Geen e-mail die gemist kan worden. Een sms, Slack of pager die onderbreekt.
Drempels moeten strikt zijn. Je wilt geen vals alarm. Maar het is beter om één vals alarm te hebben en één echt probleem op te vangen dan problemen te missen.
Voorbeelddrempels: website 30 seconden uit de lucht = waarschuwing. Foutenpercentage boven 1% gedurende 5 minuten = waarschuwing. Responstijd boven 5 seconden gedurende 10 minuten = waarschuwing. Betaalprovider reageert niet = direct waarschuwing.
De bereikbaarheidsdienst
Voor systemen die kritiek genoeg zijn voor een operationeel dashboard heb je een bereikbaarheidsdienst nodig.
Iemand is verantwoordelijk voor monitoring, 24 uur per dag, 7 dagen per week. Gaat er om 3 uur 's nachts een waarschuwing af, dan wordt de persoon in dienst wakker en lost het probleem op.
Een bereikbaarheidsdienst is duur. Maar de kosten van uitval zijn hoger.
Zet alleen kritieke systemen met een bereikbaarheidsdienst op een operationeel dashboard.
Wat je NIET bewaakt
Bewaak geen bedrijfsmetrics op een operationeel dashboard. Omzet, conversies en verkeerstrends horen op bedrijfsdashboards, niet op operationele dashboards.
Bedrijf en operatie mengen verwart het doel. Operationeel gaat over de gezondheid van systemen. Bedrijfsmetrics gaan over de gezondheid van het bedrijf.
Aparte dashboards voor aparte doelen.
Dashboard versus waarschuwingen
Met een operationeel dashboard bewaak je proactief. Je bekijkt het dashboard voordat een probleem kritiek wordt.
Met waarschuwingen reageer je achteraf. Het probleem ontstaat, de waarschuwing gaat af, je lost het op.
Je hebt beide nodig. Het dashboard voor proactieve monitoring. Waarschuwingen om te reageren als niemand naar het dashboard kijkt.
Draaiboeken voor incidenten
Als er een waarschuwing afgaat, wat gebeurt er dan? Het operationele team moet voor elk type waarschuwing een draaiboek hebben.
Waarschuwing website uit de lucht: herstart de webserver. Is hij nog steeds uit de lucht, schakel dan over naar de back-up. Is hij nog steeds uit de lucht, schaal op naar een senior engineer. Waarschuwing betaalprovider uitgevallen: schakel over naar een back-upprovider. Informeer klanten over mogelijke vertraging. Houd het in de gaten tot de hoofdprovider herstelt. Waarschuwing trage database: controleer de connectiepool. Is die vol, vergroot hem dan. Bekijk het querylog. Stop trage queries. Houd het in de gaten.
Draaiboeken voorkomen paniek. Duidelijke stappen voorkomen fouten.
Veelgestelde vragen
Hoe vaak moeten we het operationele dashboard bekijken?
Continu tijdens kantooruren. Altijd één persoon die kijkt. Buiten kantooruren kijkt de persoon in bereikbaarheidsdienst. Voor niet-kritieke systemen kijk je elk uur. Voor kritieke systemen (betalingsverwerking, afrekenen) is continue monitoring nodig. Bepaal welke systemen kritiek zijn: systemen waarbij een uur uitval veel omzet kost. Al het andere kun je elk uur controleren. Met de websitebouwer van WEMASY zet je dit direct op je eigen website op.
Welke responstijd is acceptabel?
Voor het afrekenen in een webshop: onder twee seconden. Voor een marketingsite: onder drie seconden. Voor interne beheertools: onder vijf seconden. Is het trager, dan lijdt de conversie of de gebruikservaring eronder. Meet vanuit het perspectief van de gebruiker, niet van de server. Merkt de gebruiker vertraging op, dan is het te traag.
Hoe voorkomen we waarschuwingsmoeheid?
Strikte drempels. Waarschuw alleen als er een echt probleem is. Krijg je tien waarschuwingen per dag en zijn er negen vals alarm, dan stoppen mensen met opletten. Beter twee waarschuwingen per dag die allemaal echt zijn. Stel drempels scherp af. Gaat er een waarschuwing af die niet urgent is, verhoog dan de drempel. Waarschuwingsmoeheid doodt de reactiesnelheid.
Moet een operationeel dashboard mobiel bereikbaar zijn?
Ja. De persoon in bereikbaarheidsdienst moet het overal kunnen bekijken. Zorg dat het op een telefoon werkt. Die persoon is misschien niet aan zijn bureau. Optimaliseer voor mobiel. Grote tikvlakken. Eenvoudige indeling. Snel laden, ook op 4G.
Hoe volgen we de operationele gezondheid door de tijd?
Log alle metrics. Ook al is een operationeel dashboard realtime, bewaar de geschiedenis. Bekijk elke week: hoe vaak lagen we eruit, hoe traag waren we, wat waren de belangrijkste fouten. Gebruik de geschiedenis om structurele problemen te vinden. Voorbeeld: heb je drie time-outs van de betaalprovider per week, onderzoek dan de betaalprovider. Pas niet alleen de drempel van de waarschuwing aan.
Wat als de persoon in bereikbaarheidsdienst het probleem niet kan oplossen?
Zorg voor een escalatiepad. De persoon in dienst is de eerste hulp. Kan die het niet binnen vijf minuten oplossen, dan schaalt die op naar een senior engineer. De senior engineer is het tweede niveau. Kunnen beiden het niet oplossen, dan wordt er opgeschaald naar de support van de leverancier of naar de CEO. Draaiboeken moeten het escalatiepad voor elk type waarschuwing beschrijven.