11 maart jongstleden vond het Tweakers op Stoom-webinar plaats. Dit webinar van NS toonde hoe platform-engineering en herbruikbare 'bricks' softwareontwikkeling versnellen, waardoor nieuwe ideeën soms binnen één dag in productie kunnen gaan. Daarnaast werd het serverless AWS-systeem voor de NS 'PrijsTijd Deals' gepresenteerd, dat via realtimedata dynamische kortingen mogelijk maakt om reizigers beter over de dag te spreiden. Samen toonden de presentaties hoe moderne IT zowel de interne ontwikkelprocessen als de reizigerservaring moet verbeteren. Heb je het webinar gemist? Dan kun je het hieronder terugzien.
Webinar in twee delen
IT-banen bij de NS
Bas Vegter en Johan Veenstra legden uit hoe zij via platform-engineering en herbruikbare 'bouwblokken' softwareontwikkeling sneller, veiliger en meer autonoom maken voor honderden IT-teams. Ze introduceerden het concept om van een goed idee binnen één dag naar een live productieomgeving te gaan door middel van standaardisatie en verregaande automatisering. Vervolgens presenteerde software-engineer Didi de Jong de overgang van statische naar dynamische bepaling van kortingen via doorontwikkeling van de NS 'PrijsTijd Deals'. Dit serverless systeem op basis van AWS analyseert realtime de capaciteit en drukte om reizigers via kortingen beter over de dag te spreiden. De presentatie ging diep in op de technische uitdagingen, zoals het waarborgen van dataconsistentie in een asynchrone architectuur en het beheren van complexe trajectinformatie.
Meer dan duizend actieve pipelines
Platform-engineering bij NS versnelt softwareontwikkeling door een centraal developerplatform dat het leveren van software eenvoudiger, sneller en veiliger maakt. Teams werken met herbruikbare CI/CD-bouwblokken ('Pipeline Building Bricks') die ze flexibel kunnen combineren om hun eigen pipelines samen te stellen, in plaats van vast te zitten aan starre templates.
Het platform vergroot bovendien de autonomie van ontwikkelaars via self-service: zij kunnen zelf middelen en diensten afnemen zonder afhankelijk te zijn van andere teams, met als doel om binnen één dag van idee naar productie te gaan. Tegelijk wordt de cognitive load verlaagd doordat informatie en diensten centraal beschikbaar zijn, alleen relevante informatie wordt getoond en beveiligings- en kwaliteitsregels al in de bouwblokken zijn verwerkt ('compliant by design').
Snelle feedbackloops, zoals automatische validatie van pipeline-templates voordat ze draaien, helpen fouten vroeg te ontdekken en wachttijd te verminderen. Inmiddels gebruikt ongeveer een derde van alle IT-projecten bij NS deze aanpak, goed voor meer dan duizend actieve pipelines.
Dynamische kortingen bepalen
Het systeem achter de realtime dynamische treinkaartjes (PrijsTijd Deals) bij NS is een serverless architectuur op AWS, gebouwd met Lambda-functies door het team Microservices, Reizen en Prijzen. Voor de dynamische bepaling van kortingen werkt NS samen met Wiremind, waarvan het revenue-managementsysteem Cayzn kortingen berekent op basis van vraag en bedrijfsregels, terwijl NS zelf de basisprijs en capaciteit bepaalt.
Omdat NS geen stoelreserveringen kent, werkt het systeem met virtuele capaciteit: op basis van check-in en check-outdata en historische patronen wordt voorspeld hoe druk een trein zal zijn. Deze gegevens gaan naar Cayzn, dat bepaalt hoeveel tickets met welk kortingspercentage verkocht mogen worden. De data worden opgeslagen in DynamoDB, waarbij dagelijks nieuwe tabellen worden aangemaakt om de grote datavolumes beheersbaar te houden.
Ticketverkoop wordt asynchroon verwerkt via SQS-queues: de capaciteit wordt verlaagd, Cayzn wordt geïnformeerd en de verkoop wordt opgeslagen voor controle. Mechanismen zoals idempotency en eventual consistency voorkomen fouten, terwijl een nachtelijke batch de systemen volledig synchroniseert. Voor het testen van deze asynchrone processen gebruikt NS Cucumber en Gherkin, met een eigen wrapper rond de CDK-stack om berichtenstromen te verifiëren.
Veel vragen
De aanwezige tweakers hadden na afloop veel vragen. Terugkerende thema's daarbij waren de balans tussen team-autonomie en standaardisatie via het developerplatform, de strategische keuze voor Amerikaanse cloudproviders versus Europese soevereiniteit, en de integratie van security (SSDLC) en AI-ondersteuning in de dagelijkse workflow. De technisch meest inhoudelijke vragen richtten zich op de realtime capaciteitsbepaling via check-indata zonder zitplaatsreserveringen, het beheer van datasynchronisatie (eventual consistency) tussen NS en externe partners, en het ontwikkelen en testen van complexe asynchrone cloud-architecturen.
Heb je naar aanleiding van het (terugkijken van het) webinar nog meer vragen? Stel ze dan hieronder.
Dit artikel is geen redactioneel artikel, maar gesponsord en tot stand gekomen dankzij NS en Tweakers Partners. Tweakers Partners is de afdeling binnen Tweakers die verantwoordelijk is voor commerciële samenwerkingen, winacties en Tweakers events zoals meet-ups, Developers Summit, Testfest en meer. Bekijk hier het overzicht van alle acties en events. Mocht je ideeën met ons willen delen over deze vorm van adverteren, dan horen wij dat graag. Hierover kun je met ons in gesprek via [Discussie] Reclame algemeen].