Strangler-Migration
Strangler-Migration ersetzt ausgewählte Fähigkeiten eines bestehenden Systems in kontrollierten Schritten. Routing, Datenverantwortung und Rückweg bestimmen, wie lange alte und neue Umsetzung zusammenarbeiten.
- Kleiner AnteilDu löst nur eine Fähigkeit und nur schrittweise ab.
- MesspunkteGrenzwerte entscheiden über den nächsten Schritt.
- RückwegDu kannst jederzeit zurückschalten.
Einordnung
Warum das wichtig ist
Ein Komplettersatz auf einmal bündelt Risiko und lässt keinen Rückweg. Schrittweise Ablösung hält alten und neuen Pfad nebeneinander und entscheidet anhand von Messwerten. Schema und Daten behandelt Datenmigration.
Dieser Baustein behandelt inkrementelle Ablösung. Datenmigration plant Schema- und Datenübergänge; Deployment steuert Versionsausbringung.
Auf einen Blick · Schrittweise Ablösung über eine Fassade
Rechnungssuche schrittweise umleiten
Variante: Der Shop leitet nur die Rechnungssuche an einen neuen Dienst. Bestellung und Zahlung bleiben im modularen Monolithen; Routing lässt sich für die Suche zurückstellen.
So liest du das Bild
- Kleiner Anteil Du erhöhst den Anteil von 0 über 5 und 25 auf 100 %.
- Messpunkte Trefferquote und Antwortzeit werden gegen 97 % und 400 ms geprüft.
- Rückweg Mit Schalter laufen alle 2.000 Suchen wieder im Monolithen.
Nutzen & Grenzen
Hilft, wenn
- Fachlich eigenständige Fähigkeiten können getrennt vom übrigen Bestand umgestellt werden.
- Schrittweise Umstellung begrenzt Migrationsrisiken bei fortlaufender Produktentwicklung.
Grenzen
- Unklare Schreibhoheit erzeugt widersprüchliche Daten; je abgelöster Scheibe muss ein verbindlicher Schreiber feststehen, siehe Datenmigration.
- Wachsende Vermittlungslogik wird zum dauerhaften Engpass; jeder Altpfad braucht Besitzer und Abschaltkriterium.
- Bei der Rechnungssuche lohnt sich der Aufwand; für eng gekoppelte Bestell- und Zahlungslogik trägt die Weiche kaum.
In der Praxis
- Fähigkeit und Grenze wählen. Bestimme eine fachlich vollständige Funktion mit begrenzten Eingaben, Ergebnissen und Datenfolgen. Prüfe, ob sie unabhängig getestet und beobachtet werden kann. Das Ergebnis ist eine Scheibe mit klarer Übernahmeverantwortung.
- Routing und Datenhoheit planen. Lege fest, welcher Pfad Anfragen erhält, wo Änderungen verbindlich gespeichert werden und wie Fehler zurücklaufen. Dokumentiere Kompatibilität und Umschaltbedingungen. Damit bleiben Alt- und Neupfad während der Koexistenz steuerbar.
- Übernahme belegen und Altpfad entfernen. Miss Qualität und Nutzung, prüfe den Rückweg und lege Abschaltkriterien vor der Umstellung fest. Entferne Vermittlung und Altkomponenten nach erfolgreicher Übernahme. Das Ergebnis reduziert Übergangskomplexität nachweisbar.
Ausführliche Erklärung lesen
Eine Strangler-Migration leitet ausgewählte Funktionen über einen gemeinsamen Einstieg an eine neue oder bestehende Implementierung. Jede Scheibe braucht eine klare fachliche Grenze, Datenhoheit und einen überprüfbaren Betriebszustand. Die Methode verbindet Umstellung mit Datenmigration und stützt die Trennung an geeigneten Modulgrenzen.
Alte und neue Pfade koexistieren zeitweise. Vermittlung, Synchronisation, Überwachung und Rückweg bilden dabei zusätzliche Architekturarbeit. Nach belegter Übernahme wird der alte Pfad entfernt; so bleibt die Vermittlung Übergangslösung und die neue Fähigkeit trägt den Betrieb. Kleine Scheiben ermöglichen Rückmeldung unter realer Nutzung; die Auswahl einer Scheibe richtet sich nach fachlicher Eigenständigkeit und begrenztem Risiko. Parallelbetrieb benötigt klare Schreibhoheit und eine Abstimmung über veränderte Daten. Jede übertragene Fähigkeit sollte einen definierten Zeitpunkt für Rückweg oder Abschaltung besitzen.
Martin Fowler hat das Muster nach der Würgefeige benannt, die einen Baum nach und nach umwächst.
Selbst prüfen
Teste dich in drei Stufen
AblesenIm Bild nachsehen
Bei welchem Anteil unterschreitet die Trefferquote den Grenzwert, und was tust du?
Lösung mit Begründung ansehen
Bei 5 % (96 % statt mindestens 97 %). Anteil klein halten oder zurückstellen, Abweichung klären, dann erst erhöhen.
AnwendenAuf eine neue Lage übertragen
Der neue Suchdienst liefert bei den ersten Anfragen weniger Treffer als der Altpfad. Wie gehst du vor?
Lösung mit Begründung ansehen
Halte den Anteil klein oder stelle das Routing zurück, untersuche die Abweichung und leite erst danach den nächsten Anteil um. Der Monolith bleibt führend.
BewertenEine Alternative abwägen
Statt in Schritten umzustellen, könnte man die Rechnungssuche über Nacht komplett ersetzen. Was spricht dafür, was dagegen?
Lösung mit Begründung ansehen
Ein Komplettwechsel ist schneller und kennt keine Doppelpfade. Er hat aber keine Vergleichswerte und keinen schnellen Rückweg, wenn der neue Dienst schlechter trifft.
Vertiefen
Diese Bausteine führen die Gedanken dieser Seite weiter.
Quellen
- Martin Fowler – Strangler Fig Application (öffnet in neuem Tab)Beschreibt die schrittweise Ablösung bestehender Systeme durch neue Funktionalität.
- Microsoft – Strangler Fig pattern (öffnet in neuem Tab)Zeigt Routing, Übergangszustände und Voraussetzungen einer inkrementellen Ablösung.
- AWS – Strangler fig pattern (öffnet in neuem Tab)Verbindet schrittweise Migration mit Schnittstellen und betrieblichem Übergang.