Monolithic Apps

Concept

Was ist das?

Eine monolithische Anwendung enthält alle Funktionen in einem einzigen einsatzfähigen Programm. Dies ist oft der einfachste und leichteste Ausgangspunkt für die Entwicklung einer Anwendung. Sobald die Anwendung jedoch komplexer wird, kann es schwierig werden, monolithische Anwendungen zu pflegen. Je mehr Entwickler/innen an derselben Codebasis arbeiten, desto größer ist die Wahrscheinlichkeit, dass es zu widersprüchlichen Änderungen kommt und desto größer ist der Bedarf an zwischenmenschlicher Kommunikation zwischen den Entwicklern.

Probleme, die damit gelöst werden

Wenn eine Anwendung in Microservices aufgeteilt wird, erhöht sich der betriebliche Aufwand - es gibt mehr Dinge zu testen, bereitzustellen und am Laufen zu halten. Zu Beginn des Lebenszyklus eines Produkts kann es daher von Vorteil sein, diese Komplexität aufzuschieben und eine monolithische Anwendung zu entwickeln, bis das Produkt erfolgreich ist.

Wie es hilft

Ein gut durchdachter Monolith kann die Lean-Prinzipien unterstützen, da er die einfachste Möglichkeit darstellt, eine Anwendung zum Laufen zu bringen. Wenn sich der Geschäftswert der monolithischen Anwendung als erfolgreich erweist, kann sie in Microservices zerlegt werden. Eine auf Microservices basierende Anwendung zu entwickeln, bevor sie sich als wertvoll erwiesen hat, kann eine verfrühte Ausgabe von Entwicklungsaufwand sein. Wenn die Anwendung keinen Nutzen bringt, ist dieser Aufwand vergebens.