december 29, 2023 | 7 min

Dataverwerking op het hoogste niveau

Hidde van Heijst
Team Lead Data Engineering

De veranderingen in de data architectuur die Hidde van Heijst (Team Lead Data Engineering) en zijn collega’s de afgelopen twee jaar hebben gerealiseerd, zijn ongekend binnen het Nederlandse datalandschap. Het resultaat? Een afdeling met T-shaped talenten die gigantische hoeveelheden data – afkomstig vanuit verschillende leveranciers – verwerken. Van het koppelen van verschillende applicaties tot security best practices; Hidde geeft in deze blog een kijkje in zijn werk als Data Engineer bij Nederlandse Loterij.

 

De verwerking van event-gedreven data

Sinds het opengaan van de online kansspelmarkt twee jaar geleden liggen er serieuze uitdagingen op dataverwerking in het team waar Hidde deel van uitmaakt. “We houden ons bezig met het verwerken van event-gedreven data voor TOTO. Wanneer een speler bijvoorbeeld een weddenschap op een voetbalwedstrijd plaatst of geld inzet op een slotmachine in het casino genereert dit een bericht, oftwel een event. Wanneer de wedstrijd of weddenschap klaar is resulteert dit weer in een event. Zo krijgen we regelmatig pieken te verwerken van tienduizenden events per minuut. Om dit efficient te kunnen verwerken hebben we ons platform naar domeinen opgesplitst met verschillende karakteristieken, deze kunnen afzonderlijk van elkaar opschalen. Wanneer er Champions League voetbal gespeeld wordt, zal Sportsbook vanzelf extra opschalen, zonder dat dit impact heeft op andere processen zoals Casino of het systeem Payments, wat de betalingen verwerkt.

Dit is precies waar één van de grotere uitdagingen zit: Nederlandse Loterij neemt de systemen achter de online casino’s en sportweddenschappen af bij leveranciers. “Doet een speler een weddenschap in het casino, dan interacteert dit met het systeem waar iemands ‘wallet’ beheert wordt. Hier gaat geld vanaf als er wat wordt ingezet. En er komt bijvoorbeeld geld bij als je vervolgens wint. Al deze activiteiten komen terecht op een Kafka cluster van de leverancier. Vanuit deze Kafka clusters consumeren wij namens de Nederlandse Loterij de data. Deze data verwerken wij middels Event Sourcing naar het domein model van de organisatie.”

“Je moet kunnen werken volgens best practices op het gebied van security, om goed te kunnen functioneren in ons team.”

Hidde van Heijst
Team Lead Data Engineering

 

Event Sourcing

Wat betekent de data van een leverancier voor Nederlandse Loterij? En welke naam geven de data experts bijvoorbeeld aan een bepaald veld? Dat is waar veel denkwerk in gaat zitten voor Hidde en zijn team. “De events die wij verzamelen, slaan we op in een immutable database. Elk nieuw event dat binnenkomt, triggert vervolgens een proces. Alle events worden over elkaar in volgorde afgespeeld, zodat je weet wat de laatste staat is. Een goed voorbeeld is een speler’s account; alle updates -zoals adreswijzigingen- leiden tot iemands laatste versie van zijn account.” Het grote voordeel hiervan? “Het helpt ons volgordelijkheid te reconstrueren waar dit niet altijd het geval is vanuit de leverancier. Daarnaast is het ook nuttig op het gebied van auditing. Het stelt ons door middel van time travel in staat om te zien hoe een account er bijvoorbeeld een week geleden uitzag.” Wat gebeurt er vervolgens met deze data? “De NLO heeft andere applicaties die gebruik maken van onze API en Event Hubs, hiermee stellen wij ze in staat om real-time te kunnen acteren op verdachte gevallen. Denk hierbij aan het voorkomen van fraude en witwassen, maar ook aan het voldoen van onze zorgplicht bij het kansspelen. Ook kunnen analisten bij ons direct terecht voor queries en dashboards via Azure Data Explorer.”

architecture

Security best practices

Alle systemen waar Hidde en zijn collega’s mee werken, moeten op een beveiligde manier met elkaar communiceren. “Om de veiligheid van de grote hoeveelheid gevoelige data te waarborgen, werken we onder andere op basis van identity-based access en verloopt alle communicatie over private netwerken. Ook vinden er geregeld penetratietesten plaats, zodat wij zeker weten dat onze systemen waterdicht zijn op securitygebied. Je moet kunnen werken volgens best practices op het gebied van security, om goed te kunnen functioneren in ons team.”

 

Werkwijze team

Binnen NLO werken alle teams volgens de Agile richtlijnen met elkaar. “Iedere ochtend nemen we tijdens de stand-up lopende projecten met elkaar door. Tijdens deze meetings kijken we of er onvoorziene problemen zijn opgetreden en bespreken we de voortgang van het team. Bij problemen moet je denken aan: leveranciers die hun datamodel wijzigen zonder ons op de hoogte te stellen, waardoor events niet meer gevalideerd zijn. Deze events komen terecht op een dead-letter queue. Ook zijn wij erin getraind om ongewone patronen te herkennen. Zien wij een grote piek in het verkeer die we niet kunnen verklaren, dan zoeken we uit hoe dit komt.”

Alhoewel Hidde zijn agenda zoveel mogelijk vrij wordt gehouden om aan projecten te werken, wordt er ook genoeg gedeeld binnen team Data Management. “Elke week hebben we een refinement en om de week een teamdag. Tijdens deze dag wordt een demo gedeeld en houden we een retrospective. Met als doel om de kennis binnen de verschillende data teams met elkaar te delen.”

 

T-shaped profielen

De complexe vraagstukken op data die je tegenkomt binnen Nederlandse Loterij, vragen om experts met een allround expertise. Oftewel: mensen met een T-shaped profiel. Hidde vormt hier zelf een mooi voorbeeld van. “Als Engineer moet ik niet alleen kwaliteiten hebben in programmeren, maar ook expertise in security, Devops en Cloud Architectuur. Dit is essentieel, omdat je moet snappen hoe je systemen schaalbaar inricht.”

Wat Nederlandse Loterij uniek maakt wat Hidde betreft? “We krijgen de ruimte en vrijheid om zelf initiatieven op te zetten. Een voorbeeld van zo’n initiatief is het opzetten van een operations-team. We hebben vanuit ons team aangekaart dat er bepaalde security-practices zijn die overal terugkomen en dat er bepaalde standaarden moeten komen op het gebied van cloud-infrastructuur. Het operations team zorgt nu voor deze standaarden, waardoor de security organisatiebreed beter gewaarborgd wordt. Teams kunnen eenvoudig deze standaarden overnemen en dat biedt veel voordelen op het gebied van security, beheer en kosten.”

 

Benieuwd naar de datavisie binnen Nederlandse Loterij? Je leest het hier. Liever direct kijken of we een vacature hebben die bij je past? Bekijk hier onze openstaande vacatures.

Verhalen

Teamspelers aan het woord

Alle unieke talenten van onze collega’s komen samen in diverse teams. Zo werken we met elkaar aan een gelukkig, gezond en sportief Nederland. 
Ben jij benieuwd wie in jouw team zit?

Read our stories
Modern Data engineering with software best practices

Modern Data engineering with software best practices

Leer ons nog beter kennen