Software architecture Made visibleBy Abel · Free to explore

A diagram is only
the beginning.

The boxes look reasonable. Then a dependency slows down, requests start waiting, and the interesting questions begin.

Let’s try it

01A checkout with a weak link.

Start with the payment provider. The rest follows.

SYSTEM OPERATIONALCHECKOUT / 6 NODES
CHECKOUT SYSTEMBOUNDARY / 01HTTPSREQUESTSYNCSYNCREAD / WRITEClientREQUEST ORIGINAPI GatewayENTRY POINTOrder ServiceSERVICE APayment APIEXTERNAL DEPENDENCYInventoryINTERNAL SERVICEDatabasePERSISTENT STATEFOCUSED VIEW / CHECKOUT PATHvia API gatewaypayment requestClient24 requests / secondOrder ServiceWorkers availablePayment APIHealthy dependencyINVENTORY + DATABASE REMAIN HEALTHY
Request flow HealthySelect a node to inspect
RESPONSE TIME
128ms
ERROR RATE
0.0%
IN-FLIGHT REQUESTS
0
RESPONSES / SECOND
24req/s
Can one slow provider use up your order service’s capacity?

Introduce the failure and watch the next few seconds.

Enter the experiment
What to notice

The checkout path has capacity to spare.

Start with a healthy provider and 24 incoming requests per second. The readouts show the baseline.

SYSTEM OPERATIONAL. Circuit not installed. Payment dependency is healthy.

Only the payment dependency is under test. Inventory and storage stay healthy, so you can see where the failure stops.

Build your own scenario
New field notes / Integrations

Three providers. How long does your caller wait?

Compare synchronous calls and queued work. Try timeouts, retries, and a provider that stops answering.

02 / The pattern index

Start with something
that could go wrong.

A pattern makes more sense when you have a reason to use it. These five experiments begin with a problem you might actually meet.

Browse the collection

03The same system, a different question.