Eine monolithische Anwendung kombiniert die Benutzeroberflächen- und Datenzugriffsebenen für mehrere Funktionen in einer Anwendung. Normalerweise besteht eine monolithische Anwendung aus einer einzigen Codebasis, die von mehreren Teams innerhalb einer Organisation geändert und als einzelne Einheit bereitgestellt wird, die alle von diesen Teams verwalteten Funktionen enthält.
Dank der engen Integration ihrer Komponenten lassen sich monolithische Anwendungen häufig einfacher entwickeln und bereitstellen. Mit zunehmendem Umfang und Leistungsanforderungen der Anwendung kann es jedoch schwierig werden, einen Monolithen zu warten und zu skalieren.
Monolithische Systeme können für kleinere, weniger komplexe Anwendungen geeignet sein, die nicht schnell skaliert werden müssen oder regelmäßig gewartet werden müssen. Nachfolgend finden Sie einige Beispiele für Anwendungen, die üblicherweise auf monolithischen Grundlagen basieren (deren neuere Funktionen jedoch möglicherweise auf einer stärker containerisierten Infrastruktur beruhen).
Obwohl einige Aspekte monolithischer Architekturen veraltet sind, erfüllen sie immer noch viele Zwecke und haben positive Eigenschaften.
Zu den Vorteilen von Monolithen gehören:
Die einzigartige Natur von Monolithen hat zwar ihre Vorteile, kann aber auch zu Problemen führen.
Zu den Nachteilen von Monolithen gehören:
Im Gegensatz zur monolithischen Architektur gibt es die Microservices -Architektur. Microservices ist ein Ansatz zur Softwarearchitektur, der aus kleinen Komponenten eine große, komplexe Anwendung erstellt. Diese Komponenten können jeweils eine einzelne Funktion ausführen (z. B. Authentifizierung, Benachrichtigung oder Zahlungsabwicklung) oder als Pakete innerhalb eines Monolithen arbeiten. „Microservices“ (oder einfach „Dienste“) ist auch die Bezeichnung für die kleinen Komponenten selbst.
Während monolithische Apps eng gekoppelt sind (was bedeutet, dass ihre Komponenten miteinander verbunden sind), ist eine Microservices-App verteilt (was bedeutet, dass ihre Komponenten unabhängig voneinander agieren können). Da Anwendungen immer größer und komplexer werden, prüfen viele Unternehmen, ob sie von Monolithen weg migrieren oder neue Apps in ein Microservices-Format integrieren können.
NGINX ist stolz darauf, die folgenden kostenlosen Bildungsressourcen für diejenigen anbieten zu können, die monolithische und Mikrodienste erkunden