Case · Platforms
ABO ICT webportaalvan Laravel 6 naar 10 zonder downtime
ABO ICT heeft een portaal voor incident- en licentiebeheer dat lange tijd op Laravel 6 draaide. De wens: alles blijft werken, maar dan wel op de huidige Laravel-versie met moderne beveiliging. Daarom heb ik het platform stap voor stap gemigreerd, performance verbeterd en direct Azure AD SSO en 2FA meegenomen.
Uitdaging
Moderniseren zonder het dagelijkse werk stil te leggen
Het portaal ondersteunde dagelijks de supportafdeling. Functies vastleggen of wekenlang uit de lucht gaan was geen optie. Samen met het team heb ik eerst de kritieke userflows in kaart gebracht. Daarna heb ik een upgrade-pad opgesteld waarin elke stap getest en uitgerold kon worden zonder dat eindgebruikers daar last van hadden.
- Inventarisatie van alle modules en afhankelijkheden (tickets, licenties, facturatie)
- Risicoanalyse per onderdeel: welke workflows moeten 24/7 doorlopen?
Aanpak
Ik startte met het scheiden van legacy code en gedeelde componenten, zodat we per module konden upgraden. Elke iteratie draaide eerst in een stagingomgeving met realtime data, waarna we samen met het supportteam een korte acceptatieronde deden. De livegang vond pas plaats als support het in de praktijk had getest.
Tijdens de migratie heb ik direct 2FA en Azure AD Single Sign-On toegevoegd. Dat maakte inloggen veiliger én makkelijker. Ook heb ik monitoring en logdashboards ingericht zodat we na livegang meteen zagen waar optimalisaties nodig waren.
Iteraties in het kort
- Week 1: Migratie van Laravel 6 naar de laatste Laravel-versie (toen 10), inclusief refactor van verouderde onderdelen.
- Week 1–2: Implementatie van Azure AD SSO en 2FA voor moderne beveiliging.
- Week 2: Performance-optimalisaties en algemene opschoning van het portaal.
Resultaat
Het portaal draait nu op Laravel 10 en is klaar voor toekomstige uitbreidingen. Inlogprocessen zijn vereenvoudigd door Azure AD, en supportmedewerkers ervaren een merkbaar snellere responstijd. Belangrijker nog: de upgrade is uitgevoerd zonder storingen of nachtelijke migraties.
Omdat we alle blokken modulair hebben gemaakt, kunnen nieuwe features (zoals een selfservice-dashboard) later worden toegevoegd zonder opnieuw te moeten refactoren.
Wat ik hieruit meeneem
Door intensief samen te werken met het interne team konden we risico’s laag houden. De lessen uit dit project neem ik mee naar andere trajecten waarin legacy systemen stap voor stap toekomstbestendig gemaakt moeten worden.
Het laat ook zien dat iteratief werken geen marketingterm is: kleine releases, duidelijke communicatie en samen testen zorgen ervoor dat je vooruitgang boekt zonder stress. Logging en monitoring al tijdens het traject meenemen gaf ons na livegang direct inzicht in hoe het portaal werd gebruikt.
De grootste winst zat in verwachtingen managen: door vooraf te laten zien wat wel en niet tegelijk kon, bleef het team aangehaakt en konden we beslissingen nemen op basis van feiten in plaats van aannames.
Ook een bestaand systeem vernieuwen?
Ik denk graag mee over een migratiepad dat haalbaar is voor jouw team. Geen grootse beloftes, wel een duidelijk plan en zicht op risico’s.