Side by side
MicroservicesvsService-Oriented Architecture
What is the difference between microservices and SOA?
Updated 2 min read6 differences
In short
SOA splits enterprise systems into shared services that talk over a central bus, while microservices split one app into small, independently deployed services.
Microservices
Microservices are an architectural style where an application is split into small, independently deployable services that communicate over a network.
Read the page on MicroservicesService-Oriented Architecture
Service-oriented architecture builds enterprise software from reusable, network-accessible services that communicate with each other through standard contracts.
Read the page on Service-Oriented ArchitectureMicroservices and Service-Oriented Architecture compared
| Aspect | Microservices | Service-Oriented Architecture |
|---|---|---|
| Era | The 2010s, cloud-native companies | The 2000s, enterprise IT |
| Service size | Small services, one business capability each | Large services shared across the business |
| Communication | Lightweight HTTP APIs, gRPC or message brokers | Often an enterprise service bus with SOAP |
| Data | Each service owns its own data | Services often share databases |
| Scope | Structuring one application | Integrating many applications across a company |
| Deployment | Each service is deployed on its own | Coordinated releases are common |
The difference, explained
SOA became popular in the 2000s as a way to connect large enterprise systems. Business functions, such as customer records or billing, are offered as reusable services, often described with SOAP and WSDL and connected through an enterprise service bus (ESB) that routes, transforms and orchestrates messages. Microservices took off in the 2010s at companies like Netflix and Amazon: one application is split into many small services, each built, deployed and scaled by its own team.
The differences are scope and coupling. SOA services are often large and shared across the whole organization, and the ESB holds much of the integration logic, so the bus becomes central and hard to change. Microservices follow the motto "smart endpoints, dumb pipes": each service keeps its own logic and database, and services talk over simple HTTP APIs or message brokers.
Microservices are often described as a refined form of SOA, and they share its core idea of building systems from services with clear interfaces. What changed is the tooling and the culture: containers, Kubernetes, CI/CD and cloud platforms made it practical to deploy hundreds of small services independently, which was hard in the SOA era.
A common misconception is that microservices are always the modern, better choice. They bring network failures, distributed data and operational overhead, and many teams do better with a well-structured monolith, while some SOA ideas, such as reusable shared services, still make sense across a large organization.
Which one should you use?
Choose Microservices when…
- You are building one large application with several independent teams.
- Parts of the system need to scale or be released on their own.
- You have the automation and monitoring to run many small services.
Choose Service-Oriented Architecture when…
- You need to connect many existing enterprise systems.
- Shared business services should be reused by many applications.
- Your organization already runs on an ESB and SOAP services.
Readers ask
Are microservices a type of SOA?
They are often seen as a lighter, finer-grained descendant of SOA. Both build systems from services, but microservices avoid a central bus and shared databases.
What is an enterprise service bus?
A central piece of middleware in SOA that routes, transforms and orchestrates messages between services. It simplifies integration but can become a bottleneck and a single point of failure.
Is SOA dead?
No. Many large companies still run SOA systems, and its ideas live on in API management and microservices, though few new projects are designed around an ESB.