Principles
Loose coupling
Loose coupling
Services depend on published contracts, never on another service’s database or internal
types. A change inside one service must not force a change in another.
High cohesion
High cohesion
Each service owns one business capability end to end. Related behavior and data live
together; unrelated concerns live elsewhere.
Service autonomy
Service autonomy
A service controls its own data, schema, and deployment lifecycle. It can be released
without coordinating a lockstep deploy with its peers.
Contract-first
Contract-first
Interfaces are defined before implementation and treated as a stable, versioned promise
to consumers.