Alle Artikel

/ Pattern  ·  Legacy

Strangler Fig.
Ein 15-Jahre-altes System ablösen, ohne dass es jemand merkt.

11 Min. Lesedauer5. Mai 2026Technical Deep-Dive

70 % aller Legacy-Migrationen scheitern. Nicht weil die neue Software schlecht ist — sondern weil der Wechsel selbst gemanagt werden muss, während das alte System weiter Geld verdient. Strangler Fig ist die Antwort auf dieses Dilemma.

Warum Big Bang scheitert

Big-Bang-Migration heißt: neues System bauen, Stichtag setzen, altes System abschalten. Klingt sauber. Funktioniert in der Realität fast nie, weil drei Dinge gleichzeitig passieren müssen:

Tag 0    altes System  ●●●●●●●●●●  läuft
Tag 1    neues System  ●●○○○○○○○○  edge-cases
Tag 1    Mitarbeiter  ✗✗✗✗○○○○○○  überfordert
Tag 1    Daten         ●●●●●○○○○○  Inkonsistenzen
Big-Bang am Stichtag — drei Dinge gehen gleichzeitig schief

Wenn nur eines davon kippt, kippt das ganze Projekt. Der Druck, alles am Stichtag richtig zu haben, ist so groß, dass Teams Abkürzungen nehmen — die später als technische Schulden zurückkommen.

Was Strangler Fig ist

Das Pattern stammt von Martin Fowler (2004) und ist nach einer Pflanze benannt: die Würgefeige wächst um einen Wirtsbaum, schluckt ihn allmählich, und am Ende steht nur noch die Feige. Der Wirtsbaum verschwindet still.

Für Software heißt das: das neue System wächst um das alte herum. Funktionen werden eine nach der anderen abgelöst. Das Alte läuft so lange weiter, bis es nichts mehr zu tun hat — und wird dann abgeschaltet.

Monat 0  Legacy ████████████  neu ░░░░░░░░░░░░
Monat 2  Legacy █████████░░░  neu ░░░███░░░░░░
Monat 4  Legacy ██████░░░░░░  neu ░░░░░░██████
Monat 6  Legacy ███░░░░░░░░░  neu ░░░░░██████░
Monat 8  Legacy ░░░░░░░░░░░░  neu ████████████
Strangler Fig — kontinuierliche Verlagerung der Last

Drei Phasen

In der Praxis läuft das in drei Phasen, die sich pro Modul wiederholen. Wir nennen sie intern Catch, Mirror, Cut.

1

/ Phase 1

Catch

Was: Einen Façade-Layer vor das Legacy-System setzen.

Warum: Alle Reads und Writes laufen ab jetzt über die Façade. Das alte System ändert sich nicht — es ist nur noch über die Façade erreichbar.

Wie: Reverse-Proxy, API-Gateway oder eine dünne Library, die alle Aufrufe abfängt.

2

/ Phase 2

Mirror

Was: Das neue System parallel bauen und alle Writes mitspiegeln.

Warum: Reads kommen weiter aus Legacy. Writes gehen an beide Systeme. Sie können das neue System gegen Real-Daten testen, ohne dass es produktiv ist.

Wie: Dual-Write-Pattern. Beide Systeme bekommen jeden Schreibvorgang. Diffs werden geloggt und verglichen.

3

/ Phase 3

Cut

Was: Reads modulweise auf das neue System umstellen.

Warum: Sobald ein Modul im neuen System verifiziert ist (durch das Mirror), schalten Sie den Read um. Das alte Modul wird nicht mehr aufgerufen — kann abgeschaltet werden.

Wie: Feature-Flag pro Modul. Ein Klick schaltet zurück, wenn etwas klemmt.

Wann das Pattern nicht passt

Strangler Fig ist nicht universell. Es gibt Szenarien, in denen ein Big-Bang oder eine komplette Neuentwicklung die bessere Wahl ist:

Drei häufige Fehler

Façade als reines Pass-Through bauen

Wenn die Façade einfach nur weiterleitet, gewinnen Sie nichts. Die Façade muss aktiv Geschäftslogik kennen — sonst kann sie keine Cuts machen.

Dual-Write ohne Idempotenz

Wenn die zwei Systeme aus dem Sync laufen (Netzwerkfehler beim Schreiben), müssen Sie automatisch nachziehen. Idempotenz-Keys pro Schreibvorgang sind Pflicht. Ohne sie ist Dual-Write fragiler als Single-Write.

Cut ohne Mirror-Verifikation

Wenn Sie umschalten, ohne dass Sie wochenlang die Diffs zwischen Legacy und Neu beobachtet haben, ist Cut Russisches Roulette. Mindestens 2 Wochen Mirror-Phase pro Modul — das ist die teuerste Phase, aber sie rechtfertigt sich beim ersten verhinderten Datenverlust.

Glossar

Façade
Zwischenschicht, die alle Aufrufe ans Legacy-System abfängt und an das richtige Backend weiterleitet.
Dual-Write
Schreibvorgänge gehen gleichzeitig an Legacy und Neu. Reads kommen weiter aus Legacy, bis das Neu-System verifiziert ist.
CDC
Change Data Capture. Datenänderungen werden aus dem Datenbank-Log extrahiert und in ein neues System eingespielt — ohne dass die Anwendung etwas merkt.
Feature-Flag
Ein-/Aus-Schalter pro Funktion, der zur Laufzeit umgelegt werden kann. Macht Cuts trivial und Rollbacks ungefährlich.

Wenn Sie gerade vor einer Legacy-Migration stehen und sich fragen, ob Strangler Fig in Ihrem Fall passt — wir prüfen das in 30 Minuten kostenlos.

Erstanalyse anfragen