Sam Newman (2016), Building Microservices, O′Reilly.
“Microservices are small, autonomus services that work together.”.
- Small and focused on doing one thing well
- Autonomous, services need to be able to change independently of each other
- Technology heterogeneity
- Resilience, if one component of a system fails, you can isolate the problem while the rest of the system can carry on working
- Ease of deployment
- Organizational alignment, microservices allow us to better align our architecture to our organization
- Composability, microservices can be consumed in different ways for different purposes
- Optimizing for replaceability