Software Scaleup Verkrijgt Inzicht in Prestaties Van Gedistribueerd Softwaresysteem

Met behulp van streaming-analytics heeft NextPax voortdurend inzicht verkregen in prestaties, tracing en intuïtie in de complexe pijplijn van hun kernproduct.

An icon representing the goal of the project.

Het Doel

De prestaties verbeteren en inzicht verkrijgen in een gedistribueerd softwaresysteem, waarbij de benodigde inzichten betrekking hebben op prestatiekenmerken zoals looptijd en het aantal keren dat een taak wordt uitgevoerd.

An icon representing the challenge of the project.

De Uitdaging

Een oplossing creëren om gegevens te genereren en te analyseren om de prestaties van het gedistribueerde softwaresysteem bij te houden, waarbij miljarden datapunten per dag worden gegenereerd.

An icon representing the challenge of the project.

De Aanpak

Een dashboard creëren op basis van een op gebeurtenissen gebaseerde streamverwerkingspijplijn met Apache Kafka om tracing uit te voeren en de prestatiegegevens in realtime te berekenen.

Sector
Travel & Hospitality
Use Case
Applicatie Monitoring
NextPax krijgt prestatie-inzichten in gedistribueerde systemen, weergegeven op een analytische overlay.

Over NextPax

NextPax is een internationale channel manager in de reisindustrie met een distributienetwerk naar verschillende kanalen zoals booking.com, AirBnb en HomeAway. Als channel manager helpen ze allerlei huiseigenaren: ze verbinden vastgoedbeheerders en vastgoedbeheersystemen met verschillende kanalen, zodat accommodaties op verschillende kanalen geboekt kunnen worden. De channel manager-software die NextPax heeft ontwikkeld is van vitaal belang in deze missie.

Miljoenen updates per dag

Naarmate NextPax is uitgegroeid tot een van de grootste channel managers in Europa, verwerkt hun software dagelijks gegevens van miljoenen accommodaties. Naast de ontwikkeling is het systeem substantieel gegroeid en daarmee ook de complexiteit ervan. Een van de belangrijkste kenmerken van de software van NextPax is het tijdig updaten van alle aangesloten boekingskanalen. Om deze hoge belasting aan te pakken, is het systeem een zeer schaalbare gedistribueerde architectuur met veel bewegende componenten. Bovendien moet de systeemprestatie behouden en indien mogelijk verbeterd worden om verder uit te breiden naar andere markten en een naadloze ervaring aan de eindgebruiker te bieden.

Hierdoor hadden we de volgende twee uitdagingen:

  • Meer inzicht krijgen in de pipelines van het software systeem, zodat NextPax de prestaties kan monitoren en eventuele problemen kan onderzoeken en oplossen.
  • De prestaties verbeteren van de meest cruciale componenten van het systeem.

Vanwege de gedistribueerde aard van het software systeem waarmee we te maken hadden, zou een eenvoudige loggingsoplossing niet voldoende zijn. Een loggingsoplossing zou ons in staat stellen om de prestaties van afzonderlijke taken en servers te monitoren, maar niet van het systeem als geheel. Het systeem bestaat uit een pool van worker nodes die taken uit wachtrijen verwerken, en deze taken zijn met elkaar verbonden. De belangrijkste uitdaging bij het verkrijgen van inzicht is de uitdaging om een reeks taken (die op een willekeurig aantal verschillende Linux-processen en servers draaien) te traceren naar één proces dat zichtbaar is voor de klant. Op dezelfde manier is het verbeteren van de prestaties van een gedistribueerd systeem met veel componenten een uitdaging, omdat de vraag altijd is waar te beginnen, als het zoeken naar een speld in een hooiberg.

Event Streaming & Distributed Job Tracing

Tijdens ons onderzoek naar een mogelijke oplossing voor de voorgestelde uitdagingen hebben we al snel een aantal algemene vereisten voor het project geïdentificeerd:

  • Lage overhead: aangezien dit van invloed is op alle taken.
  • Transparantie op applicatieniveau:

om de vereisten voor de bestaande software tot een minimum te beperken.

  • Schaalbaarheid: omdat deze tool gegevens van alle knooppunten in de cluster moet verzamelen.

Op basis van deze vereisten en de genoemde doelen hebben we gewerkt aan de volgende gebruiksscenario’s:

  • Het bijhouden van de impact op de algehele prestaties voor elke soort taak om de systeemprestaties structureel te verbeteren.
  • Het traceren van taken terug naar de oorspronkelijke taak die ze heeft verzonden om tijdige updates te valideren.

Als resultaat hebben we een zeer schaalbare streaming analytics-pijplijn gebouwd op basis van Apache Kafka, die verschillende gebeurtenissen verwerkt die we hebben geïntroduceerd in de channel manager-software. Dit stelde ons in staat om bij te blijven met de duizenden datapunten die elke seconde binnenkomen, terwijl we de analyses in realtime berekenen. De metingen werden vervolgens blootgesteld als een API aan het oorspronkelijke systeem, waar we een flexibel dashboard met realtime inzichten hebben gebouwd.

Resultaten

  • Aanzienlijk inzicht in hun software systeem: Hierdoor kunnen ze hun software verder monitoren en optimaliseren, wat een belangrijke impact heeft op de kwaliteit van de gegevens op de verschillende kanalen.
  • Belangrijke optimalisaties van de code in de meest cruciale algoritmen van het systeem. Hierdoor werd de verwerkingssnelheid van taken met een factor 3 versneld.

Hieronder zie je het horizon dashboard, dat een overzicht geeft van de taken die worden verwerkt door het platform. De eerste afbeelding toont een momentopname van de situatie voordat we begonnen, en de situatie na (de donkere screenshot) onze kritieke wijzigingen die het aantal taken per minuut met een factor ~3-6 hebben verbeterd. Presentatie Presentatie

Eindpresentatie

Presentatie

Tijdens deze presentatie hebben we de resultaten van het project gepresenteerd, samen met enkele aanbevelingen voor de toekomst om het platform verder te verbeteren op het gebied van prestaties.

NextPax

“Ik wil het BiteStreams-team bedanken, en met name Donny Peeters & Maximilian Filtenborg, voor het leveren van onze op maat gemaakte 'prestatie-analyse-oplossing' die veel waarde zal toevoegen voor onze NextPax-klanten!”

Erik Engel, CEO, NextPax at NextPax

Do you want to get more insight into your Data? Contact us now

Get more data-driven with BiteStreams, and leave the competition behind you.

Contact us