Module 2: Microservices & Service Decomposition: Guided Labs
Lab 1: Capability and Invariant Map
Map workflows, business capabilities, invariants, data ownership, and team ownership for a coupled system. Propose bounded services or modules without following table names.
Lab 2: Distributed-Monolith Test
For each proposed service, identify synchronous dependencies, shared databases, coordinated deployments, and cross-service changes. Repair the worst coupling before extraction.
Lab 3: Extraction Spike
Extract one capability and add contract tests, observability, deadlines, retries, idempotency, deployment, and rollback. Measure the resulting tax.
Lab 4: Data Ownership Migration
Move from shared tables to one writer and explicit contracts using backfill, validation, dual-read/compare where needed, cutover, and retirement.
Evidence: context map, tax ledger, tests, traces, migration proof, and decision.