Decision trees

The architecture choices that recur.

Seven interactive trees for the decisions that come up most often in real engagements. Each walks the — specific — conditions that make a different answer right, ends in a recommendation with trade-offs and watch-outs, and links to the matching diagnostic, reference architecture, anti-pattern, or essay. The path is captured in the URL hash: bookmarkable, shareable.

GenAI · 4 questions · 6 end-states

Build or buy an AI gateway.

Use-case count × regulatory posture × platform-team funding × sovereignty constraints. Skip-vs-buy-vs-build sized to the conditions.

Open the tree →
Ends at: managed gateway · self-hosted OSS · skip entirely · ...
GenAI · 4 questions · 7 end-states

RAG, fine-tune, prompt — or hybrid.

Knowledge-vs-behaviour fork. Knowledge change cadence. Example count for behaviour. Strict-vs-loose for hybrid. Where the “just fine-tune it” reflex goes wrong.

Open the tree →
Ends at: RAG · fine-tune · prompt+examples · RAG+guardrails+router · ...
DevSecOps · 3 questions · 5 end-states

OPA, Kyverno, Cedar — which engine, where.

Picked by enforcement surface (admission · CI · IaC · app-authz), not by language preference. Where the Rego learning curve flips the decision.

Open the tree →
Ends at: Kyverno · OPA · Cedar · OpenFGA/SpiceDB · multi-tool
SaaS architecture · 4 questions · 6 end-states

Shared, cell-based, or single-tenant.

Uniform load × isolation requirements × head-tenant count. The migration triggers (when to add cells, when to extract a single-tenant stack).

Open the tree →
Ends at: shared MT · cell-based · ST for head + cells for tail · ...
Cloud/Platform · 4 questions · 6 end-states

Kubernetes, managed PaaS, or FaaS.

Service count × traffic shape × platform-team funding × multi-cluster needs. Where K8s adoption without a platform team becomes a tax.

Open the tree →
Ends at: FaaS · managed PaaS · managed K8s · multi-cluster fleet
Distributed systems · 3 questions · 5 end-states

Sync, async, or event-driven.

Does the caller need the answer? Cross-org vs internal? Queue vs event-stream? The hybrid pattern (sync critical-path + event for the rest).

Open the tree →
Ends at: REST+OpenAPI · gRPC · managed queue · Kafka · sync+event hybrid
Architecture · 2 questions · 4 end-states

Monolith, modular monolith, microservices.

Team count predicts the right shape more than tech fit. Where the modular monolith beats both extremes. Strangler-fig extraction at scale.

Open the tree →
Ends at: monolith · modular monolith · selective extraction · microservices
Also on this site