Software Development stopt niet na de eerste release

Joost

Geschreven door Joost Saanen op 27-1-2016
3 minuten leestijd

Heb je het over support, dan wordt er vaak gedacht aan drukke callcenters met lange wachttijden. Aan telecomproviders of aan helpdeskmedewerkers die je vaak door moeten schakelen naar een 2e lijns medewerker omdat ze het probleem zelf niet kunnen (of mogen) oplossen, etc. In de context van Software Development is support meer dan dat.

Het support waar ik het over wil hebben, is het traject nadat een web- of mobiele applicatie is ontwikkeld. Bij software is het helaas niet zo dat je na de release van versie 1.0 de komende 10 jaren gebakken zit en nergens meer naar om hoeft te kijken. Naast dat de omgeving waar software wordt gebruikt onderhevig is aan verandering (denk hierbij aan nieuwe mobiele telefoons, besturingssystemen en browsers), kunnen er zich ook incidenten voordoen, die er voor zorgen dat een applicatie niet meer goed functioneert of – erger nog – zelfs helemaal niet meer te gebruiken is.

Met support bedoelen we hier primair het beheer van een web- of mobiele applicatie, maar het kan ook gaan over een ander soort maatwerksoftware.

In een reeks van artikelen wil ik wat dieper in gaan op verschillende onderdelen die belangrijk zijn als het gaat om support of beheer van een applicatie. Dit artikel gaat over “monitoring”.

Het monitoren van een applicatie of server kan worden ingedeeld in een aantal onderdelen:

Security monitoring

Neem als voorbeeld een applicatie die is gebouwd in Ruby on Rails of Java. Na verloop van tijd zullen er updates worden uitgebracht voor de gebruikte frameworks en plugins. Deze updates bevatten vaak (kleine) verbeteringen, maar ook belangrijke wijzigingen wat betreft security. Het is belangrijk om hier pro-actief mee om te gaan, om misbruik voor te zijn én te voorkomen.

Performance monitoring

Presteert je applicatie onvoldoende onder huidige omstandigheden? Verwacht je een groei van gebruikers in de toekomst? Zijn er bepaalde trends waar te nemen die om aandacht vragen? Een voorbeeld hiervan is dat je ziet dat bepaalde pagina’s langzaam laden. De grootste ergenis van gebuikers is een langzame applicatie. Ga hier actief mee om en zorg dat je gefrustreerde en ontevreden gebruikers voorblijft. Wanneer het gaat om een belangrijk onderdeel van je applicatie, kun je overwegen om verbeteringen door te voeren. Dit voorkomt dat gebruikers er last van gaan ondervinden. Voor deze vorm van monitoring zijn er goede tools op de markt (bijvoorbeeld NewRelic) gebracht die je hier mee kunnen helpen. Bij calamiteiten die direct opgelost moeten worden geven deze tools, door je de juiste informatie te verschaffen, vaak ook uitkomst. Let op: om de data goed te kunnen interpreteren is wel technische kennis nodig.

Technische monitoring

Het “realtime” monitoren van een server waar de applicatie op draait is minstens zo belangrijk. Ook hiervoor zijn tools voorhanden (Bijvoorbeeld Nagios). Wil je hier gebruik van maken dan kun je starten met het inrichten van standaard checks, zoals controleren of een server bereikbaar is. Of iets uitgebreider, het controleren van een Hard Disk of de belasting (serverload) van een server. Met behulp van scripting kun je nog uitgebreidere controles uitvoeren. Voorbeelden hiervan zijn het controleren van een specifieke onderdeel van de server zoals een achtergrond-proces. Mocht het zo zijn dat dit proces uitvalt dan kun je het script zo maken dat het proces weer automatisch wordt gestart – of dit een goede aanpak is kan over gediscussieerd worden.

Wanneer een monitoring-tool een probleem constateert kan er een mail of SMS worden gestuurd naar de beheerder van de applicatie. Zo is deze vaak eerder op de hoogte van een calamiteit dan een gebruiker of klant. Het is immers veel beter om een gebruiker op de hoogte te stellen van een incident of storing als dat je via twitter moet vernemen dat er problemen zijn. In het voorbeeld hieronder wordt er ‘en publique’ geklaagd. Dit kan natuurlijk effect hebben op het imago van je bedrijf.

Angry Tweet

Voor veel eigenaren van web- of mobiele applicaties behoren bovenstaande zaken niet tot de ‘core’-business. Goede support is gelukkig prima uit te besteden. Kabisa biedt bijvoorbeeld met managed services onderhoud en support voor al haar projecten. Een support-team als backup bij calamiteiten of problemen kan nog meer voordelen bieden. Hierover zal ik je in een volgend artikel meer vertellen.

Joost

Joost Saanen

Gepassioneerde all-rounder met brede interesses; van serverbeheer en cloudhosting tot (UI)design en (web)development. Hardloopt en schrijft het liefst tegelijk.