Monoliths and Microservices

Module 4

Service Boundaries

Choosing where to cut is the decision that determines whether a split succeeds: how to find boundaries from data ownership and change history rather than from entity names.

32 min2 lessons
Start module

What you will be able to do

  • Derive candidate boundaries from bounded contexts and data ownership rather than from nouns.
  • Use change coupling from version history as evidence for or against a proposed boundary.
  • Apply the "who owns this fact" test to allocate data to exactly one service.
  • Recognise the entity-service and layer-service anti-patterns and their symptoms.
  • Sequence a split so that each step is independently valuable and reversible.
  1. 01Finding a Boundary That Will Hold

    Boundaries drawn around nouns produce chatty services that change together. Boundaries drawn around capabilities and owned data produce services that can change alone.

  2. 02Sequencing a Split So Each Step Is Reversible

    A migration that must complete before anything improves is a migration that gets cancelled. Order the work so every step delivers value and can be undone.

Service Boundaries

6 questions · pass at 75%