Lösung: Vor- und Nachteile der Microservices-Architektur
Completion requirements
| Aspekt | Monolith | Mikroservices |
|---|---|---|
| Freiheit bei der Wahl von Programmiersprachen | festgelegt | freie Wahl (aber ev. Wildwuchs) |
| Komplexität der Entwicklungsaufgaben | mittel | hoch in Bezug auf das Gesamtsystem, niedrig in Bezug auf Teilsystem |
| Horizontale und vertikale Skalierbarkeit | vertikal nur bis zu einer bestimmten Grenze skalierbar (Rechenpower, Speicher etc.), horizontal muss entsprechend mehr Rechenleistung vervielfacht werden | beides gut skalierbar |
| Betriebssicherheit bzw. Zuverlässigkeit | weniger Stellen können ausfallen, Ausfall ist gleichbedeutend mit Totalausfall (ohne horiz. Skal.) | Separation of concerns (Teilsystem können weiterlaufen), Wahrscheinlichkeit für Teilausfall statistisch höher |
| Einführung neuer Technologien | Schwierig weil "alles" geändert werden muss. | Einzelne Mikroservices lassen sich leichter upgraden. |
| Flexibilität bei der Teambildung | weniger flexibel, aber möglicherweise universeller einsetzbar | höher, weil Verantwortlichkeiten bei Microservices liegen |
| Testen | Integrationstests sind leichter durch automatische Tests abzubilden (natürlich gibt es auch beim Monolith generell weniger Integration verschiedener Komponenten) | einzelne Microservices lassen sich leichter mit hoher Testabdeckung testen. |
| Debugging | Debugger leicht einsetzbar, Aufwand kann aber höher sein. | Fehler gegebenenfalls leichter auf einen Knoten einzugrenzen. Falls nicht (Integrationsfehler) stehen wenige Debugging-Werkzeuge zur Verfügung. |
| Betriebliche Komplexität bzw. Infrastrukturkosten | Hardware-Kosten bei Skalierung hoch | mehr Netzwerktechnik, besser skalierbar z.B. auch durch Containerisierung |
| Deployment | einfach, aber umfangreich | kleinteilig, aber komplexer |
| Agilität bei der Entwicklung bzw. organisatorischer Aufwand | mehr Agilität möglich | Schnittstellen müssen zumindestens klar definiert werden (Planung) |
Last modified: Monday, 31 October 2022, 12:27 PM