MusterKapitel III · Evolution · Baustein 6 von 7

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.

  1. Kleiner AnteilDu löst nur eine Fähigkeit und nur schrittweise ab.
  2. MesspunkteGrenzwerte entscheiden über den nächsten Schritt.
  3. 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

Die Fassade leitet Anfragen an Altsystem oder neuen Dienst; der Anteil des neuen Dienstes wächst Schritt für Schritt.
Shop-Beispiel · Stufen durchspielen

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

  1. Kleiner Anteil Du erhöhst den Anteil von 0 über 5 und 25 auf 100 %.
  2. Messpunkte Trefferquote und Antwortzeit werden gegen 97 % und 400 ms geprüft.
  3. Rückweg Mit Schalter laufen alle 2.000 Suchen wieder im Monolithen.
  • 100 von 2.000 je TagSuchen am neuen Dienst
  • 96 %Trefferquote neu (Grenzwert ≥ 97 %)
  • 380 msAntwortzeit P95 neu (Grenzwert ≤ 400 ms)

Nur 5 % laufen über den Dienst. Die Trefferquote 96 % liegt unter dem Grenzwert 97 %. Halte den Anteil klein oder stelle zurück.

Werte illustrativ

Erhöhe den Anteil über den neuen Dienst und vergleiche mit den Grenzwerten. Schalte das Zurückstellen ein, wenn ein Wert fällt.

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

  1. 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.
  2. 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.
  3. Ü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

  1. 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.

  2. 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.

  3. 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.

Weiter im Lernpfad

Als Nächstes in Evolution & Bewertung: Datenmigration.