VEROUDERDE SYSTEMEN

Laravel developer voor upgrades en maatwerk

Je applicatie draait op een Laravel-versie die geen beveiligingsupdates meer krijgt. Elke versie die je overslaat, maakt de stap groter. Ik breng de bestaande code naar de nieuwste versie met de langste ondersteuning, zonder opnieuw te beginnen. En daarna kun je voor onderhoud en nieuwe functies ook bij mij terecht.

Waarom nu

  • Laravel brengt elk jaar een nieuwe hoofdversie uit. Oudere versies krijgen na een tijd geen beveiligingsupdates meer.
  • Nieuwe Laravel-versies vragen een nieuwe PHP-versie. Blijf je op een oude Laravel, dan blijf je ook op een oude PHP hangen.
  • Pakketten die je applicatie gebruikt, stoppen met ondersteuning voor oude versies. Ook kleine wijzigingen worden dan lastig.

Hoe ik een upgrade aanpak

Eerst in kaart

Ik zet de applicatie lokaal op en zoek uit welke code, pakketten en configuratie de upgrade tegenhouden. Met statische analyse en de tests die er zijn.

Versie voor versie

Ik upgrade per hoofdversie, niet in één grote sprong. Zo is elke stap klein en te testen, en blijft de applicatie tussendoor werken.

Getest, dan live

Ik test op een kopie van je productieomgeving en zet hem pas daarna live, met een weg terug. Waar het kan, zet ik er daarna een pipeline bij die bij elke wijziging de tests en checks draait. Zo zie je direct of een wijziging iets breekt, niet pas in productie.

Ook PHP en pakketten

Een Laravel-upgrade gaat bijna altijd samen met een nieuwe PHP-versie en nieuwe versies van je pakketten. Dat neem ik mee. Draait je code zonder Laravel? Kijk dan bij PHP upgrade.

Uit de praktijk: een stichting met vakantiehuisjes

Een stichting verhuurt vakantiehuisjes via een eigen boekingssysteem in Laravel, met een beheeromgeving in Filament.

Vraag

Het systeem werkte, maar liep achter. Laravel en Filament kregen geen bugfixes meer, en de pakketten hadden tientallen bekende beveiligingslekken. Zo'n achterstand wordt alleen maar groter.

Aanpak

In fases, zodat het systeem tussendoor gewoon bleef werken. Eerst de basis: PHP, Node en de bouwstraat. Daarna Laravel, Filament, Livewire en Tailwind naar de nieuwste versies. Verouderde en verlaten pakketten gingen eruit. Automatische tests controleren nu de beheeromgeving voordat iets live gaat.

Resultaat

Alles draait op de nieuwste versies, zonder bekende beveiligingslekken. Elke wijziging gaat eerst door tests en codecontroles. En de volgende upgrade is een kleine stap in plaats van een project.

Veelgestelde vragen

Kun je meerdere versies in één keer overslaan?

Dat kan, maar ik upgrade liever per hoofdversie. Elke stap is dan klein en apart te testen. Je krijgt aan het eind één applicatie op de nieuwe versie.

Er zijn geen tests. Kan het dan ook?

Ja. Dan schrijf ik eerst tests voor de belangrijkste onderdelen, zodat ik zie wat er breekt.

Hoe lang duurt een upgrade?

Dat hangt af van hoeveel versies je achterloopt, de pakketten en de staat van de code. Na een eerste analyse kan ik een inschatting geven.

Tim Geerlings

Een oude Laravel-applicatie?

Vertel op welke Laravel-versie hij draait en wat hij doet. Je hoort van mij.

opent in een nieuw tabblad