Microservice Based Architecture (MSA) |
Service-Oriented Architecture (SOA) |
Microservices uses lightweight protocols such as REST, and HTTP, etc. |
SOA supports multi-message protocols. |
It focuses on decoupling. |
It focuses on application service reusability. |
It uses a simple messaging system for communication. |
It uses Enterprise Service Bus (ESB) for communication. |
Microservices follows "share as little as possible" architecture approach. |
SOA follows "share as much as possible architecture" approach. |
Microservices are much better in fault tolerance in comparison to SOA. |
SOA is not better in fault tolerance in comparison to MSA. |
Each microservice have an independent database. |
SOA services share the whole data storage. |
MSA used modern relational databases. |
SOA used traditional relational databases. |
MSA tries to minimize sharing through bounded context (the coupling of components and its data as a single unit with minimal dependencies). |
SOA enhances component sharing. |
It is better suited for the smaller and well portioned, web-based system. |
It is better for a large and complex business application environment. |