Microservices – µSOA vs. SCS vs. DDDD vs. FaaS

Technologie-Vergleich

Folgende Tabelle stellt vier wichtige Arten von Microservice-Architekturen gegenüber. Alle versuchen eine hohe Kohäsion und geringe Kopplung in der Systemlandschaft zu erreichen. Allerdings setzen die verschiedenen Ansätze auf ein unterschiedliches Maß an Granularität und unterschiedliche Techniken.

 

 µSOASCS
(Self-Contained System)
DDDD
(Distributed Domain-driven Design
FaaS
(Function as a Service)

Größe

Sehr kleinMittel, besteht ggf. aus mehreren kleineren Microservices, unabhängiges System (einschließlich Datenhaltung und UI)KleinSo klein wie möglich (wenige hundert Zeilen), Definition des Interfaces zuerst, nur möglich, wenn Dekomposition erreichbar

Abgrenzung

Eine Aufgabe (innerhalb einer Domäne)Eine DomäneEin Bounded Context / eine DomäneEine Funktion

Unabhängigkeit

Unabhängige Entwicklung der AufgabenUnabhängige Entwicklung der DomänenUnabhängige Entwicklung der Bounded Contexts / DomänenUnabhängige Entwicklung der Funktionen

Kommunikation

Viel synchrone Kommunikation (REST), Resilienz für Aufrufe (z.B. Hystrix), oft kombiniert mit Streaming (z.B. Apache Kafka)Leichtgewichtige Integration (idealerweise über UI), kann unabhängig Requests beantworten, asynchrone Kommunikation mit anderen Systemen (wenn nötig)Asynchrone Kommunikation (für bessere Stabilität), fachliche Events, redundante Datenhaltung (CQRS)Asynchrone Kommunikation, Event-basiert

Kopplung

Orchestrierung für gemeinsames ZielSchwache Kopplung der DomänenBounded Context (abgegrenzter Kontext), Ubiquitous Language (gemeinsame Sprache), schwache Kopplung der KontexteZusammenarbeit für gemeinsames Ziel, gemeinsame Interfaces, emergentes Verhalten

Team

2-3 Personen pro Microservice1 Scrum Team pro SCS als Haupt-Team (aber ggf. auch mehrere Scrum-Teams für verschiedene Microservices mit skaliertem Scrum / Nexus)1 Scrum-Team pro System1-2 Personen pro Funktion

Infrastruktur

Gemeinsame InfrastrukturKeine besondere Infrastruktur nötigGemeinsame Infrastruktur für fachliche EventsAbhängigkeit von gemeinsamer Infrastruktur

Skalierbarkeit

Bei sehr hohen SkalierbarkeitsanforderungenGute SkalierbarkeitGute SkalierbarkeitBei extremen Skalierbarkeitsanforderungen

Infrastruktur

Netflix, TwitterAmazon, Otto.de, Galeria Kaufhof Serverlose Architektur, AWS Lambda, Azure Functions

µSOA

SCS

DDDD

FaaS

Ihr Ansprechpartner

Christoph Ehlers

Tel.: +49-89-45841-100