Abstract
Terminologies
Small
- Each service can be written in one or two weeks
 
Focused on One Task
- Separation of Concerns in the Problem Domain
 
- Accomplishes one task when viewed from outside
 
Aligned with a Bounded Context
- A Bounded Context is a defined part of software where particular terms, definitions and rules apply in a consistent way
 
- Each service follows natural ‘Fire-Breaks’ in the Problem Domain
 
Autonomy
- We can change implementation without coordinating with others
 
- The real value provided by micro-services
 
Independently Deployable
- An important aspect of Autonomy
 
- Teams that can decide when to deploy are significantly more effective
 
Loosely Coupled
- The interface to Micro-service is a Public API
 
- It should be changed only with Great Care
 
- When consuming the API, use minimum data that you can to reduce coupling
 
- We can use versioning to support backward compatibility