Independent services
Microservices
Microservices are services independently deployable and modeled around a business domain. They buy autonomy and scale — at a real cost in operational and cognitive complexity. This track covers when they pay off, how to decompose a monolith safely, how services communicate, and how teams own them.
Mark a topic “learned” on its page and watch the bars fill.
Skill map
Learned nodes light up — the glowing one is your next step. Click any node to jump in.
Foundations
What microservices are and aren’t — independent deployability, information hiding, the benefits and the very real costs, and when not to reach for them.
Independently releasable services modeled around a business domain that own their own data — and why information hiding and independent deployability are the whole game.
✦ Complete · ⏱ 5 min 2 · Beginner Benefits and Costs of MicroservicesMicroservices buy you options — technology heterogeneity, targeted scaling, robustness, organizational alignment — at a real and significant cost in distributed-systems complexity.
✦ Complete · ⏱ 4 min 3 · Beginner When Not to Use MicroservicesMicroservices are a bad fit for unclear domains, true startups, and customer-installed software — and the biggest reason not to adopt is simply not having a good reason.
✦ Complete · ⏱ 4 minDecomposition & Migration
Finding the seams — modeling service boundaries around business domains, and incrementally strangling a monolith into services without a big-bang rewrite.
Where to draw the lines — using information hiding, coupling/cohesion, the four (or five) types of coupling, and just-enough domain-driven design (aggregates and bounded contexts) to find stable boundaries.
✦ Complete · ⏱ 5 min 5 · Intermediate The Strangler Fig PatternMigrate functionality out of a monolith incrementally by wrapping it, intercepting calls, and redirecting them to new services one slice at a time — with rollback at every step.
✦ Complete · ⏱ 4 min 6 · Advanced Decomposing the DatabaseMicroservices must own their data, so migration means splitting the shared database — coping patterns, ownership transfer, and the hard losses of joins, foreign keys, and ACID transactions.
✦ Complete · ⏱ 5 min 7 · Advanced Migration Patterns: Branch by Abstraction & Parallel RunBeyond the strangler fig — branch by abstraction for functionality deep inside the monolith, parallel run to verify a risky replacement, plus decorating collaborator and change data capture.
✦ Complete · ⏱ 5 minCommunication & Workflow
How services talk — sync vs async styles, choreography vs orchestration, sagas for distributed workflow, and handling data across boundaries.
Choose the communication style before the technology — request-response vs event-driven, synchronous vs asynchronous — and understand temporal coupling, cascading failures, and what goes in an event.
✦ Complete · ⏱ 5 min 9 · Intermediate Choreography vs OrchestrationTwo ways to coordinate a multi-service business process: a central orchestrator that commands the flow, or choreographed services reacting to broadcast events — and when to choose each.
✦ Complete · ⏱ 4 min 10 · Advanced Sagas: Distributed Workflows Without Distributed TransactionsCoordinate multiple state changes across services without long-held locks by modeling a process as a sequence of local transactions, with compensating actions for rollback.
✦ Complete · ⏱ 4 min 11 · Advanced Handling Data ConsistencyLife after ACID across services — the CAP theorem, eventual consistency, the canonical source of truth, idempotency, and designing boundaries around transactions.
✦ Complete · ⏱ 4 minBuilding & Operating
Running them in production — deployment and progressive delivery, testing strategies and contract tests, observability, and resilience at scale.
Deploying many interdependent services: the five principles of deployment, the options from VMs to FaaS, and progressive delivery — separating deployment from release to control the blast radius.
✦ Complete · ⏱ 4 min 13 · Intermediate Testing MicroservicesThe test pyramid in a distributed world — why end-to-end tests turn brittle, why consumer-driven contract tests replace them, and how to test safely in production.
✦ Complete · ⏱ 5 min 14 · Intermediate Observability: Logs, Metrics, and TracesFrom monitoring to observability — log aggregation with correlation IDs, metrics, distributed tracing, and SLO/SLI/error-budget thinking for understanding production you never anticipated.
✦ Complete · ⏱ 4 min 15 · Advanced Resilience: Timeouts, Retries, Circuit Breakers, BulkheadsStability patterns for distributed systems — timeouts, retries, bulkheads, circuit breakers, and idempotency — plus the four aspects of resilience and why it's ultimately a people property.
✦ Complete · ⏱ 4 minPeople & Organization
The sociotechnical side — Conway’s Law and team topologies, ownership models, and the platform and culture that let microservices succeed.
Systems mirror the communication structure of the organizations that build them — so align teams to business domains, use the four Team Topologies team types, and apply the Inverse Conway Maneuver incrementally.
✦ Complete · ⏱ 4 min 17 · Intermediate Ownership and Platform TeamsStrong, active service ownership at scale, and the platform/enabling teams that provide a non-mandatory 'paved road' of self-service tooling — plus governance as guardrails, not gatekeeping.
✦ Complete · ⏱ 6 min🔪 Migrate incrementally — never big-bang rewrite
The reliable path to microservices is to keep the monolith running and peel services off one at a time, behind patterns like the strangler fig, branch-by-abstraction and parallel run. Each step delivers value and is reversible. A big-bang rewrite trades a working system for months of risk.