ADR › Verteilter Systemaufbau
status |
proposed |
date |
2023-04-XX |
deciders |
Finn Gedrath, Leonard Pelzer |
consulted |
|
informed |
|
Kontext und Problemstellung
Wir müssen uns für eine Architektur entscheiden, um unser neues System zu implementieren. Wir stehen vor der Entscheidung, ob wir eine monolithische Architektur oder eine verteilte Architektur verwenden sollen.
In Betracht gezogene Optionen
Ergebnis der Entscheidung
Gewählte Option: “verteilte”, weil
hierdurch System-Komponenten unabhängig voneinander im Team entwickelt werden können.
Consequences
- 🟢 Gut, weil parallelisiert im Team gearbeitet werden kann.
- 🔴 Schlecht, weil Komplexität der System-Architektur in ihren Kommunikationswegen steigt.
Pro und Kontra der Optionen
monolytisch
- 🟢 Gut, denn Komplexität der allgemeinen Infrastuktur wird reduiziert.
- 🔴 Schlecht, weil die Komplexität des Codes steigen kann.
- 🔴 Schlecht, weil keine Last-Verteilung auf einzelne Komponenten stattfinden kann.
verteilt
- 🟢 Gut, denn System lässt sich besser verteilen, da einzelne System-Komponenten dubliziert werden können.
- 🟢 Gut, weil die einzelnen Komponenten in sich geschlossener und parallel entwickelt werden können.
- 🟡 Neutral, weil Technologie-Entscheidungen spezifisch auf den Anwendungsfall pro Microservice einzeln getroffen werden können.
- 🔴 Schlecht, weil ein höherer Wartungsaufwand entsteht.
- 🔴 Schlecht, weil Redundanter Code entstehen kann.