Automatische provisioning en DevOps voor NS

Het legacy systeem VKL van NS moest vervangen woorden door toekomstbestendige applicaties ten behoeve van de bijsturing van dienstregeling, personeel en materieel. Dit project noemde NS het Besturing 3.0 programma. 

Klant

NS

NS

Markt

Reizigersvervoer

Thema

Business Applications

Publicatiedatum

11 december 2020

NS station

De uitdaging bij dit project

Het besturing 3.0 programma behelst een uitgebreide en complexe omgeving, waarvoor een flexibele ontwikkelstraat (OTAP) nodig is. Het aanmaken van verschillende omgevingen in de ontwikkelstraat was een erg tijdrovend proces. De configuratie en het synchroon houden van de verschillende omgevingen was namelijk foutgevoelig en vereiste daarom een zeer zorgvuldige uitvoering. Dit alles om ervoor te zorgen dat een correcte en representatieve omgeving beschikbaar is op het moment dat de omgeving wordt overgedragen van de ontwikkelteams naar de operatie.   

De ontwikkel- en testomgevingen (OT) zijn in beheer bij de NS, de acceptatie- en productieomgevingen (AP) worden als managed service afgenomen bij Conclusion. Naast de regie op OTAP, hebben NS en Conclusion samen aan automatische provisioning gewerkt. Doel van de samenwerking was het verkrijgen van een gezamenlijk beeld over platform en configuratie, zodat wijzigingen op omgevingen sneller geïmplementeerd kunnen worden en het aantal fouten of verstoringen afneemt. Er is gebruik gemaakt van verschillende technieken, zoals GitHub, Jenkins, Puppet, Oracle Weblogic, Java, Oracle RAC, Mavent, Ant en Linux.

Hoe heeft Conclusion dit aangepakt?

Bij de uitvoering van het traject is een aantal uitgangspunten van Continuous Delivery in acht genomen en gebruik gemaakt van model gebaseerde werkwijzen. De Development Engineers en de Operations Engineers werkten bij dit traject intensief met elkaar samen. Om ervoor te zorgen dat alle engineers voor de omgeving een gezamenlijk doel voor ogen hadden, was een goede definitie van de omgeving noodzakelijk. De engineers werkten bij elkaar, op dezelfde locatie aan hetzelfde platform en configuratie. Dit zorgde voor een prettige samenwerking en liet de afstemming over details van het traject soepel en snel verlopen.

De definitie van de omgeving werd volledig omgezet in een Puppet model en opgeslagen in een gedeelde GIT repository. Dankzij het Puppet model is het mogelijk om de omgeving hoog frequent op te bouwen, te wijzigen en te toetsen op juistheid. Iedere wijziging die leidt tot een niet-werkende omgeving kan binnen enkele seconden worden teruggedraaid. Dankzij het gebruik van een GIT repository zijn alle wijzigingen direct voor alle engineers beschikbaar en wijzigingen traceerbaar. Op deze wijze werkte het team van NS en Conclusion iteratief naar een goed werkend platform, volgens een moderne DevOps wijze.

“Mijn primaire doelstelling is om ons legacy VKL systeem zsm uit te faseren. In 2016 is automatische provisioning als strategisch verbeterpunt onderkend en heeft Conclusion Mission Critical hiertoe opdracht verkregen. In eerste instantie is dit projectmatig ingestoken maar dit leverde voor Besturing 3.0 onvoldoende momentum. In goed gezamenlijk overleg hebben we derhalve een gezamenlijke Task Force geformeerd waarmee we wel de gewenste resultaten hebben bereikt. Inmiddels zetten we deze vorm van samenwerking door in DevOps verband. Bottom-line is dat we qua provisioning en deployment van dagen naar uren zijn gegaan. Al met al heb ik veel vertrouwen in dit ingeslagen pad." - Harmen Hummel, Besturing 3.0 programma manager van NS

Een mooi resultaat

Dankzij de uitvoering van het traject, waarbij NS en Conclusion intensief met elkaar hebben samengewerkt, is er een enorme verbetering gerealiseerd qua snelheid en flexibiliteit in het opbouwen en onderhouden van de verschillende omgevingen in de ontwikkelstraat (OTAP).

Om een voorbeeld te geven: een volledige omgeving bestaat uit Oracle RAC, Oracle WebLogic, data feeds en meerdere JEE applicaties als hoog beschikbaar systeem over tientallen server nodes. In het verleden duurde het meerdere dagen om deze omgeving op te bouwen, nu kan dat binnen een half uur.

Naast de genoemde verbetering qua snelheid en flexibiliteit, is er nu ook volledig grip op de configuratie van de verschillende omgevingen. En, dankzij de volledige automatisering van configuraties, is de promotie van wijzigingen door de ontwikkelstraat (OTAP) een stuk minder complex geworden.

De verbeteringen beperken zich echter niet alleen tot de techniek, ook op het gebied van samenwerking zijn namelijk grote stappen gezet. De onderlinge communicatie, het begrip van de verschillende omgevingen en daarmee de samenwerking tussen engineers en operations is sterk verbeterd.  Mede dankzij de DevOps werkwijze zijn de engineers nu in staat om proactief op wijzigingen in te spelen, in plaats van reactief zoals voorheen. Dit maakt niet alleen de kwaliteit beter, maar zorgt ook voor een toename in het werkplezier.

Waarom heeft NS voor Conclusion gekozen?

Conclusion kan een team aanbieden dat in staat is om de volledige set aan producten, netwerken en onderliggende operating systemen te ondersteunen en automatiseren. Hierdoor is er telkens een specialist aanwezig om een bepaalde keuze te toetsen en valideren. Door onze uitgebreide kennis van DevOps, is ons team uitermate geschikt om transities te begeleiden en processen over te zetten. Wij behoeden onze klanten voor eventuele valkuilen en onnodige vertragingen, mede dankzij de goede relaties met onze partners en leveranciers (van software en ondersteunende producten). Wij nemen verantwoordelijkheid voor een werkend en effectief eindresultaat.  Dat zorgt voor vertrouwen en waardering bij onze klanten.

Benieuwd naar onze andere cases?

Meer weten over dit project óf wat we voor jouw organisatie kunnen betekenen?

Marc de Beer

Marc de Beer

Directeur
Mdebeer@conclusion.nl