Skip to main content

Decision engine

Answer a few questions; get a recommendation with rationale. Each recommendation links back to the relevant Component or Pattern page so you can go deeper.

Which database?

The database decision is often the single biggest architectural commitment you'll make. Get it right by answering four questions in order.

1Do you need strong consistency (every read sees the latest write)?
2What shape is your data?
3What's your expected write throughput?
4Do users span multiple continents?

More decisions coming

These trees are scaffolded — the questionnaire structure is above, and real trees ship next.

Do I need a cache?

Coming soon

When cache-aside pays off, and when it becomes a liability.

Browse related components →

Queue or Stream?

Coming soon

RabbitMQ, SQS, Kafka — three tools, three jobs.

Browse related components →

REST, gRPC, or GraphQL?

Coming soon

Team constraints usually matter more than raw performance.

Browse related components →

Strong or eventual?

Coming soon

The right answer is almost always 'per operation'.

Browse related components →

Leader, multi-leader, or leaderless?

Coming soon

Three topologies for the same problem.

Browse related components →

Horizontal or vertical?

Coming soon

Vertical until it hurts; horizontal from then on.

Browse related components →

Object storage or block?

Coming soon

S3 vs EBS vs EFS — pick by access pattern.

Browse related components →