|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.