Ravikumar Sharma
Het platform is gebouwd met Node.js, Express.js, React.js en MongoDB en integreert naadloos met bestaande PSA-tools.
Eén van de kernfuncties van het platform? De tijdlijnweergave voor resource planning. Deze moet een uitgebreide matrix van gegevens tonen voor 50 tot 200 resources over 52 weken, inclusief projecten, taken en beschikbaarheid.
De initiële implementatie, die rechtstreeks data samenvoegt uit MongoDB, was te traag voor praktisch gebruik. Dit had een groot effect op de gebruikerservaring, vooral voor organisaties die meerdere teams en locaties beheren.
De belangrijkste bottleneck? De real-time berekening van geaggregeerde waarden uit MongoDB. Hoewel MongoDB de gegevens uitstekend opsloeg, was de real-time verwerking van deze complexe dataset met vele variabelen (beschikbaarheid, vaardigheden, departement, etc.) niet optimaal om snel weer te kunnen geven.
Om de prestaties te verbeteren, implementeerden we Elastic Cache. Door strategisch belangrijke data vooraf samen te voegen en in cache op te slaan, konden we de responstijd drastisch verbeteren zonder in te leveren op functionaliteit.
We ontwikkelden een slim aggregatiesysteem dat dagelijks data voorbewerkt en opslaat. Dit systeem houdt rekening met verschillende planningvariabelen zoals beschikbaarheid, vaardigheden en projectallocaties.
Bovendien implementeerden we 2 AWS Lambda-functies voor ‘cache warming’. Deze Lambda’s zorgen ervoor dat alle SaaS-klanten altijd over vooraf berekende data beschikken. Door deze functies én een periodiek script blijven de gecachte gegevens altijd actueel.
Door gebruik te maken van Elastic Cache hadden we vrijwel direct toegang tot de planningdata. In plaats van complexe queries uit te voeren, haalt het platform nu vooraf geaggregeerde gegevens op. Dit resulteert in een veel snellere en soepelere gebruikerservaring bij het plannen en herplannen van resources.
Deze optimalisatie maakte het ook mogelijk om efficiënt verschillende tijdsperspectieven te tonen, van dag- tot jaaroverzichten. Planners kunnen nu snel schakelen tussen verschillende views zonder performance-problemen, essentieel voor het effectief toewijzen van resources.
De combinatie van MongoDB en Elastic Cache heeft geleid tot een robuuste oplossing die voldoet aan de hoge prestatie-eisen van moderne resource planning. Deze architectuur stelt het platform in staat om grote hoeveelheden planningdata efficiënt te verwerken en weer te geven. Dit resulteert in een soepele gebruikerservaring voor organisaties met een planningsuitdaging van elke omvang.