Dezentrale Apps

Concept

Was ist das?

Eine dezentrale Anwendung ist eine Anwendung, bei der die Funktionalität in mehrere kleinere unabhängige Teile aufgeteilt ist. Dezentrale Anwendungen bestehen in der Regel aus einzelnen Microservices, die sich um verschiedene Belange innerhalb der Gesamtanwendung kümmern. In einer nativen Cloud-Umgebung werden die einzelnen Komponenten normalerweise als Container in einem Cluster ausgeführt.

Probleme, die damit gelöst werden

Eine Anwendung, die auf einem einzigen Computer läuft, stellt einen Single Point of Failure dar - wenn dieser Computer ausfällt, ist die Anwendung nicht mehr verfügbar. Dezentrale Anwendungen werden oft mit monolithischen Anwendungen verglichen. Eine monolithische Anwendung lässt sich schwerer anpassen, da die verschiedenen Komponenten nicht unabhängig voneinander skaliert werden können. Außerdem können sie die Geschwindigkeit der Entwicklung beeinträchtigen, wenn sie wachsen, weil mehr Entwickler auf einer gemeinsamen Codebasis arbeiten müssen, die nicht unbedingt klar definierte Grenzen hat.

Wie es hilft

Wenn eine Anwendung in verschiedene Teile aufgeteilt und an vielen Orten ausgeführt wird, kann das Gesamtsystem mehr Ausfälle verkraften. Damit kann eine Anwendung auch die Vorteile der Skalierung nutzen, die einer einzelnen Anwendungsinstanz nicht zur Verfügung stehen, nämlich die Möglichkeit, sich horizontal anzupassen. Das hat jedoch seinen Preis: Die Komplexität und der betriebliche Aufwand nehmen zu - du betreibst jetzt viele Anwendungskomponenten statt einer einzigen.