Afstuderen Fahim: toepassing van caching in HydroNET

Op 13 maart 2019 gepubliceerd door Gerda Wiggemans

Ik kwam een paar jaar geleden met HydroLogic in contact op de bedrijvenmarkt van de Hogeschool Utrecht, waar ik ICT studeer. Toen ik een afstudeerstage zocht kon ik ruim op tijd alles regelen voor mijn afstuderen. Samen met HydroLogic heb ik uitgebreid onderzocht welke opdracht bij mijn wensen en mogelijkheden zou passen.

De opdracht moest natuurlijk ook voldoen aan de eisen van mijn Hogeschool. Elke student bij HydroLogic heeft een vaste begeleider die ook meedenkt in het formuleren van de opdracht. We zijn er goed uitgekomen en ik werk met plezier aan mijn opdracht: Toepassing van caching in HydroNET.

HydroNET biedt applicaties en dashboards waarmee waterbeheerders en eindgebruikers in binnen- en buitenland hun gebied real time kunnen monitoren en analyseren, door eigen gegevens te verbinden met datastromen van anderen en zo het inzicht te versterken en dat wordt ontwikkeld in .Net. Voor mij een interessant onderwerp omdat ik tijdens de .Net minor al wat ervaring had opgedaan en er graag meer over wil leren.

Mijn afstudeeropdracht past goed in het tijdsbestek van afstuderen en sluit goed aan bij de lopende ontwikkelingen binnen HydroLogic. Het Plan van Aanpak is goedgekeurd en ik ben momenteel de caching mechanismen binnen microservices architectuur aan het onderzoeken.

Als resultaat van mijn opdracht zullen onderstaande deelvragen worden beantwoord aan de hand van een overzoekverslag:

  • Wat zijn best practices in het gebruik van caching stores binnen de microservice architectuur?
  • Op welke data moet er caching plaatsvinden en is dat automatisch te detecteren?
  • Hoe kunnen microservices worden ingezet om de caching automatisch te laten verlopen?
  • Hoeveel winst valt te behalen met het inzetten van caching binnen de microservices architectuur?

In de gewenste situatie zal HydroNET volledig volgens de microservice architectuur werken. De microservice moet dan niet alleen de functionele data bewaren maar ook de antwoorden van requests cachen om zo de transformatie op die gegevens al klaar te hebben staan zodat het niet nogmaals uitgevoerd hoeft te worden. Het moet mogelijk zijn voor alle microservices om de binnenkomende requests op te slaan. Als er een bepaald verzoek frequent binnenkomt, is de microservice in staat om de transformeerde data gelijk terug te geven.

Dit zorgt voor een vermindering van communicatie tussen de microservice-laag en de HydroNET Server laag. Daarnaast wordt er minder data verstuurd tussen de individuele microservices. Het resultaat daarvan is dat de desbetreffende microservice in staat is om gelijk de response terug te kunnen sturen voor herhalende requests. Er moet ook worden bepaald welke data elke microservice in zijn eigen opslag moet opslaan, omdat de HydroNET Server te maken heeft met dynamische data. Hierdoor moet er worden vastgelegd welke gegevens in welke microservice worden bijgehouden. Bij de HydroNET Server is er data die wel elke vijf minuten wordt vernieuwd. Daarnaast zijn er gegevens die elke week of eens per maand vernieuwd worden.

Een uitdagende en interessante opdracht dus! Wil je ook bij HydroLogic afstuderen? Stuur je CV en een motivatiemail en er wordt contact met je opgenomen.