Applicaties worden bij ons elke dag een stukje groter en complexer. Omdat performance een ontzettend belangrijk aspect is voor onze applicaties willen wij niet direct zichtbare problemen zo snel mogelijk boven water zien te krijgen.

Hiervoor beginnen wij met het inzichtelijk maken van het gebruik van de applicatie op functie niveau. Deze metrics schrijven wij weg en brengen deze in kaart met Grafana. We kunnen hier vervolgens notificaties op instellen bij bepaalde drempels. In dit artikel wordt uitgelegd hoe wij StatsD dagelijks toepassen om de applicaties van onze klanten steeds een stukje beter te maken.

Performance waarborgen

Bij het ontwikkelen van nieuwe features maak je een inventarisatie welke raakvlakken dit heeft met bestaande componenten en zorg je ervoor dat deze naadloos geïntegreerd kan worden. Waarbij de huidige functionaliteit gewaarborgd blijft. Maar welke effecten geven deze aanpassingen op de performance?

Ook als er geen nieuwe features ontwikkeld worden, maar het gebruik van een applicatie toe neemt kan het voorkomen dat de performance van onderdelen onder druk komen te staan.

Om dit te waarborgen en te monitoren kan StatsD ontzettend handig zijn. Wij gebruiken deze tool inmiddels voor al onze high availability applicaties.

StatsD

Met StatsD kan je met weinig resources (dus zonder dat het ten kostte gaat van performance) metrics registreren. Dit kan een eenvoudige increment zijn voor een bepaalde key (page.view.home + 1) of het registreren van de tijd die het kost om bijvoorbeeld een pagina op te bouwen.

KNHB

Voor de Hockey Bond hebben wij StatsD voor het eerst in gebruik genomen om ons inzicht te geven in het gebruik van de vele API’s en applicaties. Zo weten wij op elk moment van de dag welke API’s en applicaties gebruikt worden, welke onderdelen, wat de snelheid is van die onderdelen en of er foutcodes geregistreerd zijn.

Per onderdeel zijn er alerts ingesteld die bij bepaalde drempels notificaties uit moeten sturen wanneer we zelf actie moeten ondernemen.

Het inzichtelijk maken van instellen van alerts doen wij met behulp van Grafana. Dit is een open platform voor analytics en monitoring. Hier is ook de complete servermonitoring beschikbaar in gemaakt. Op deze manier is er in 1 oogopslag zichtbaar waar bijvoorbeeld een hogere load vandaan komt.

Geschreven door: Bart van Asselt

Meer kennis bijspijkeren? Kom dan naar onze Meetup: Ode aan de Code!

Bekijk onze Meetups

Wij zijn altijd op zoek naar getalenteerde vakgenoten!

Bekijk onze vacatures