PHP/Symfony Migration
#PHP #Symfony #Migration #Refactoring #Update
Migration umfangreicher Applikation zur aktuellen PHP/Symfony-Version
Die umfangreiche, über Jahre gewachsene Applikation des Kunden basierte auf veralteten Versionen von PHP und Symfony. Die eher rigide Update-Politik von PHP und auch Symfony führte zu einer immer größeren Barriere eine Migration anzugehen.Da die Applikation mit einer Reihe von weiteren Systemen verbunden war, wurden eingehende Verbindungen durch Testdaten-Simulatoren und ausgehende Verbindungen durch Stubs ersetzt und so die Applikation in eine Sandbox gesetzt. Die Entwickler konnten so jederzeit unter realistischen Bedingungen arbeiten.
Da es sich um eine unternehmenskritische Applikation handelt, wurde eine hohe Testabdeckung durch Unit-Tests und End-To-End-Tests noch vor Beginn der Migration erzielt. Dadurch wurde in der gesamten Migrationsphase die Qualität der Applikation überwacht und sichergestellt. Eine Anhäufung von Problemen, die sich erst in der Schlussphase herausstellen und zu wiederholenden Verzögerungen führen, konnte so vermieden werden. Der Zeitplan konnte genau eingehalten werden.
Bereits ohne weitere Maßnahmen zur Performance-Optimierung ist die Applikation unter der aktuellen PHP-Version doppelt so schnell. Die Zahl der benötigten Applikationsserver konnte auf die Hälfte reduziert werden, was zu einer signifikanten Kosteneinsparung geführt hat.
Im Rahmen der Migration wurden ausgewählte Module der Applikation refactored, so dass sie nun einfacher und schneller zu erweitern und zu warten sind. Außer den durch die veraltete Version von PHP vorhandenen Sicherheitslücken konnten noch weitere geschlossen werden. Performance-Optimierungen wurden an ausgewählten, als besonders kritisch eingestuften Stellen vorgenommen und haben die User Experience verbessert wie auch den Ressourcenanspruch weiter verringert.
Der Kunde betreibt nun seine Applikation deutlich kostensparender. Außerdem ist die Applikation nun sicherer, performanter und einfacher zu warten.
nächstes Projekt: Event-Registrierung >