Sunday, August 23, 2020

Differences between SOA and microservices

 There are many differences between SOA and microservices that determine the use case each is suitable for:

Bibliography:

https://www.talend.com/resources/microservices-vs-soa/

 

Microservices

SOA

Architecture

Designed to host services which can function independently

Designed to share resources across services

Component sharing

Typically does not involve component sharing 

Frequently involves component sharing

Granularity

Fine-grained services

Larger, more modular services

Data storage

Each service can have an independent data storage

Involves sharing data storage between services

Governance

Requires collaboration between teams

Common governance protocols across teams 

Size and scope

Better for smaller and web-based applications

Better for large scale integrations

Communication

Communicates through an API layer

Communicates through an ESB

Coupling and cohesion

Relies on bounded context for coupling

Relies on sharing resources

Remote services

Uses REST and JMS

Uses protocols like SOAP and AMQP

Deployment

Quick and easy deployment

Less flexibility in deployment

No comments: