Eine monolithische Anwendung fasst die Benutzeroberfläche und die Datenzugriffsebenen für mehrere Funktionen in einer Anwendung zusammen. Normalerweise besteht eine monolithische Anwendung aus einer einzigen Codebasis, die von mehreren Teams innerhalb einer Organisation geändert wird, und wird als eine einzige Einheit bereitgestellt, die alle von diesen Teams gepflegten Funktionen enthält.
Monolithische Anwendungen sind dank der engen Integration ihrer Komponenten oft einfacher zu entwickeln und bereitzustellen. Wenn jedoch der Umfang der Anwendung und die Leistungsanforderungen steigen, kann ein Monolith schwer zu warten und zu skalieren sein.
Monolithische Systeme eignen sich gut für kleinere, weniger komplexe Anwendungen, die nicht schnell skaliert oder routinemäßig gewartet werden müssen. Nachfolgend finden Sie einige Beispiele für Anwendungen, die in der Regel monolithisch aufgebaut sind (auch wenn ihre neueren Funktionen auf einer stärker containerisierten Infrastruktur basieren können).
Auch wenn einige Aspekte monolithischer Architekturen überholt sind, gibt es immer noch viele Zwecke und positive Eigenschaften.
Einige Vorteile von Monolithen sind:
Die Einzigartigkeit von Monolithen hat zwar ihre Vorteile, kann aber auch zu Problemen führen.
Einige Nachteile von Monolithen sind:
Im Gegensatz zur monolithischen Architektur steht die Microservices-Architektur. Microservices ist ein Ansatz der Software-Architektur, bei dem eine große, komplexe Anwendung aus kleinen Komponenten aufgebaut wird. Diese Komponenten können jeweils eine einzelne Funktion erfüllen (z. B. Authentifizierung, Benachrichtigung oder Zahlungsabwicklung) oder als Bündel innerhalb eines Monolithen arbeiten. „Microservices“ (oder einfach „Services“) ist auch der Begriff für die kleinen Komponenten selbst.
Während monolithische Anwendungen eng gekoppelt sind (d. h. ihre Komponenten sind miteinander verbunden), ist eine Microservices-Anwendung verteilt (d. h. ihre Komponenten können unabhängig voneinander agieren). Da die Anwendungen immer größer und komplexer werden, überlegen viele Organisationen, entweder monolithische Anwendungen aufzugeben oder neue Anwendungen im Microservices-Format einzubinden.
NGINX ist stolz darauf, denjenigen, die sich mit monolithischen und Microservices-Anwendungen beschäftigen, die folgenden kostenlosen Bildungsressourcen anbieten zu können