Advertorial

Door Tweakers Partners

NS: "Met containerplatform hebben we bewust niet gekozen voor native tooling"

11-01-2022 • 08:00

23 Linkedin

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?

Poll


De opties zijn uitgeschakeld omdat de deelname gesloten is

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].

Wat vind je van dit artikel?

Geef je mening in het Geachte Redactie-forum.

Reacties (23)

23
23
12
4
0
8
Wijzig sortering
"Met containerplatform hebben we bewust niet gekozen voor native tooling", daarna wordt de meest basic stack uitgelegd voor kubernetes.
Beetje jammere clickbait zo.
Ja wat ze bedoelen is niet de directe tools gebruiken van de cloud provider. Dus Terraform ipv Cloudformation of *juck* Azure ARM templates. Je zou denken dat dit common sense is omdat Terraform met kop en schouders boven andere tools staat, maar in grote organisaties is afwijken van "wat de grote leverancier biedt" al heel eng.

En daarnaast lees ik dat NS veel Open Source stack uitrolt om logging over meerdere cloudproviders te hebben (dan is iets als AWS Cloudwatch gebruiken minder logisch).

Relevante quote uit de tekst:
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 flexibeler zijn. Daarom hebben we steeds voor onafhankelijke opensource tooling gekozen, waaronder Prometheus, Loki en Grafana.

[Reactie gewijzigd door YaPP op 11 januari 2022 10:07]

Ja en die keuze begrijp ik dan ook wel. Prometheus, grafana stack is ook gewoon een hele goede en inzetbaar voor meer dan alleen cloudwatch kan bieden.

Dat het een bewuste keuze is snap ik ook nog, alleen het artikel geeft gewoon nul inzicht in waarom dat dan zo is.

Want even snel van cloudplatform wisselen met je flexibiliteit is nog steeds een enorme klus. Zelfs als je het agnostisch hebt opgebouwd.
Ik ga al een heel aantal jaren mee in deze wereld, en ik heb nog nooit een serieus bedrijf gezien wat wél de ‘native’ tools gebruikt. Terraform is wat dat betreft een de-facto standaard.
Je noemt "yuck azure arm templates". Daar ben ik her mee eens, maar heb je al eens gekeken naar bicep? Dit is een nieuwe taal van ms voor het vervangen van arm templates. Erg interessant!
Kubernetes is iets wat elk platform aanlevert, vermoed dat Terraform e.d. het voorbeeld zijn van niet native.

Heb zelf met Terraform gewerkt, niet mijn meest favoriete tool. Zitten een aantal bugs in die mij altijd een gevoel hebben gegeven dat ik deze tool niet kon vertrouwen. Heb eens een test cluster omver geschopt op de vrijdag avond met een deadline door dit issue: https://github.com/hashic...99#issuecomment-536477438

De stack komt aardig overeen met wat ik heb neergezet bij mijn vorige werkgever. Was leuk om mee te werken.

Het doel wat ze nu neerzetten is ook een goede, als SRE/platform team lever je weinig meerwaarde door alleen Kubernetes neer te zetten. Je zal een platform moeten neerleggen wat je developers ontzorgt en de mogelijkheid geeft via API's dit platform te gebruiken. Het moet makkelijker en begrijpelijker worden. Dat zijn de leukste uitdagingen in een platform bouwen.

[Reactie gewijzigd door init6 op 11 januari 2022 09:33]

"Het webinar van Tweakers en NS vindt plaats op 19 januari. Het webinar zit inmiddels vol" Hoe kan een webinar vol zitten?

[Reactie gewijzigd door ivorlandon op 11 januari 2022 08:34]

Goedemorgen! Het platform wat wij gebruiken kan tot een bepaald aantal gaan. En dit aantal is bereikt maar omdat we graag de kennis delen kun je via de poll aangeven of je de link naar het opgenomen webinar wil ontvangen. Of dat je je opgeeft voor de wachtlijst.
vol in 34 minuten? hoeveel seats kan jullie platform dan aan? 7 ofzo? }>
Dat zou wel onwijs snel zijn (en heel weinig plek). Maar vorige week hebben we al een oproep gedaan!
Ik heb eventjes naar de meeting invite gekeken.
Er word gebruik gemaakt van clickmeeting.com, en dat platform heeft maximaal 1000 deelnemers per webinar.
Paradoxaal genoeg hadden ze hier beter onafhankelijke tooling gebruikt zoals bijvoorbeeld Youtube. (Er zijn veel andere oplossingen) Die schalen wel naar onbeperkte viewers op een live stream. Ik blijf het grappig vinden dat grote bedrijven op zo'n limieten lopen. Als een start-up zo'n fout maakt (Lees, potentieel marketing actie niet volledig benutten) dan is dat een grote ramp. Hier lijkt dat 'normaal'.
Ja. Dit lijkt mij bij uitstek geschikt voor Twitch bijvoorbeeld.

Maar goed, zal wel een bewuste keuze zijn ;)
Wat is er onafhankelijk aan Youtube? Zit je gelijk vast aan Google...
NS infrastructuur he. Er is vast nog wel plek in de eerste klas webinar.
Hun 2 mbps SDSL uplink zit vol?
Eerste PaaSdag is vroeg, dit jaar. :+
Waarom wordt hier niet gewoon van een livestream van o.a. YouTube gebruik gemaakt?
Als ik dit lees: NS heeft daarentegen een enorm complex IT-landschap, wat mij aansprak. vraag ik mij onmiddellijk af of dit een positief of een negatief is voor NS als organisatie.

Dat het sommige medewerkers aanspreekt begrijp ik, maar organisatorisch heb ik dan grote twijfel over beheer(s)baarheid en (langere termijn) betrouwbaarheid. Waarom zou "complex" iets positiefs zijn anders dan sexy voor de werknemers?
Wat ik mij dan serieus afvraag, waarom heb je als bedrijf, wat als primaire business het besturen en onderhouden van treinen heeft, zo’n waanzinnige devops toko? Ik snap dat je niet even een stukje treinmanagement tool bij een leverancier afneemt, maar waarom hou je devops in eigen beheer?
Mijn ervaring met uitbesteden: je krijgt nooit de kwaliteit die een eigen in-house team kan leveren en betaalt daar nog meer voor ook. Volgens mij heeft ieder bedrijf van een beetje omvang z'n eigen ontwikkel- en beheerafdeling.
Komt bij dat devops maatwerk is omdat bedrijfsculturen en hun werkwijzen verschillen, dus dat behelst meer dan een container platform (Kubernetes, CI/CD omgeving, etc.) inrichten en de developers op cursus sturen. Veel mensen in het bedrijf gaan ermee te maken krijgen, en elk bedrijf werkt weer anders.

Mijn ervaring met dingen als servers/services extern laten beheren is verder vaak dat ik aan het wachten ben op een ander voor relatief simpele aanpassingen omdat ik er zelf niet aan mag komen om maar niet verantwoordelijk ervoor te zijn, terwijl ik uit m'n hoofd weet wat er moet gebeuren. Vendor management is niet zo leuk :')

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee