The following table lists some of the differences between SOA and microservice architecture:
| 
 Service-oriented Architecture (SOA)  | 
 Microservice architecture  | 
| 
 Focuses on imperative programming  | 
 Focuses on a responsive actor programming style  | 
| 
 Its models tend to have an outsized relational database  | 
 Microservices frequently use NoSQL or micro-SQL databases (which can be connected to conventional databases)  | 
| 
 In SOA, ESB implements communication between mutually-interacting software  | 
 In microservices, independent processes communicate with each other using language-agnostic APIs  | 
| 
 It is easier to deploy new versions of services frequently, or scale a service independently  | 
 Services can operate and be deployed independently of other services  | 
| 
 SOA has ESB, which could be a single point of failure that impacts the entire application  | 
 Microservice architecture has a much better fault-tolerance system  | 
| 
 Data storage is shared between services  | 
 Each service has its own data storage  |