Publiziert: Zuletzt aktualisiert:

Strangler Fig Pattern

Das Strangler Fig Pattern beschreibt die schrittweise Ablösung eines Legacy-Systems: Neuer Code wächst parallel um das alte System herum, übernimmt nach und nach einzelne Funktionen, bis das Legacy-System vollständig ersetzt ist und abgeschaltet werden kann. Kein Big-Bang-Rewrite, kein Systemstillstand.

Der Name kommt von der Feigenart, die einen Wirtsbaum langsam umwächst und schliesslich ersetzt.

Warum kein Big-Bang-Rewrite?

Big-Bang-Rewrites scheitern regelmässig: Der neue Code muss alle Funktionen des alten Systems nachbauen, gleichzeitig neue Features liefern und dabei monatelang ohne produktiven Mehrwert existieren. Das Risiko ist extrem hoch.

Das Vorgehen

  1. Facade / Proxy aufbauen: Ein HTTP-Proxy oder API-Gateway wird vor das Legacy-System gestellt. Alle Anfragen laufen zunächst unverändert durch.
  2. Ersten Use Case extrahieren: Eine klar abgegrenzte Funktion (Bounded Context) wird im neuen System neu implementiert.
  3. Traffic umleiten: Der Proxy leitet Anfragen für diesen Use Case ab sofort an das neue System.
  4. Iterieren: Schritt 2 und 3 werden für weitere Use Cases wiederholt.
  5. Legacy abschalten: Wenn alle Funktionen migriert sind, wird das Legacy-System stillgelegt.

Der Fokus: Immer lieferfähig bleiben

Nach jedem Schritt ist das Gesamtsystem produktionsfähig. Das Business läuft ununterbrochen.

FAQ

Wie lange dauert eine Strangler-Fig-Migration?

Das hängt von der Grösse des Legacy-Systems ab. Typisch sind 6-24 Monate für ein mittelgrosses System. Die Iteration muss aber von Anfang an konsequent sein, sonst entsteht ein dauerhafter Parallelbetrieb.

Was ist, wenn das Legacy-System keine klaren APIs hat?

Dann ist der erste Schritt, eine Anti-Corruption Layer (ACL) zu bauen, die das Legacy-System sauber kapselt. Erst dann kann schrittweise migriert werden.

Reference Guide


Verwandte Themen

Offene Punkte