Lancering van Wegstatus 3.0

In het afgelopen jaar zijn er grote wijzigingen aangebracht aan het Wegstatus platform, waarvan het merendeel niet te zien is of opgemerkt wordt door de gebruikers.

In deze blog geven we een tipje van de sluier in het wat en waarom van deze ontwikkelingen.

Het Wegstatus platform verwerkt meerdere datastromen die op verschillende manieren worden aangeboden. Hier wordt onderscheid gemaakt in:

  • Statische data
  • Actuele data

Denk bij statische informatie aan informatie die het Nederlandse wegennet beschrijft. Actuele data bevat informatie over de actuele situatie op de weg, zoals de locatie van een ongeval, een rijbaanafsluiting of een brugopening. Bij dit type data is het van belang dat het snel, efficiënt en betrouwbaar verwerkt wordt. Wanneer dit niet gebeurt, dan is de data mogelijk niet meer relevant als het bij de gebruikers komt.

In Wegstatus 2.0 zijn er een aantal uitdagingen met betrekking tot verwerking van gegevens. Periodiek wordt er een pull gedaan, zeg iedere vijf minuten, bij een databron om de situatie van dat moment te vragen. 

De volgende vragen kunnen hier worden gesteld:

  • Worden er gebeurtenissen gemist die tussen twee pull momenten vallen?
  • In het slechtste geval zal een actuele situatie pas vijf minuten later verwerkt worden. En is die dan nog wel relevant?
  • Hoeveel situaties worden er dubbel verwerkt?

Zoals wanneer er een brug opent en sluit, tussen twee pull momenten in, dan kan dit onopgemerkt hebben plaatsgevonden zonder registratie Wegstatus.

Wanneer er periodiek een pull wordt gedaan om de actuele situatie te krijgen, kan het voorkomen dat er situaties verwerkt worden die bij de vorige pull ook onderdeel waren van de actuele dataset. Ieder keer wordt de hele dataset verwerkt om te bepalen of de situatie al bekend is of nieuw is.

Dit kan sneller en efficiënter. De digitalisering van de wereld zorgt ervoor dat er steeds meer data beschikbaar komt en verwerkt moet gaan worden, het platform zou daar eigenlijk in mee moeten groeien. De bestaande structuur van Wegstatus 2.0 maakt dat groei en doorontwikkeling een moeilijk en risicovol proces is.

Daarom zijn we gaan nadenken over een nieuwe infrastructuur waarbij schaalbaarheid en efficiëntie centraal staan.

Gebeurtenis gedreven en schaalbaarheid

Eerder is benoemd dat een deel van de actuele situatie die wordt gepulld al bekend is, het verwerken hiervan is zonde van de tijd en rekenkracht.

Wanneer de databron de situatie kan toesturen op het moment dat die is gewijzigd, dan geldt altijd:

  • De situatie is nieuw en actueel. Daarmee is iedere verwerking nuttig.
  • De situaties worden zonder vertraging verwerkt in Wegstatus platform.

Een gevolg is wel dat er meer pieken en dalen zijn in dataverwerking. De verwachting is dat er tijdens de ochtendspits meer situaties te verwerken zijn dan ‘s nachts.

Meegroeien, of schalen, van de applicatie houdt in dat het systeem kan omgaan met veranderende vraag. Een oorzaak is dat meer data te verwerken is, maar ook dat het aantal gebruikers of aangeboden diensten groeiend is.

Een optie is om snellere CPU’s en meer geheugen toe te voegen aan het systeem waarop Wegstatus platform wordt uitgevoerd, het zogenaamde verticaal schalen. Dit kan niet oneindig en is kostbaar, want hiervoor zou je steeds weer nieuwe hardware moeten aanschaffen.

Aanpassingen aan de structuur van de software en de infrastructuur kunnen hier ook in bijdragen. Wanneer zo’n dataset met actuele gegevens wordt verwerkt kan dit 1-voor-1, maar dit zou ook met meerdere tegelijk kunnen. 

Diagram

Description automatically generated

Figuur 1: Verwerk 1-voor-1

Dit is horizontaal schalen. Daarbij worden applicaties of processen van Wegstatus platform meerdere keren uitgevoerd. Concreet kunnen daarmee in dezelfde tijd meer situaties op de weg verwerkt worden, waardoor meldingen sneller aankomen bij de gebruiker.

Shape

Description automatically generated with medium confidence

Figuur 2: Parallelle verwerking

Google Cloud

Het Wegstatus platform bestaat uit meerdere applicaties en als hier ook nog eens meerdere kopieën van operationeel zijn, dan heeft dat gevolgen voor onderhoud en complexiteit. Om deze aanpassingen te kunnen uitvoeren is er gekozen voor de diensten van Google Cloud. 

Hier is een configuratie gemaakt van standaarddiensten en maatwerk. Standaard diensten zijn eenvoudig in te zetten en het onderhoud ligt bij Google Cloud.

Om de verschillende applicaties van Wegstatus platform beheersbaar te houden is gekozen voor Google Kubernetes Engine. Dit is een tool die (met de juiste maatwerk instellingen) zorgt dat de applicaties operationeel zijn met het juiste aantal kopieën om de actuele situaties van dat moment snel te kunnen verwerken.

Met deze aanpassing is de integratie tussen ontwikkeling en operatie sterker geworden. Stap voor stap wordt er gewerkt aan een wijze waarbij er continu aanpassingen in de software naar de gebruikers gebracht kan worden.

Vervolg

Zo zijn veel functies herschreven en verbeterd, zodat de taak efficiënter uitgevoerd kan worden of de aanpasbaarheid van het onderdeel te verbeteren. Dit alles kan impact hebben op de functionaliteiten en vergt een nauwkeurige controle of na de aanpassing nog steeds het juiste wordt gedaan.

De komende tijd wordt er gewerkt aan verdere migratie van functies van Wegstatus 2.0 naar 3.0. De bestaande functies zijn sneller en efficiënter, en grotere datastromen kunnen verwerkt worden. Deze nieuwe architectuur zorgt ervoor dat Wegstatus platform klaar is voor de toekomst en maakt het mogelijk dat nieuwe functies eenvoudiger toegevoegd kunnen worden.

Meer informatie of vrijblijvende demo?

Wij laten graag zien wat je met het combineren van databronnen kunt doen.
Neem contact op