Met de implementatie van een nieuwe Hybride Integratie Platform (HIP) ondergaat de NS momenteel een significante digitale transformatie. Skupper speelt hierin een belangrijke rol. Taco Nieuwenhuis, Solution Architect bij de NS, legt uit waarom het bedrijf voor deze aanpak kiest. De technologie komt ook ter sprake tijdens het webinar op woensdag 8 november, waarvoor je je onderaan dit artikel kunt aanmelden.
Momenteel verwerkt de NS meer dan 1 miljard api-verzoeken per maand, wat overeenkomt met ongeveer 600 verzoeken per seconde. De snelle groei van het datavolume gaat hand in hand met een toename van het aantal applicaties dat breed binnen de NS wordt ingezet. De huidige infrastructuur is niet meer afgestemd op deze ontwikkelingen. Daarom oriënteert de NS zich op een transitie naar een decentraal ingericht platform dat alle data-uitwisselingen gaat faciliteren. Met het Hybride Integratie Platform (HIP) streeft de NS ernaar een sterk datagedreven organisatie te worden. Skupper, en dan specifiek de Red Hat-variant ervan, speelt hierbij een sleutelrol.
Skupper faciliteert een L7 Virtual Application Network (VAN) tussen verschillende K8S-platformen, ook wanneer die verspreid staan in een hybride cloudomgeving. Dit kunnen OpenShift-clusters zijn, maar bijvoorbeeld ook AKS, EKS of iedere andere K8s-flavor. Het downstreamproduct van Red Hat staat bekend als Service Interconnect. “Praktisch gezien worden services die vanuit één cloud aangesloten zijn op het VAN, virtueel exposed in de andere clouds, zodat ze transparant beschikbaar worden voor de daar draaiende services. Wanneer twee applicaties met elkaar via het VAN communiceren, kunnen ze op twee totaal verschillende platformen draaien zonder zich daarvan bewust te zijn en dus ook zonder dat er verder iets speciaal voor hoeft te worden ingericht”, licht Taco toe. “Clusters toevoegen en andere configuratietaken zijn vrij eenvoudig, en last but not least werkt Skupper zonder tunnels of firewall-aanpassingen en hoeven applicaties niet te worden aangepast.”
Asynchrone integraties
Skupper wordt nogal eens in een adem genoemd met andere service-mesh-oplossingen zoals Istio en Linkerd. Service-mesh-oplossingen richten zich echter specifiek op uitdagingen binnen een micro-services applicatie-architectuur. Ze faciliteren en standaardiseren basiscommunicatiefuncties als loadsharing, discovery en encryptie, maar ook observability features als logging, tracing en metrics collectie. Services kunnen zich hiervoor registreren, maar dit speelt zich veelal af binnenin het applicatiedomein tussen microservices op een enkel (K8S-)platform. Taco: “Er bestaan veel bruikbare en nuttige service-mesh-toepassingen en de technologie is mijns inziens een waardevolle stap voorwaarts in de betrouwbaarheid en robuustheid van microservice-architecturen. Maar het is wel een andere scope dan Skupper.”
Skupper ondersteunt HTTP 1.1 en 2.0, gPRC en TCP, en gebruikt verder de Qpid-routers om een eigen interplatform-mesh neer te zetten tussen de aangesloten K8s-platformen. “Dit mesh-netwerk gebruiken wij momenteel om asynchrone integraties te faciliteren. Op dit moment is AMQPs de standaard voor onze asynchrone patronen, maar in de nabije toekomst willen we over dezelfde backbone MQTTs gaan ondersteunen ”, aldus Taco.
Veiligheid en schaalbaarheid
De NS kiest voor een devops-geïnspireerde aanpak. Applicaties die data aanbieden aan andere partijen zijn zelf verantwoordelijk om de toegang tot hun data te managen. Taco: “Ze dienen hiervoor een broker in te richten en doen dat cloud-native in hun eigen applicatiedomein, of maken gebruik van een standaard AMQ Broker op ons integratieplatform. In alle gevallen autoriseren zij zelf alle afnemers van hun data, waarbij de componenten die op het integratieplatform draaien Keycloak (Red Hat SSO) gebruiken. Tenslotte zijn alle Skupper-connecties netjes versleuteld met mTLS.”
“Een van de mooie eigenschappen van Skupper is dat het enorm lichtgewicht is, en volledig stateless”, vervolgt Taco. “Dat betekent dat we zonder beperking horizontaal en verticaal kunnen schalen. Bovendien zijn het cpu-gebruik en de toegevoegde latency dusdanig laag dat een enkele Skupper Qpid-router al snel duizenden berichten per seconde kan verwerken, zodat de minimale schalingsunit behoorlijk hoog wordt en resources niet snel de capaciteit zullen beperken. We deployen verder natuurlijk met een N+1 uitgangspunt zodat we onderweg geen single-points-of-failure hebben.”
“AMQP levert dynamische flow control/management tussen connecties en sessies. Daaronder levert het VAN zelf nog cost- en capacity-based routing. Het onderliggende mesh zorgt er verder voor dat alternatieve routes worden gebruikt als de primaire routes tijdelijk niet beschikbaar zijn. Wanneer bijvoorbeeld een directe verbinding tussen twee platformen eruit ligt, maar beide nog wel verbonden zijn met een derde platform, dan kan dat derde platform worden gebruikt als alternatieve route.”
Waarom Red Hat
De toegevoegde waarde van Red Hat Service Interconnect ten opzichte van upstream Skupper is momenteel vooral te vinden in de observability, stelt Taco. “Er is een dedicated dashboard gebouwd om het Skupper core mesh-netwerk binnen OpenShift te monitoren. Daarnaast levert Red Hat Enterprise support op de componenten en de architectuur, wat essentieel is wanneer je beseft dat het de bedoeling is straks bedrijfskritische ketens aan te sluiten. Iedereen weet welke commotie er - terecht overigens - ontstaat wanneer NS problemen ondervindt.”
De technologie achter Skupper is vrij nieuw en de Red Hat-variant is pas afgelopen juli commercieel beschikbaar gemaakt. De NS zal daarmee één van de eerste organisaties in Europa zijn die hem gaan implementeren. Brengt dit geen risico met zich mee? Taco: “We zijn natuurlijk niet over één nacht ijs gegaan. Ruim een jaar geleden zijn we begonnen om de vroege versies te valideren en door de mangel te halen. We hebben maandenlang intensief getest en eigenlijk zat het met de stabiliteit, performance en robuustheid al snel goed. Daarna zijn we gaan focussen op de beheersbaarheid en hoe we applicaties die cloud-native buiten ons integratieplatform leven, willen aansluiten. Die laatste factoren hebben meer tijd gekost, maar vormen niet snel een bedreiging.”
“De NS zet vooral in op een devops-IT-model, ook voor integratie. We willen dus niet (meer) een centrale integratie-afdeling die integraties bouwt voor productteams zonder zelf domeinkennis te bezitten. Dit verhoogt het risico op fouten en maakt beheer en onderhoud duurder dan noodzakelijk. Bovendien vormt zo’n centrale integratie-afdeling een organisatorische bottleneck, met vaak een lange backlog. We willen integratie zoveel mogelijk bij de teams neerleggen en de integratie-architectuur moet hiervan een reflectie zijn. Verder speelt dit alles zich noodgedwongen af in een gedistribueerde hybride cloud-comgeving (de NS gebruikt twee publieke clouds en twee verschillende private datacenters, -red.).”
Daarop voortbordurend kwam men op het idee van een Hybride Integratie Platform, gebouwd op een transparante backbone, waarbij vooral de aansluiting van bestaande applicaties in de verschillende clouds zo eenvoudig en transparant mogelijk moest zijn. Het Skupper-VAN met z’n onderliggend mesh in combinatie met het verplichte gebruik van AMQP 1.0 door alle applicaties vult deze behoefte voor de NS in.
Taco: “Voor alle duidelijkheid: binnen de NS draaien meer dan duizend applicaties en die worden gemaakt en beheerd door meer dan honderd productteams. Al die applicaties gebruiken data van elkaar en moeten dus allemaal op de een of andere manier worden geïntegreerd. Een significant aantal ervan gebruikt natuurlijk synchrone technologie waarvoor we api management gateways hebben ingericht. Voor deze categorie gebruiken we momenteel geen Skupper- of andere Red Hat-technologie. Daarentegen gaan de high-volume event/message/streaming-based asynchrone integraties op den duur allemaal het VAN gebruiken, is de verwachting.”
De devops-ambitie van de NS
Taco benadrukt dat de NS er niet is met enkel de Skupper-oplossing: “Onze bestaande ESB-integratieoplossing gaat in de nabije toekomst richting EOL. Dat betekent dat we voor alle aangesloten applicaties alternatieve maar gelijkwaardige functies moeten aanbieden op een nieuw platform en de overstap daar naartoe dienen te faciliteren. Dit vormt de grote stok achter de deur om een Hybride Integratie Platform te gaan bouwen en dit betekent dat we - naast transparante intercloud-connectiviteit - ook ESB-achtige broker- en adapter-functies nodig hebben op het platform zelf. We hebben dit momenteel als een MVP++ beschikbaar in productie. Ook voor deze aanvullende componenten gebruiken we componenten uit de Red Hat-integratiesuite, namelijk de AMQ Broker (upstream: ActiveMQ) en Fuse Adapters (upstream: Camel). Die broker-functie voegt weer een hele andere dimensie toe aan de architectuur, want hij is stateful. Met name de brokers komen met een grote verantwoordelijkheid bij failures en disasters; message acceptance/delivery moet natuurlijk altijd doorgaan. Dit betekent dat we ons bewust moeten zijn van de dynamiek en het gedrag van de gehele stack tijdens exceptionele omstandigheden, soms tot aan hardware, storage en bekabeling aan toe.”
Daarnaast is er de devops-ambitie van de NS. Taco: “De Skupper-aansluiting voor productteams is vrij statisch, maar als ze brokers en/of adapters nodig hebben, is het de bedoeling dat ze die zelf bouwen, configureren, deployen en beheren. We werken er dus hard aan om het platform zo self-service mogelijk te maken, met standaard configuraties, voorgeconfigureerde aansluiting op centrale diensten als security, monitoring, tracing, logging, en dedicated CI/CD-straten voor GitOps.”
Voorbereid op de toekomst
Uiteindelijk moet dit alles voor de NS een aanzienlijke besparing betekenen. De productteams zullen wendbaarder worden, en minder afhankelijk van elkaar én van centrale partijen. Taco: “Het resultaat is een kortere time-to-market door het elimineren van vertragende knelpunten. Gezien het tekort aan IT-specialisten in de markt is een efficiënte inzet van IT-expertise cruciaal. Bovendien is de architectuur nu beter uitgerust voor een toekomst waarin treinen meer en meer functioneren als rijdende datacenters vol iot-apparaten die grote datavolumes genereren. Deze gegevensstromen overschrijden gemakkelijk de limieten van de oude ESB-integratieoplossing, en met het nieuwe HIP kunnen deze volumes eenvoudig worden verwerkt. Dit draagt bij aan proactief onderhoud, verbeterde capaciteitsplanning, efficiënter materieelgebruik en meer. Ook AI en big data zijn van cruciaal belang en hiervoor zijn high-performance, betrouwbare, veilige en flexibele integraties nodig. Het ultieme doel is een verbeterde en meer complete reiservaring voor onze reizigers, bereikt door solide integraties in combinatie met de vele moderniseringen binnen de NS.”
Herkansing: meld je aan voor het webinar ‘Tweakers op Stoom’
Begin oktober riepen we jullie op om 11 oktober het webinar ‘Tweakers op Stoom’ bij te wonen. Het eerder geplande webinar kon helaas geen doorgang vinden door technische problemen bij Clickmeeting . Op woensdag 8 november krijgen jullie een nieuwe kans.
Tijdens het webinar gaan Lead Product Owner Strategische Ontwikkeling Jack Fleuren, Solution Architect Taco Nieuwenhuis en Technical Lead Marc Hesselink dieper in op de drie hierboven genoemde protocollen en leggen ze uit hoe deze worden ingezet voor het HIP. Het webinar start om 19.00 uur en duurt ongeveer anderhalf uur. Er is ruim voldoende gelegenheid om inhoudelijke vragen te stellen, zodat je alle ins & outs van de IT-transitie komt te weten.
Meld je nu aan voor het webinar ‘Tweakers op Stoom’ op 8 november en leer meer over hoe het HIP het hart van de data-uitwisseling bij de NS vormt en wat de rol van de Red Hat-variant van Skupper is. Als je je al had aangemeld voor het webinar op 11 oktober, hoef je je niet opnieuw aan te melden.
Wil je aanwezig zijn bij het Tweakers en NS webinar op 8 november?
Actievoorwaarden poll
- Je Tweakers-account moet voor 1 oktober 2023 geactiveerd zijn.
- Meedoen kan tot 5 november 2023 23.59 uur, alleen via de poll.
- Alleen ingelogde bezoekers kunnen deelnemen.
- Je kunt één keer aan de poll deelnemen.
- Aanwezigen krijgen uiterlijk 7 november 2023 bericht per mail, in de vorm van een officiële uitnodiging. Hierin staat de link om in te loggen voor het webinar. Niet-aanwezigen ontvangen geen bericht.
- Deelnemers zijn op woensdag 8 november 2023 beschikbaar om het gehele programma te volgen.
- De uitnodiging voor het evenement is strikt persoonlijk en kan niet worden overgedragen.
- Klachten kunnen via klachten@tweakers.net worden ingediend.
- Medewerkers van Tweakers & de NS zijn uitgesloten van deelname.
Dit artikel is geen redactioneel artikel, maar gesponsord tot stand gekomen dankzij de 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].