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