Geschätzte Lesezeit 14 Minuten

Software Modernisierung

Strangler Fig Pattern

Erfahren Sie in diesem umfassenden Ratgeber, was das Strangler Fig Pattern ist, wie es funktioniert und warum es eine echte Alternative zur Big-Bang-Migration darstellt. Wir erklären Ihnen die Vorteile und den Ablauf dieser Methode und zeigen Ihnen, wie Sie Ihre Software schrittweise und ohne große Risiken modernisieren können.

Strangler Fig Pattern bedeutet zu deutsch Würgebaum Schema. Auf dem Bild zu sehen sind Pflanzenblätter auf einer Platine und eine Schere mit MaibornWolff Logo.

Graut es Ihnen jetzt schon vor dem Tag, an dem Ihre alte Software ausgeschaltet und die neue plötzlich aktiviert werden muss? Die schlechte Nachricht: Es graut Ihnen zu Recht! Denn diese sogenannten Big-Bang-Migrationen funktionieren oft nicht so einwandfrei wie erhofft. Doch wir haben auch eine gute Nachricht: Dank des Strangler Fig Patterns gibt es eine risikoarme Alternative.

Erfahren Sie in diesem umfassenden Ratgeber, was das Strangler Fig Pattern ist, wie es funktioniert und warum es eine echte Alternative zur Big-Bang-Migration darstellt. Wir erklären Ihnen die Vorteile und den Ablauf dieser Methode und zeigen Ihnen, wie Sie Ihre Software schrittweise und ohne große Risiken modernisieren können.

Strangler Fig Pattern – das Wichtigste in Kürze

Keine Zeit, den ganzen Ratgeber zu lesen? Keine Sorge: Wir haben die wichtigsten Punkte für Sie zusammengefasst.

  • Definition: Das Strangler Fig Pattern ist eine risikoarme Methode zur Software-Modernisierung.
  • Namensgebung: Das Strangler Fig Pattern wurde eigentlich nach der australischen Würgefeige (Strangler Fig) benannt. Fälschlicherweise hat sich jedoch auch der Name Strangler Pattern etabliert.
  • Vorgehensweise: Bei dieser Methode wird die alte Anwendung schrittweise durch neue Funktionen ersetzt. Das alte System bleibt während des gesamten Prozesses funktionsfähig.
  • Vorteile: Vor allem die risikoarme Modernisierung, Flexibilität, Kosteneffizienz, verbesserte Wartbarkeit und Nutzerzufriedenheit zeichnen die Methode aus.
  • Herausforderungen: Die Sicherstellung der Datenintegrität und Gefahr der vorzeitigen Projektbeendigung müssen stets bedacht werden.
  • Anwendungsfälle: Das Strangler Fig Pattern eignet sich besonders, wenn eine Komponente stark veraltet ist, gut isoliert werden kann und ein klares Verständnis für neue Funktionen vorhanden ist.

Was ist das Strangler Fig Pattern?

Die Modernisierung einer Software ist ein anspruchsvolles Projekt, das viele Herausforderungen mit sich bringt. Besonders der abrupte Wechsel von einem System auf ein anderes kann zu vielen Problemen führen.

Die Lösung: Anstatt das gesamte System auf einmal auszutauschen, werden die einzelnen Komponenten Schritt für Schritt erneuert – mithilfe des Strangler Fig Patterns.

Strangler Fig Pattern – Eine Definition

Das Strangler Fig Pattern, auch Strangler Pattern genannt, ist eine risikoarme Methode zur Software-Modernisierung, bei der eine alte Anwendung graduell erneuert wird. Dabei bleibt der Code der Bestandsanwendung größtenteils unverändert, während die neuen Funktionen Stück für Stück um die alte Anwendung herum aufgebaut werden.

Das Strangler Fig Pattern, auch Strangler Pattern, das erstmals von Martin Fowler beschrieben wurde, ist nach der australischen Würgefeige benannt. Diese Pflanze wächst um einen anderen Baum herum und ersetzt ihn im Laufe der Zeit vollständig.

Ähnlich funktioniert das Strangler Fig Pattern in der Software-Modernisierung: Das alte System bleibt zunächst bestehen, während neue Funktionen schrittweise hinzugefügt werden. Nach und nach übernimmt das neue System immer mehr Aufgaben, bis es schließlich das alte vollständig ersetzt.

Strangler Fig Pattern vs. Strangler Pattern

Seit 2019 heißt das Pattern explizit Strangler Fig Pattern! Damit behält es die klare Assoziation zur australischen Würgefeige. Leider hält sich jedoch auch der Name Strangler Pattern, der die metaphorische Bedeutung verwässert und somit irreführend sein kann.

Durch diese schrittweise Erneuerung bleibt die Anwendung jederzeit funktionsfähig. Es gibt keine abrupten Ausfälle oder großen Überraschungen, was das Risiko erheblich minimiert und einen reibungslosen Übergang gewährleistet.

Benötige ich eine Software-Modernisierung?

Informieren Sie sich jetzt.

Big-Bang-Migration vs. Strangler Fig Pattern

„Haben Sie es schon mit Aus- und Wiedereinschalten versucht?“ In der Software-Modernisierung wird dieser Ansatz als Big-Bang-Migration bezeichnet: alte Anwendung aus, neue an.

Für viele Unternehmen scheint die Big-Bang-Migration die einzig wahre Möglichkeit zu sein. Die damit verbundenen Probleme werden als notwendiges Übel betrachtet, das in Kauf genommen werden muss, um das alte System schnell abzuschalten und Kosten zu sparen. 

Doch jeder, der schon einmal ein Gerät aus- und wieder eingeschaltet hat, weiß: Dies ist nicht immer die Lösung aller Probleme. Besonders bei der Big-Bang-Migration kommt es häufig zum namensgebenden Urknall – einem völligen Chaos, mit dem letztendlich niemand zufrieden ist.

Viel besser klingt da doch die Frage: „Haben Sie schon umgestellt?“. Das ist nämlich das gewünschte Ergebnis, wenn man sich für das Strangler Fig Pattern entscheidet. Dieser mehrfach bewährte Ansatz verläuft teilweise so reibungslos, dass niemand den Wechsel vom Bestandssystem auf den Parallelbetrieb bemerkt.

Expertentipp

Das Strangler Fig Pattern kann in Web-, Desktop- und Mobile-Apps eingesetzt werden. Dabei spielt es keine Rolle, ob die Anwendung in Java, JavaScript, COBOL oder VBA als Teil eines Excel-Sheets geschrieben ist. Letzteres erfordert lediglich kreativere Lösungen.

Wie funktioniert das Strangler Fig Pattern?

Zur Erinnerung: Das Strangler Fig Pattern ist eine bewährte Methode zur Software-Modernisierung, die darauf abzielt, alte Anwendungen schrittweise durch neue zu ersetzen. Aber wie genau funktioniert das Strangler Fig Pattern? Schauen wir uns den Prozess im Detail an.

1. Initiale Weiche einrichten

Im ersten Schritt wird eine Weiche vor die bestehende Anwendung gesetzt. Diese Weiche wird später die Aufgabe übernehmen, Anfragen entweder an das alte oder das neue System weiterzuleiten. Zu Beginn leitet die Weiche jedoch alle Anfragen ausschließlich an das alte System weiter, sodass die Modernisierung im Hintergrund beginnen kann.

Wie diese Weiche genau aussieht, hängt stark von der Anwendungslandschaft ab. Bei Webseiten können wir in der Regel auf vorhandene Reverse Proxies oder Lastverteiler (Load Balancer) zurückgreifen. Bei nicht-webbasierten Anwendungen müssen wir hingegen oft kreativer werden und die „Weiche“ individuell entwickeln.

2. Umschalten der Weiche

Im nächsten Schritt werden neue Funktionen entwickelt und getestet. Sobald eine neue Funktion bereit ist, wird die Weiche angepasst. Fortan werden die Anfragen für diese Funktion an die neue Anwendung und nicht mehr an die alte weitergeleitet. Dieser Prozess erfolgt Schritt für Schritt, sodass die Anwendung nach und nach modernisiert wird.

Mit dem Strangler Pattern werden Alt-Software bzw. Legacy-Systeme Schritt-für-Schritt erneuert. Auf dem Bild zu sehen ist die inkrementelle Erneuerung einer Software anhand des Strangler Patterns. Kleine Teile werden erneuert und der ersetzte Teil aus der alten Software somit abgeschaltet bis etwas ganz neues entstanden ist.

3. Kontinuierliche Integration

Während dieses Prozesses bleibt die Anwendung stets benutzbar. Jede neue Funktion wird nahtlos integriert und es gibt keine Unterbrechung für die Benutzer. Die Modernisierung erfolgt kontinuierlich und transparent.

4. Abschalten der alten Anwendung

Sobald alle veralteten Funktionen durch neue ersetzt wurden und alle Anfragen an die moderne Version weitergeleitet werden, kann die ausgediente Anwendung abgeschaltet werden. An diesem Punkt ist die Modernisierung abgeschlossen.

Strangler Fig Pattern und seine Vorteile

Die Vorteile des Strangler Fig Patterns für Unternehmen lassen sich in wenigen kurzen Worten zusammenfassen: risikoarm, mit schneller Rendite. Und damit ist eigentlich auch schon alles Wichtige gesagt.

Wir wollen aber dennoch etwas genauer auf die überzeugendsten Aspekte eingehen:

Risikoarme Modernisierung

Wir können es gar nicht genug betonen: Durch die schrittweise Erneuerung des Systems bleibt die bestehende Anwendung während des gesamten Prozesses funktionsfähig. Dies minimiert das Risiko von Ausfällen und unerwarteten Problemen. Zudem können Unternehmen ihre Dienste ohne Unterbrechungen anbieten.

Flexibilität und Kosteneffizienz

Unternehmen können die Modernisierung in ihrem eigenen Tempo durchführen. Sie können Prioritäten setzen und zunächst die wichtigsten Funktionen erneuern, während weniger dringende Teile des Systems später angegangen werden.

Dies führt auch zu einer gewissen Kosteneffizienz: Anstatt große Investitionen für eine vollständige Überarbeitung auf einmal zu tätigen, können Unternehmen die Kosten auf einen längeren Zeitraum verteilen. Dies erleichtert die Budgetplanung und reduziert finanzielle Belastungen.

Verbesserte Wartbarkeit und Nutzerzufriedenheit

Durch die schrittweise Erneuerung wird der Code nach und nach modernisiert und verbessert, was die Wartung erheblich erleichtert. Die Nutzer profitieren zudem von neuen Funktionen und Verbesserungen, ohne auf die Fertigstellung der kompletten Neuentwicklung warten zu müssen. Dadurch können sie sich schrittweise an das neue System gewöhnen, ohne von den vielen Neuerungen überrollt zu werden.

Strangler Fig Pattern und seine Nachteile

Fairerweise muss man jedoch anmerken, dass auch das Strangler Fig Pattern Herausforderungen mit sich bringt. Sehen wir uns diese genauer an.

Erschwerte Datenintegrität

Ein wesentliches Problem ist die Datenintegrität, die deutlich komplexer zu handhaben ist als bei einer Big-Bang-Migration. Während beim Big Bang die Daten nur einmalig übertragen werden müssen, erfordert das Strangler Fig Pattern eine kontinuierliche Synchronisation der Daten zwischen der bestehenden und der neuen Anwendung.

Gefahr der vorzeitigen Projektbeendigung

Außerdem besteht die Gefahr, dass das Projekt frühzeitig beendet wird, sobald die wichtigsten Funktionen in der neuen Anwendung implementiert sind. Dies kann dazu führen, dass Bugfixes und veraltete Bibliotheken im Altsystem weiterhin gepflegt werden müssen, was zu einem anhaltenden Wartungsaufwand führt.

Es ist daher essenziell, das Projekt vollständig abzuschließen und alle Funktionen zu migrieren, um langfristig von den Vorteilen des Strangler Fig Patterns zu profitieren.

Wann ist ein Strangler Fig Pattern die beste Option?

Wie sagt man so schön: Es kommt darauf an!

Bei MaibornWolff beispielsweise geht die Modernisierung einer Software stets Hand in Hand mit ihrer Weiterentwicklung. Der Grund dafür ist, dass dadurch möglichst schnell ein Return-on-Investment (ROI) erreicht werden kann. Die Entscheidung, ob dafür nun das Strangler Fig Pattern oder eine andere Methode verwendet wird, hängt von einer Vielzahl von Faktoren ab:

  1. Wie kritisch die Komponente ist und durch die gewünschten fachlichen Änderungen wird.
  2. Wie klar das fachliche Verständnis für den Neubau ist.
  3. Wie stark die Komponente beim Schneiden gekoppelt ist.
  4. Wie hoch die technische Schuld ist.

Bei MaibornWolff werden die Antworten darauf gemeinsam mit Ihnen in den ersten Workshops erarbeitet – im sogenannten Zielbild. Dieses Zielbild wird während der Modernisierung durch neue technische und fachliche Erkenntnisse kontinuierlich erweitert und verfeinert.

Tipp

Das war die schnelle Erklärung. Wenn Ihnen Begriffe wie „Schneiden“, „technische Schuld“ und „Komponente“ nicht geläufig sind, folgt nun eine ausführlichere Erklärung. So können Sie sich selbst ein Bild über die Sinnhaftigkeit der Verwendung des Strangler Fig Patterns machen.

Der Schneideprozess im Detail

Um zu verstehen, wann ein Strangler Fig Pattern Sinn ergibt, müssen wir zunächst den Unterschied zwischen Ersetzen und Transformieren sowie das Konzept des Schneidens erläutern.

Hier gilt es zu verstehen, dass ein System auf zwei grundlegende Arten modernisiert werden kann: durch Ersetzen oder Transformieren.

  • Beim Ersetzen wird die alte Anwendung durch eine neue ersetzt. Dies kann entweder vollständig oder schrittweise, wie beim Strangler Fig Pattern, geschehen.
  • Beim Transformieren wird der bestehende Code verbessert und angepasst, um ihn auf den neuesten Stand zu bringen.
Eine System-Modernisierung wird durch den Strangler Pattern geschnitten. Also in einzelne Teile zerlegt. Dieses Bild veranschaulicht die Vorgehensweise durch Strangler Fig.

Welche dieser beiden Optionen nun die bessere ist, kann nur festgestellt werden, indem das System in kleinere Teile zerlegt wird. Diese Teile werden Komponenten genannt. Das „Zerlegen“ in diese Komponenten erfolgt durch einen Prozess, den wir das Schneiden nennen. Dieser Prozess funktioniert folgendermaßen: 

  • Zerlegt: Der Code wird zuerst auseinandergezogen und in einzelne Abschnitte zerlegt.
  • Gruppiert: Diese Abschnitte werden anschließend nach ihren Funktionen und Zusammenhängen gruppiert.
  • Getrennt: Danach werden klare Grenzen zwischen den verschiedenen Abschnitten gezogen, um sie voneinander zu trennen.

Der Lohn dieser Mühen ist der, dass auf Komponenten-Ebene entschieden werden kann, ob eine Transformation oder ein Ersetzen sinnvoller ist.

Entscheidungskriterien für das Strangler Fig Pattern

Sollte man sich an diesem Punkt nun für das Ersetzen einzelner Komponenten entschieden haben, steht man vor der Wahl zwischen der Big-Bang-Migration und dem Strangler Fig Pattern. Wie bereits ausführlich erläutert, könnte in diesem Fall das Strangler Fig Pattern eine geeignete Wahl sein.

Im Folgenden nennen wir Ihnen drei Fälle.

  • Wenn die Komponente stark veraltet oder schlecht geschrieben ist: In solchen Fällen ist es oft effizienter, die alte Komponente durch eine neue zu ersetzen, anstatt sie zu transformieren.
  • Wenn die Komponente leicht von anderen Teilen des Systems getrennt werden kann: Wenn eine Komponente gut isoliert werden kann, lässt sie sich einfacher ersetzen, ohne das restliche System zu beeinträchtigen.
  • Wenn ein klares Verständnis der neuen Funktionen vorhanden ist: Wenn genau bekannt ist, wie die neuen Funktionen aussehen sollen, kann der Ersatz der alten Komponente gezielt und effektiv durchgeführt werden.

Tipp

Sowohl die Big-Bang-Migration als auch das Strangler Fig Pattern sind Methoden zum Ersetzen einzelner Komponenten auf Systemebene. Natürlich gibt es auch Ansätze zur Modernisierung auf Code-Ebene. Wenn Sie daran interessiert sind, empfehlen wir Ihnen unseren informativen Ratgeber zum Thema: „IT-Sanierung: Riesige Änderungen in Babyschritten“.

Jochen Schweizer – ein erfolgreicher Use Case

MaibornWolff hat das Strangler Fig Pattern über viele Jahre in diversen Projekten eingesetzt und dabei umfangreiche Erfahrungen gesammelt. Zusätzlich haben wir Tools wie CodeCharta entwickelt, die es uns ermöglichen, präzise zu identifizieren, an welcher Stelle welche Form der Modernisierung gewählt werden sollte. Diese Expertise spart Ihnen nicht nur Zeit, sondern auch Kosten.

Ein erfolgreiches Beispiel für das Strangler Fig Pattern ist der Relaunch des Jochen Schweizer Shops durch die Jochen Schweizer mydays Group (JSMDG). Die JSMDG stand vor der Herausforderung, die technologischen Systeme der fusionierten Unternehmen Jochen Schweizer und mydays zu konsolidieren und eine gemeinsame IT-Plattform zu entwickeln.

Um diese Herausforderung zu meistern, setzten wir auf das Strangler Fig Pattern und bauten eine zentralisierte Technologie-Plattform um die bestehende herum. Diese zentralisierte Plattform löste sowohl die bisherigen Shops als auch die Backend-Systeme graduell ab. Der Erfolg des Projekts zeigt sich in mehreren Bereichen: Die neue Plattform bietet 100% Verfügbarkeit ohne Downtime, reduzierte Ladezeiten um 37%, und eine signifikant höhere Conversion-Rate. Durch die modulare Architektur und die selbst entwickelten Kernkompetenzen kann die JSMDG agil auf Marktdynamiken reagieren und ist weniger abhängig von externen Anbietern.

Strangler Fig Pattern – Die risikoarme Methode

Stellen Sie sich vor, Sie besitzen ein Schiff, das über die Jahre hinweg Planke für Planke ersetzt wird. Das Schiff bleibt jederzeit seetüchtig und wird dennoch kontinuierlich Schritt für Schritt verbessert. Dieser philosophische Ansatz nennt sich das „Schiff des Theseus“. Das ist zudem auch der deutlich unbekanntere Name für das Strangler Fig Pattern. Also entscheiden Sie sich bei Ihrer nächsten Software-Modernisierung für das Schiff des Theseus und bleiben Sie weiterhin seetüchtig.

Häufig gestellte Fragen zu Strangler Fig Pattern

Das Strangler Fig Pattern wird technisch umgesetzt, indem eine Weiche vor die bestehende Anwendung gesetzt wird, die anfangs alle Anfragen an das alte System weiterleitet. Sobald eine neue Funktion bereit ist, wird die Weiche angepasst, sodass Anfragen für diese Funktion an die neue Anwendung geleitet werden. Die genaue Gestaltung dieser Weiche variiert stark je nach Anwendungslandschaft und muss individuell bewertet werden.

Die Hauptgründe für die Wahl des Strangler Fig Patterns sind die Minimierung von Risiken, die kontinuierliche Verfügbarkeit der Anwendung und die Möglichkeit, Modernisierungen schrittweise und kosteneffizient durchzuführen.