There are different interpretations of what microservices means and how it relates to service-oriented architecture (SOA). In this section, we are going to view microservices as a refinement of SOA and not a new architectural pattern. The microservice architecture extends SOA by adding some additional key principles which require that services must:
- be small - hence the term micro
- be built around a business capability
- be loosely coupled with other services
- be independently maintainable
- have an isolated state