Både SOA (Service-Oriented Architecture) og microservices dekomponerer systemer inn i tjenester, men de skiller seg i granularitet, dataeierskap og hvordan tjenestene kommuniserer.
Både SOA (Service-Oriented Architecture) og microservices dekomponerer systemer inn i tjenester, men de skiller seg i granularitet, dataeierskap og hvordan tjenestene kommuniserer.
| Aspekt | SOA | Microservices |
|---|
| Granularitet | Grovkornet | Finkornet |
| Kommunikasjon | Ofte via en ESB | Lettvektig (REST/gRPC/messaging) |
| Data | Ofte delt | Egen database per tjeneste |
| Styring | Sentralisert | Desentralisert |
| Protokoll | Ofte SOAP/XML | Vanligvis 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 følger prinsippet "smart endpoints, dumb pipes": intelligens ligger i tjenestene, og transporten holder seg enkel. SOA sentraliserer ofte logikk i en ESB.
Ikkje introduser på nytt en ESB-lignande flaskehals. En tung sentral bus gjør microservices om til SOA med ekstra steg.
Forskjellen handler først og fremst om desentralisering: microservices skyver dataeierskap og logikk inn i hver tjeneste for å unngå den sentrale flaskehalsen som plaget mange SOA-distribusjoner.
Å forstå dette hindrer deg fra utilsiktet å bygge SOA sin koblingstetthet på nytt under mikroservices-merkelappen.