De uitdaging
“Hoe vervang je de wielen van onder een rijdende trein?” Wanneer je voor de NS werkt, komen er al snel allerlei trein-metaforen langs, maar in dit geval was het in werkelijkheid fietsverhuur dat op het spel stond. NS Stations heeft de FRAME applicatie die we met ze gebouwd hebben als ‘kroonjuweel’ bestempeld, wat (onder andere) betekent dat ze de hosting onder eigen beheer wilden consolideren met bestaande NS applicaties.
Dus hebben INFO en NS samen FRAME gemigreerd van de INFO hosting facilities naar de NS Azure Cloud, met minimale onderbreking van het OV-fiets verhuurproces en het fietsparkeerproces.


Als een raket...
De oplossing
We hebben deze migratie benaderd als een twee-staps raket. Er zijn EEN HOOP derde partijen verbonden met het systeem, en om die allemaal op één lijn te krijgen om tegelijk met ‘de cloud’ te verbinden was een onmogelijke taak. Dus stap één was om een NS API Gateway ertussenin te zetten. Op deze manier kon elke partij verbinden met de nieuwe Gateway en konden we later de Gateway gebruiken als ‘switchboard’ tijdens de echte migratie.
Een goed begin
Bij het voorbereiden op een project van dit formaat, beginnen we altijd met een high-level inschatting, waarin alle relevante elementen aan het licht worden gebracht, zonder al teveel aandacht te besteden aan de details. Er is uiteraard nooit één manier om je bestemming te bereiken, dus we benoemen en schatten ook verschillende aanpakken in, om die beschikbaar te hebben tijdens het verdere proces. Met al deze informatie op tafel, maken we een plan (of eigenlijk meerderen), waarvan de genoemde twee-staps raket er één is.
Met het plan in de hand zijn meerdere teams gevormd. Aan de kant van NS zijn de stakeholders (waaronder de derde partijen) door één team aangestuurd, terwijl het team van INFO en NS medewerkers begon met de ‘interne’ migratie. Hoewel we zielsveel houden van Scrum, is het soms niet het gereedschap dat je nodig hebt. Dus we hebben een backlog gebouwd en zijn met gebruik van Kanban begonnen met taken oppakken en afronden. Toen het team zich zeker genoeg voelde, zijn we begonnen met migratie dry-runs. Eerst op test omgevingen, maar later tot op productie.
Met alle stakeholders aan boord, de derde partijen op de Gateway en voldoende vertrouwen bij het team door alle dry-runs, werd een nacht in september gepland om de echte migratie uit te voeren, vanuit een NS kantoor in Utrecht. En ondanks dat het netwerk uitviel, net toen we de migratie aan het afronden waren (je kunt niet alles plannen), ging de migratie heel soepel en heeft de (verhuur en parkeer) ochtendspits niet eens gemerkt dat ze in de nacht ervoor naar de cloud zijn gemigreerd.
“INFO heeft de migratie op een zeer professionele manier aangepakt. Ik heb me tijdens het hele traject geen enkel moment zorgen hoeven maken en had altijd het gevoel dat het team in control was. Mooi om te zien hoe INFO het belang van de klant voorop stelt en echt goed advies uitbrengt.” – Rob Cuperus, IT Lead NS Stations – Ketendiensten
In het kort:

- 15 maanden voorbereiding
- 200 user stories
- 9 dry-runs
- Zakken, maar dan ook echt zakken met snacks
FRAME draait nu in Azure, wat een compleet andere hosting situatie is, maar de gebruikers merken dit niet eens. We zijn nog steeds bezig met het monitoren van het systeem en met kleine optimalisaties doorvoeren.