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. Ziel ist die Vermeidung eines Big-Bang-Rewrites und die Minimierung von Stillstandsrisiken.
Der Name kommt von der Feigenart, die einen Wirtsbaum langsam umwächst und schliesslich ersetzt.
Schrittweise Ablösung statt riskantem 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 hoch.
Das Vorgehen
- Facade / Proxy aufbauen: Ein HTTP-Proxy oder API-Gateway wird vor das Legacy-System gestellt. Alle Anfragen laufen zunächst unverändert durch.
- Ersten Use Case extrahieren: Eine klar abgegrenzte Funktion (Bounded Context) wird im neuen System neu implementiert.
- Traffic umleiten: Der Proxy leitet Anfragen für diesen Use Case ab sofort an das neue System.
- Iterieren: Schritt 2 und 3 werden für weitere Use Cases wiederholt.
- 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
- O'Reilly / Sam Newman Monolith to Microservices. Praktische Migrationsmuster für schrittweise Ablösungen. (2019). www.oreilly.com/library/view/monolith-to-microservices/9781492047834/
- Martin Fowler Strangler Fig Application. Originalbeschreibung des Musters. (2004). martinfowler.com/bliki/StranglerFigApplication.html
Verwandte Themen
- Strategie: Legacy-Modernisierung, der Modernisierungspfad für Strangler Fig Pattern.
- Methoden, der Methodenbereich, der Strangler Fig Pattern fachlich einordnet.