MicroservicePatterns.com

Suggestions

  • PagePattern catalogAll patterns by category.
  • LabCircuit Breaker and Retries labCrash a dependency and tune the breaker.
  • LabSaga labFail a step and watch the compensations run.
  • PagePractice questionsScenario questions with explanations.
  • PageDesign reviewCheck your own architecture for anti-patterns.
Hands-on labs · Patterns for systems and teams

Master Microservice Design Patterns by Breaking Things

Work through 47 patterns for the system and the teams that build it. Test yourself on real scenarios and check your own design for anti-patterns. For everyone who learns, builds, designs or leads microservice systems, from students to engineering leaders.

  • 14 hands-on labs Crash services and fail steps halfway, then watch which patterns hold.
  • 7 team patterns The people side too: reorganise the teams and watch lead time change.
Featured lab · Circuit BreakerClosed
ClientbrowserCheckoutokbreakerPaymentsok
Checkout response
80 ms
Errors users see
0%
Calls flow through and Payments answers in about 80 ms.
Open lab →
How it works

Learn it, break it, test it, apply it

  1. Learn

    Read the pattern

    47 patterns in 8 categories, for the system and the teams that build it: what each one is, why it exists, how to apply it, when not to, and how it connects to the others.

    Open the catalog →
  2. Break

    Run a lab

    14 hands-on labs. Crash a service, fail a saga halfway, break a mobile app with an API change or reorganise the teams, then switch on the pattern and compare.

    Enter the labs →
  3. Test

    Answer scenarios

    119 scenario questions. A wrong answer explains why and points you back to the patterns to revisit. Your progress and milestones are saved as you go.

    Start practicing →
  4. Apply

    Review your design

    Describe your own services, data stores, calls and the teams that own them. Rule checks flag technical and ownership anti-patterns in your browser.

    Review a design →
Who it's for

From students to engineering leaders

Whatever your title, start where your work is.

Architecture

How is the system built?

The technical side: where service boundaries go, how services share data and talk, how web and mobile clients fit in, how the system survives failure, and the platform it runs on.

Decomposition

Where do the boundaries go?

How to split a system into services and migrate toward them without a big-bang rewrite.

4 patterns
Data management

Who owns the data, and how does it stay consistent?

How services own their data and still deliver business outcomes that span several of them.

8 patterns
Communication

How do clients and services talk?

How requests and messages move between clients, gateways and services.

8 patterns
Frontend

How do web and mobile clients fit in?

How web and mobile apps are split between teams, composed into one experience and kept working as the services behind them change.

5 patterns
Resilience

What happens when a dependency fails or slows down?

How to keep serving users when parts of the system are broken, slow or overloaded.

5 patterns
Observability

How do we see what the system is doing?

How to understand behaviour that is spread across many processes and machines.

3 patterns
Platform and deployment

How do we build, ship and run it?

How cross-cutting concerns are built once by a platform and shared, so every service ships and runs the same way.

7 patterns
Overview

Layers and cross-cutting concerns

Every layer from the screen to the database, who owns it, and how concerns such as identity, tracing and versioning work across all of them.

Read the overview →
Organisation

Who builds and runs it?

The people side: how teams are shaped around business capabilities and the platform, how they work together, and who owns each pattern.

Teams and ownership

How should teams be shaped and work together?

How teams are shaped around business capabilities, layers and the platform, so each team can deliver without waiting on the others.

7 patterns
Overview

Teams and ownership

Product teams through every layer, platform teams under them, the four team types and who usually owns each pattern.

Read the overview →
Suggested path

Not sure where to start?

  1. Draw the boundaries

    Start with Decompose by Subdomain and Database per Service. Everything else depends on these two decisions.

  2. Survive failure

    Read Circuit Breaker and Retry with Backoff, then run the Circuit Breaker lab to see how they interact.

  3. Stay consistent

    Move on to Saga and Transactional Outbox, where most real projects get stuck. Then break them in the Saga and Outbox labs, and see how read models drift in the CQRS and Event Sourcing lab.

  4. Organise the teams

    Read Stream-Aligned Team and Platform Team, then reorganise the same product in the Conway's Law lab and watch lead time change.