Het ondersteunen van de 'devops way of working' staat bij NS hoog op de agenda. Het past in de IT-visie van het vervoersbedrijf om productteams te ondersteunen middels self-service, met veel gebruiksgemak maar op een veilige manier. De devops-transformatie naar een techcultuur met autonoom opererende teams die cloudplatformen gebruiken, moet het bedrijf helpen sneller maar ook betrouwbaarder te innoveren. Het platform voor developers, NS PaaS, maakt deel uit van de transformatie. Omdat het een crossplatform-oplossing betreft, gebouwd in meerdere clouds (public en private), is daarbij voor onafhankelijke tooling in plaats van native tooling gekozen.
Deel uitmaken van de verandering
Mark Dalmulder, product owner Site Reliability Engineers bij NS, koos in 2019 bewust voor NS. "Het is interessant om deel uit te maken van deze grote transformatie.” De sre’s zijn een centraal aanspreekpunt voor productteams binnen NS. Ze werken samen met verschillende interne en externe leveranciers van hosting en tooling voor deze teams. Zijn Britse collega Tom O’Brien, lead engineer voor"Met IT snel kunnen inspelen op de veranderingen is cruciaal"
NS PaaS, woont sinds zeven jaar in Nederland en werkt nu tweeënhalf jaar voor NS. "Ik werkte hiervoor bij een scale-up waarbij ik min of meer de grenzen bereikte van wat ik er nog kon doen op technisch gebied. NS heeft daarentegen een enorm complex IT-landschap, wat mij aansprak. Als lead engineer voor NS PaaS richt ik me nu op het bouwen van een intern developerplatform.”
IT Innoveert NS
De transformatie naar een devops-cultuur bij NS is hard nodig, vertelt Mark. “NS heeft de ambitie om Nederland bereikbaar te maken door mobiliteit van wereldklasse te bieden, juist ook in coronatijd. Niet van station naar station, maar van deur tot deur. Het is daarbij cruciaal om met IT snel in te kunnen spelen op de veranderingen. We hebben veel geïnvesteerd in veiligheid en stabiliteit, maar dat is ten koste gegaan van wendbaarheid. Het naar productie brengen van updates kon maanden duren, door veel handovers van ontwikkelaars naar beheerders, via stroperige processen met ingewikkelde formulieren. Dat zijn we aan het veranderen.” Zo’n verandering vraagt aanpassingen op het vlak van mensen (cultuur, kunde en vaardigheden), processen (zo veel mogelijk geautomatiseerd) en techniek (self-service en cloud). “Met NS PaaS willen we bereiken dat developers zich kunnen richten op het ontwikkelen en beheren van hun producten, met alle tools die ze nodig hebben, zonder dat ze hoeven om te kijken naar het platform dat ze ervoor nodig hebben."
Kijkje onder de motorkap
NS PaaS staat binnenkort, op 19 januari, centraal tijdens een webinar dat NS samen met Tweakers organiseert. Tijdens het webinar gaan Tom en Armin Čoralić - Platform & Container Architect – in op de keuzes die zijn gemaakt bij de ontwikkeling van het platform. Tom: "We delen onder meer de toolkeuzes die we maken, hoe we alles integreren en op welke punten we het leven van onze developers gemakkelijker maken." Omdat het containerplatform gebouwd is op zowel Azure als AWS, is er niet gekozen voor native tooling. "We willen crossplatform zijn omdat we daarmee op de lange termijn "We willen crossplatform zijn omdat we daarmee op de lange termijn flexibeler zijn"
flexibeler zijn. Daarom hebben we steeds voor onafhankelijke opensource tooling gekozen, waaronder Prometheus, Loki en Grafana. Voor Kubernetes is dat allemaal nog redelijk standaard, maar daarnaast gebruiken we bijvoorbeeld ook Capsule, een vrij nieuwe toepassing om multi-tenantclusters op Kubernetes te managen. Verder gebruiken we Kyverno om policies te managen, Cert Manager voor de certificaten en Pinniped om single sign-on binnen clusters te regelen."
Deployments met Terraform
Tijdens het webinar willen de sprekers een overzicht geven van de gebruikte tooling voor het NS PaaS-platform en de context rond de gemaakte keuzes schetsen. Daarna duiken ze in de uitdagingen (zowel de technische als andere) die het team tegenkwam bij het opzetten van het platform. Mark: “We gaan meer in detail bespreken hoe we met behulp van Pinniped cluster-access hebben ingericht voor ontwikkelteams. Verder staan we stil bij hoe we multi-tenantclusters mogelijk maken en hoe we deployments doen met Terraform. Als je alles doet met Terraform kom je bepaalde uitdagingen tegen, en daar gaan we ook op in. Wat we ook zeker willen vertellen, is hoe we het lifecycle-management van het platform oppakken en wat onze benadering was voor customer-onboarding.”
Inmiddels verkeert NS PaaS in een gevorderde bèta-staat. Van de circa 160 ontwikkelteams binnen NS zijn er nu achttien het platform aan het testen. Na de officiële lancering, begin 2022, volgen er meer. Mark: "Ik verwacht niet dat alle teams het meteen zullen gebruiken. Het IT-landschap binnen NS is complex en we hebben te maken met legacy-applicaties en leveranciers. Het kan jaren duren voordat alles over is naar de cloud, maar we zullen developers zoveel mogelijk aanmoedigen om nieuwe projecten op dit platform te ontwikkelen. We dringen standaardisatie niet op, maar bieden een gouden pad aan dat te aantrekkelijk wordt om er niet voor te kiezen."
Webinarprogramma* 19 januari
19.00 - 19.05 - Welkomstwoord en opening door Luuk
19.05 - 19:25 - Talk Mark (Nederlandstalig)
19.25 - 19:30 - Pauze
19:30 - 20.15 - Talk Tom en Armin (Engelstalig)
20.15 - 20.30 - Q&A
*Programma onder voorbehoud
Keuzes maken
De belangrijkste boodschap die Mark en Tom willen meegeven tijdens het webinar is dat NS een organisatie is waar interessante dingen gebeuren op IT-gebied. Mark: "Onze primaire focus is het containerplatform, maar we kijken al verder. We verzamelen feedback van onze developer-teams om te kijken waar zij behoefte aan hebben. We kunnen bijvoorbeeld zaken zoals het standaardiseren en out-of-the-box leveren van serverless diensten gaan ontwikkelen, mocht dat nodig zijn." Tom verwacht veel feedback van deelnemers tijdens het webinar. "Mijn ervaring is dat iedereen die met Kubernetes werkt wel een andere mening heeft. Een vraag die ik zeker verwacht is 'waarom gebruik je niet mijn favoriete tool?' Mijn antwoord is dan altijd: omdat we onze eigen favoriete tool hebben gekozen. Er zijn honderden verschillende smaken binnen Kubernetes, je moet nu eenmaal keuzes maken. We zullen laten zien waarom we juist deze keuzes hebben gemaakt. Meld je dus aan!"
Webinar van Tweakers en NS
Het webinar van Tweakers en NS vindt plaats op 19 januari. Het webinar zit inmiddels vol, maar via onderstaande poll kun je je opgeven voor de wachtlijst en kun je aangeven dat je - als je toch niet aanwezig kunt zijn - het opgenomen webinar binnen twee werkdagen per mail ontvangt.
Wil jij een mail krijgen als er een plek vrij komt voor het webinar van Tweakers en NS?
Actievoorwaarden poll
- Meedoen kan tot 19 januari 2022 15.00 uur, alleen via de poll. Je kunt één keer aan de poll deelnemen.
- Deelnemers uit de poll die de optie "Ja, ik ontvang graag een mail en ook een mail met de link naar het opgenomen webinar" hebben gekozen, krijgen uiterlijk 17 januari bericht via een e-mail met de link naar de registratiepagina van het webinar. Als er geen plek vrij is gekomen, ontvangen deelnemers alleen een mail met de link naar het opgenomen webinar. De link naar het opgenomen webinar wordt 21 januari gestuurd.
- Deelnemers uit de poll die de optie "Nee, maar ik ontvang wel graag de opname van het webinar" hebben gekozen, krijgen uiterlijk 21 januari bericht via een e-mail met de link naar het opgenomen webinar.
- Deelnemers die niet voldoen aan bovengenoemde voorwaarden kunnen worden uitgesloten van deelname.
- Klachten kunnen via klachten@tweakers.net ingediend worden.
Dit artikel is geen redactioneel artikel, maar een advertorial en tot stand gekomen dankzij NS en Tweakers Partners. Dit is de afdeling binnen Tweakers die verantwoordelijk is voor commerciële samenwerkingen, winacties en Tweakers-events zoals Meet-ups, Developers Summit, Testfest en meer. Kijk hier voor een 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].