Home

/

The Production-Ready Playbook

/

The Ladder of Altitudes

The Ladder of Altitudes

Chapter 2
Part I
3
min read

The Pareto stack is a set, but a set you read in any order is just a pile. The patterns earn their power from where they sit relative to each other. So the book gives them an order, and the order is a ladder.

The seven rungs

Start at the code and rise to where it runs. Each rung answers a different question, and each assumes the rung below it is already solid. To keep the rungs from arriving as disjointed snippets, the book climbs all seven through one familiar app: a food-delivery marketplace with three sides, the customer, the restaurant (your tenant), and the courier. Each altitude solves a real feature of that same app, so you watch the patterns compose instead of meeting them one at a time and forgetting them.

Object. How do you organise code inside a single boundary so it bends instead of breaking when requirements change? This is the Gang of Four altitude: Strategy, Adapter, Decorator, and the handful of others that survived contact with thirty years of real codebases. Here the Order moves through its lifecycle as a State machine and CourierMatchingStrategy swaps nearest for fastest without an if ladder.

Component. How do you structure one service so it stays testable and changeable? Dependency injection as the spine, a thin gateway to your data, the domain core kept clean of I/O. This is where OrderGateway sits over a stored procedure and an OrderPlaced domain event notifies the kitchen.

Data and persistence. How do you store state so it survives, scales for reads, and tells you who changed what? Multitenancy, optimistic concurrency, the event-sourcing combo for the rare case that needs it. Restaurants are the tenants, sharing one schema behind tenant_id and row-level security.

Messaging and scale. How do you move state between services without losing work when one of them falls over? Queues, competing consumers, the outbox that ties a publish to a database transaction. The dinner rush is the spike; couriers compete to pick up the next assignment off the queue.

Resilience. How do you stay up when the things you depend on don't? Retry, circuit breaker, bulkhead, timeout. The patterns that turn "the payment provider hiccuped" into a non-event, plus the idempotency that stops a retry charging the customer twice.

Observability. How do you see inside a running system, and how does it wake someone when it's genuinely in trouble? Structured logs keyed on order_id, the golden signals at rush, traces that thread one order across order, payment, and courier.

Hosting. How does all of it run somewhere without marrying one cloud? The container as the portability boundary, state pushed outside it, the same order-service image on GCP (AWS, Azure).

The ladder of altitudes

Object to container. Below the bottom rung there is only syntax; above the top one there is only somebody else's billing console.

the-pareto-stack-cloud-design-patterns-for-small-teams
the-ladder-of-altitudes
how-to-read-this
object-level-the-patterns-that-earn-their-keep
decorator
state
component-level-structuring-one-service
ports-and-adapters-hexagonal
mediator-the-commandquery-split
data-persistence
optimistic-concurrency
messaging-scale
outbox
resilience-staying-up-when-dependencies-dont
rate-limiting-throttling
timeout-fallback
the-composed-pipeline
observability-diagnostics-seeing-inside-production
metrics-the-four-golden-signals
externalised-configuration
hosting-cloud-agnostic-by-default
sidecar-ambassador
orchestrator-agnostic-deploy
a-reference-service
the-relay-outbox-to-queue
the-payment-saga-charge-pay-out-compensate
the-over-engineering-tax
conclusion-production-ready-deliberately
the-pattern-quick-reference-card
altitude-3-data-persistence
altitude-5-resilience
the-skip-list
full-event-sourcing-for-crud
robert-c-martin-uncle-bob-the-house-authority-for-structure
altitude-2-component
altitude-4-messaging-scale
altitude-6-observability-diagnostics

Download the full PDF for free?

Free download — no account required

Get the PDF
Get the PDF
Related Chapters
Free Download
Get the full PDF
All pages, including all code examples, diagrams, and the appendix reference card.
No spam. Unsubscribe at any time.
Your email won't be shared.
Oops! There's a problem with your request. We're working on fixing it. Please try again later.