De tijd dat een applicatie 1 ‘ding’ was en ook zo beheerd kon worden ligt ver achter ons. Organisaties bouwen tegenwoordig de functionaliteit die ze nodig hebben door allerlei componenten te koppelen. Sommige daarvan beheren ze zelf, maar een steeds groter deel valt buiten hun directe verantwoordelijkheid. Maar wat doe je als de gebruikers beginnen te klagen over de performance?
Applicatielandschappen zijn complex en de complexiteit neemt nog verder toe omdat we niet alleen steeds meer apps, maar ook steeds meer verschillende architecturen koppelen. We integreren maatwerksoftware en PeopleSoft aan Microsoft-platformen zoals Microsoft 365 en Power Platform. Zo mengen we SaaS, IaaS, PaaS en on-prem software door elkaar. Het is complex, maar het werkt. En, doordat we allerlei slimme tools gebruiken van allerlei vooruitstrevende tech-partijen, kunnen we snel innoveren en geweldige klantervaringen bouwen.
En dan beginnen je klanten te bellen. Want ‘de app is traag’.
‘Hopen dat iemand anders het oplost’
En daar begint het gedonder. Want je klant mag zich gebruiker wanen van ‘de app’, wij weten dat die app in werkelijkheid een geschakeld landschap is van puntoplossingen, API’s en cloudplatformen, dat niet alleen complex is maar ook snel verandert. En al die schakels in de keten kunnen de oorzaak zijn van een performanceprobleem. Van oorsprong waren er altijd twee manieren om zo’n ingewikkeld performanceprobleem aan te pakken: een positief ingestelde beheerder met verantwoordelijkheidsgevoel pakte de telefoon en belde alle afdelingen en leveranciers tot het probleem boven tafel was, om daarna een oplossing te bedenken. Een andere aanpak, die we helaas nog veel tegenkomen, is ‘constateren dat het niet aan ons ligt en hopen dat iemand anders het oplost’.
Deze methoden zijn in 2024 niet meer acceptabel. Wat je nodig hebt, is een mechanisme om heel snel de performancedata van je hele keten te analyseren. Daarvoor gebruiken wij Elastic.
Wat de Elastic-stack is en hoe wij hem gebruiken
De Elastic-stack (of: ELK Stack) is een verzameling open source tools voor realtime zoeken in, analyseren en visualiseren van grote hoeveelheden data. De naam ELK komt van de drie belangrijkste componenten: Elasticsearch, Logstash en Kibana.
Elasticsearch zelf is de zoek- en analytics-engine die de ruggengraat vormt van de stack. In Elastic kun je enorme datasets opslaan en analyseren en snel complexe zoekopdrachten uitvoeren. Logstash en Elastic Agent geven je een data processing pipeline die data uit verschillende bronnen verzamelt, transformeert, aggregeert en doorstuurt naar Elasticsearch. Kibana is het dashboard-gedeelte van de stack. Daar bouwen we de datavisualisaties die beheerders helpen om snel te zien waar een performanceprobleem zit of dreigt.
Elastic is niet speciaal bedoeld, maar wel heel geschikt voor het monitoren van de performance van complexe applicatieketens. Voor volledige observability combineren we verschillende databronnen:
- Logbestanden van applicaties en infrastructuur. Hierin vinden we opgetreden fouten, waarschuwingen en andere belangrijke gebeurtenissen
- Performance metrics. Afwijkingen in CPU-gebruik, geheugengebruik, netwerkverkeer en diskactiviteit kunnen allemaal aanwijzingen zijn voor prestatieproblemen
- Applicatieperformance. Transacties, langzaam lopende queries en foutmeldingen geven ons inzicht in het perspectief van de gebruiker, zodat we problemen zien voordat ze gaan bellen
- Synthetic Monitoring. Het zelf continu simuleren van de belangrijkste klantreizen geeft veel informatie over hoe een applicatie voor de gebruiker presteert. Daarvoor simuleert Elastic Synthetic Monitoring de browser van de eindgebruiker
Zo ingericht is de Elastic-stack een krachtig platform voor observability, waarmee we performanceproblemen niet alleen kunnen detecteren en oplossen, maar ook proactief kunnen voorkomen.
‘Wat betekenen deze data eigenlijk?’
Het installeren en inrichten van de hele Elastic-stack, het inrichten van de data pipelines, dashboards en triggers en daarna het onderhoud van de omgeving zijn misschien specialistenwerk, maar we hebben daar inmiddels veel ervaring mee en het stelt ons meestal niet voor grote uitdagingen.
Maar de technische vragen zijn ook helemaal niet de belangrijkste vragen. Want we kunnen een omgeving technisch perfect voor je inrichten, uiteindelijk moet je zelf besluiten wat je wilt monitoren en met welk doel. En vervolgens moet je bepalen welke acties er moeten volgen als de gekozen metrics een grenswaarde overgaan.
Je kunt een heleboel data verzamelen en op een dashboard zetten, maar je hebt er niets aan zonder het antwoord op de vraag: ‘wat betekent dit eigenlijk?’ Met andere woorden: observability is geen doel op zich, er moet altijd een businessdoel achter zitten.
Observability met Elastic in de praktijk
Om te laten zien hoe dat kan werken, geven we je een paar voorbeelden uit onze praktijk.
- Betere ervaring voor eindklant
Een klant van ons had geen inzicht in hoe hun eigen applicatie presteerde bij de consument en kon dus pas op problemen reageren als mensen begonnen te klagen. In digitale dienstverlening, waar de applicatie mission critical is, kun je je dat risico niet veroorloven. Door implementatie van observability met Elastic kon dit bedrijf zelf zien wanneer zaken traag liepen aan de gebruikerskant en proactief ingrijpen.
- Efficiënter beheer
Een andere klant waar we mee werkten had een interne reden voor de investering in betere observability. Beheerders waren namelijk veel tijd kwijt met zoeken naar de oorzaak van problemen in hun netwerk van technische componenten. Vaak werd die oorzaak ook niet gevonden en was dus volkomen onduidelijk waarom de omgeving soms traag was. Dit was voor de hele IT-afdelingen een bron van constante zorg en stress. Met Elastic vinden ze nu veel sneller de oorzaak en kunnen ze ook problemen voorkomen voordat het misgaat.
- Compliance
We helpen ook regelmatig klanten die niet zozeer performanceproblemen hebben, maar die door interne of externe regels moeten kunnen aantonen dat ze grip hebben op wat er op hun omgevingen gebeurt. Ze moeten soms realtime kunnen laten zien welke afhankelijkheden, bottlenecks en risico’s er in hun applicatieketen zitten. Hier dient Elastic dus meer als rapportagegereedschap voor het aantonen van compliance.
- Voorspellen van het effect van een verandering
Met voldoende data over je omgeving, kun je voorspellen wat een verandering met je performance gaat doen en waar eventueel upgrades of aanpassingen nodig zijn. Soms gaat het daarbij over een migratie of over het ondersteunen van de groeidoelen van een bedrijf (‘kunnen we die 10.000 extra gebruikers wel aan?’), maar ook de impact van grote hoeveelheden IoT-data die vrijkomen door innovatieve projecten kunnen we inzichtelijk maken.
- Kostenoptimalisatie
Performance en kosten zijn niet los van elkaar te zien. Veel van onze klanten willen dus inzicht krijgen in hoe ver ze de kosten kunnen beperken door hun systemen ‘terug te schroeven’, zonder dat de eindgebruiker er last van heeft. Dat is een subtiele balanceer-act die je alleen goed kunt uitvoeren met realtime data en hele goede dashboards. Een goede toepassing van de Elastic-stack dus.
Wat is jouw performance-uitdaging?
Dit zijn 5 uitdagingen waar wij klanten mee geholpen hebben. Maar jouw performance-uitdaging is vast weer net even anders. Omdat we altijd willen leren, horen we graag welke performancevragen jij hebt. Dan kun wij nadenken over hoe Elastic die zou kunnen beantwoorden.
Neem contact op met:
Cees Schrijen, Accountmanager Enterprise IT
c.schrijen@blisdigital.com | 06-17503107