Project: Microservice herbeprijzing

Onze uitdaging

We hebben als IT-afdeling de vraag gekregen of het mogelijk is voor elke OV-transactie een aangepaste prijs te bepalen op basis van een heleboel verschillende factoren. Verschillende kortingsregels, reistijd, spits of dal, alle combinaties moesten mogelijk zijn en het mocht praktisch geen impact hebben op de verwerkingstijd van een transactie.

Een behoorlijke klus, zeker gezien de grote stroom transacties die we dagelijks verwerken. Aan ons dus de taak om een project op te leveren waarin niet alleen code, maar ook performance en infrastructuur belangrijk zijn. 

Het team

We werken met een scrumteam waarin iedereen kennis met elkaar deelt en fouten maken gewoon kan. Je steekt dus veel van elkaar op en dat motiveert om samen de schouders volledig onder zo’n project te steken. Zo hadden we in ongeveer twee meetings de projectwensen duidelijk en konden we met z’n allen gaan nadenken hoe we dit project wilden vormgeven. We hadden al snel duidelijk dat: 

  • Snelheid centraal stond; 
  • De database belast zou gaan worden; 
  • Er een beheer API gebouwd moest worden voor andere partijen. 

Aan de slag!

We hebben uiteindelijk gekozen om transacties binnen te laten komen op een queue, zodat we verschillende processen tegelijkertijd de stroom aan transacties konden laten afhandelen. Daarnaast hebben we met het hele team net zo lang gesleuteld totdat we écht niet meer konden optimaliseren. In de tussentijd hadden we onze API-documentatie geschreven en aan andere partijen verstrekt, zodat iedereen direct aan de slag kon met het gebruiken van de service. 

Binnen het team had niemand een vaste taak. We werkten met z’n allen aan het project en we zorgden samen dat iedereen overal wat van meepakt. Het resultaat was dat iedereen z’n kennis erin kwijt kon en we binnen ongeveer een maand de applicatie hadden draaien.