

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Würger-Feigenmuster
<a name="strangler-fig"></a>

Die bisher in diesem Leitfaden erörterten Entwurfsmuster gelten für Zerlegungsanwendungen bei Projekten auf der grünen Wiese. Was ist mit Brownfield-Projekten, die große, monolithische Anwendungen beinhalten? Es wird schwierig sein, die bisherigen Entwurfsmuster auf sie anzuwenden, da es eine große Aufgabe ist, sie in kleinere Teile zu zerlegen, während sie aktiv genutzt werden.

Das [Würgerfeigenmuster](https://martinfowler.com/bliki/StranglerFigApplication.html) ist ein beliebtes Designmuster, das von Martin Fowler eingeführt wurde, der sich von einer bestimmten Feigenart inspirieren ließ, die sich von selbst in den oberen Ästen von Bäumen aussät. Der bestehende Baum dient zunächst als Stützstruktur für die neue Feige. Die Feige legt dann ihre Wurzeln auf den Boden und umhüllt den ursprünglichen Baum allmählich, sodass nur die neue, sich selbst tragende Feige an ihrer Stelle zurückbleibt. 

Dieses Muster wird häufig verwendet, um eine monolithische Anwendung schrittweise in Microservices umzuwandeln, indem eine bestimmte Funktionalität durch einen neuen Dienst ersetzt wird. Ziel ist die Koexistenz der alten und der neuen, modernisierten Versionen. Das neue System wird zunächst vom bestehenden System unterstützt und umschließt es. Diese Unterstützung gibt dem neuen System Zeit, zu wachsen und das alte System möglicherweise vollständig zu ersetzen.

Der Übergang von einer monolithischen Anwendung zu Microservices durch Implementierung des Strangler-Fig-Musters besteht aus drei Schritten: transformieren, koexistieren und eliminieren: 
+ *Transformieren* — Identifizieren und erstellen Sie modernisierte Komponenten, indem Sie sie entweder parallel zur Legacy-Anwendung portieren oder neu schreiben. 
+ *Koexistenz* — Behalten Sie die Monolith-Anwendung für Rollbacks bei. Fangen Sie externe Systemrufe ab, indem Sie einen HTTP-Proxy (z. B. [Amazon API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html)) am Rand Ihres Monolithen integrieren und den Datenverkehr auf die modernisierte Version umleiten. Dies hilft Ihnen, Funktionen schrittweise zu implementieren. 
+ *Eliminieren* — Die alten Funktionen werden aus dem Monolithen entfernt, da der Datenverkehr vom alten Monolithen zum modernisierten Dienst umgeleitet wird. 

In der folgenden Tabelle werden die Vor- und Nachteile der Verwendung des Würgerfeigenmusters erklärt.


****  

| Vorteile | Nachteile | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/modernization-decomposing-monoliths/strangler-fig.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/modernization-decomposing-monoliths/strangler-fig.html)  | 

Die folgende Abbildung zeigt, wie ein Monolith in Microservices aufgeteilt werden kann, indem das Strangler-Feigen-Muster auf eine Anwendungsarchitektur angewendet wird. Beide Systeme funktionieren parallel, aber Sie werden beginnen, Funktionen außerhalb der Monolith-Codebasis zu verlagern und sie um neue Funktionen zu erweitern. Diese neuen Funktionen bieten Ihnen die Möglichkeit, Microservices so zu gestalten, dass sie Ihren Anforderungen am besten entsprechen. Sie werden weiterhin Funktionen aus dem Monolithen entfernen, bis alles durch Microservices ersetzt ist. An diesem Punkt können Sie die Monolith-Anwendung eliminieren. Der wichtigste Punkt, den es hier zu beachten gilt, ist, dass sowohl der Monolith als auch die Microservices für eine gewisse Zeit zusammenleben werden.

![\[Zerlegung von Monolithen in Mikroservices mithilfe des Würgerfeigenmusters\]](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/modernization-decomposing-monoliths/images/strangler-fig.png)
