Sowohl SOA (Service-Oriented Architecture) als auch Microservices zerlegen Systeme in Dienste, unterscheiden sich aber in Granularität, Dateneigentum und Art der Kommunikation zwischen Diensten.
Sowohl SOA (Service-Oriented Architecture) als auch Microservices zerlegen Systeme in Dienste, unterscheiden sich aber in Granularität, Dateneigentum und Art der Kommunikation zwischen Diensten.
| Aspekt | SOA | Microservices |
|---|
| Granularität | Grobe Körnung | Feine Körnung |
| Kommunikation | Oft über einen ESB | Leichtgewicht (REST/gRPC/messaging) |
| Daten | Häufig geteilt | Datenbank pro Dienst |
| Governance | Zentralisiert | Dezentralisiert |
| Protokoll | Oft SOAP/XML | Üblicherweise HTTP/JSON, gRPC |
SOA ─▶ Service A ─▶ [ Enterprise Service Bus ] ─▶ Service B
(smart pipes, central orchestration, shared schemas)
Microservices ─▶ Service A ──(direct REST/gRPC/event)──▶ Service B
("smart endpoints, dumb pipes" — logic lives in services)
Microservices folgen dem Prinzip "smart endpoints, dumb pipes": Intelligenz lebt in den Diensten, und der Transport bleibt einfach. SOA zentralisiert die Logik oft in einem ESB.
Einführt nicht erneut einen ESB-artigen Engpass ein. Ein gewichtiger zentraler Bus verwandelt Microservices mit zusätzlichen Schritten zurück in SOA.
Der Unterschied besteht hauptsächlich in der Dezentralisierung: Microservices verlegen Dateneigentum und Logik in jeden Dienst, um den zentralen Engpass zu vermeiden, der viele SOA-Bereitstellungen plagten.
Das Verständnis dafür bewahrt Sie davor, versehentlich SOAs Kopplung unter einem Microservices-Etikett zu rekonstruieren.