Deploy an Application

One real workload, walked through the learning loop one decision at a time. Every choice is recorded with its reason, the alternative you rejected and the trade-off you accepted — because that record, not the diagram, is what a design review actually reads.

You have an API — Node, Python or C++, it does not matter here — and a PostgreSQL database. It works on your machine. Roughly 200 requests per second at peak, a team of four, real customer data, and a European customer base. Decide how to run it in production. Each decision is recorded with its reason, its alternative and its trade-off.
Application RequirementInfrastructure RequirementComputeNetworkStorageIdentityDeploymentScalingReliabilityObservabilitySecurityCostTrade-offs
Decision 1

Where does compute run?

The API is a long-running HTTP service with ordinary Linux needs. Where should it run?

Already decided · Nothing is decided yet. Four engineers, none of whom currently operates infrastructure full time.

Lesson behind this decision
1 / 10

Decision log

Decision → reason → alternative → trade-off. The alternative is part of the record; a decision without one is a guess that happened to work.

Decisions made
0 / 10
Strong
0
Defensible
0
Weak
0

Nothing decided yet

Answer a decision above and it is recorded here with the alternative you rejected.