Typische Ausgangslagen
Drei Situationen, die uns immer wieder begegnen, und was in jeder davon zu tun ist.
Die folgenden Szenarien beschreiben wiederkehrende Muster aus unserer Arbeit, keine einzelnen Kundenprojekte. Gemessene Zahlen nennen wir dazu bewusst nicht, weil sich Laufzeiten und Aufwände je nach Projekt stark unterscheiden. Was Ihr Projekt braucht, sagen wir Ihnen nach der Analyse.
Szenario: gewachsener Onlineshop
Ein Shop, der über Jahre erweitert wurde: viele eigene Bundles, direkte Datenbankzugriffe quer durch den Code, keine Tests.
Legacy-Abhängigkeiten
Eigene Bundles mit direkten SQL-Abfragen, globaler Zustand, keine Dependency Injection. Dazu ein Payment-SDK, das es nur für PHP 5 gibt.
Schrittweise statt am Stück
Erst 7.4 als Zwischenstand, dann 8.3. Das Symfony-Upgrade läuft parallel über die LTS-Versionen. Das Payment-SDK wird durch einen aktuellen API-Client ersetzt.
Wieder anschlussfähig
Der Shop läuft auf einer unterstützten Version, lässt sich wieder mit aktuellen Bibliotheken erweitern, und Änderungen sind durch Tests abgesichert.
Szenario: Plattform mit Queue-System
Eine Anwendung mit Hintergrundverarbeitung, bei der die Worker unter Last aussteigen und niemand mitbekommt, wann das passiert.
Ausfälle ohne Alarm
Hintergrundjobs sterben still. Gemerkt wird das erst, wenn Kunden nachfragen, warum etwas nicht angekommen ist.
Queue auf Symfony Messenger
Eigenbau-Queue durch Symfony Messenger ersetzen, die Umgebung in Docker abbilden, damit lokal und produktiv dasselbe läuft, und Monitoring aufsetzen.
Fehler werden sichtbar
Fehlgeschlagene Nachrichten landen nachvollziehbar in einer eigenen Queue, statt verloren zu gehen. Ausfälle melden sich selbst.
Szenario: rechenintensive Auswertung
Nächtliche Jobs, die große Datenmengen zusammenfassen und dabei ans Speicherlimit stoßen.
Speicher und Laufzeit
Die Batch-Läufe erreichen regelmäßig das Speicherlimit. Abgebrochene Läufe muss jemand von Hand neu starten, meist am nächsten Morgen.
Aktuelle Laufzeit nutzen
Neuere PHP-Versionen gehen sparsamer mit Speicher um und bringen Werkzeuge mit, die es in 7.4 noch nicht gab. Dazu wird die Verarbeitung in Teilmengen zerlegt und die Cache-Strategie überarbeitet.
Läufe gehen durch
Die Auswertung läuft ohne manuelles Nachfassen. Wie viel schneller sie wird, hängt vom konkreten Code ab, deshalb steht hier keine Zahl.
Womit wir arbeiten
Die Werkzeuge, die bei Migrationen und im laufenden Betrieb zum Einsatz kommen.
Ähnliche Ausgangslage?
Wir sehen uns Ihr Projekt an und sagen Ihnen, welcher Weg passt. Die Ersteinschätzung ist kostenlos.
Ersteinschätzung anfragen