Compare
Every trade-off table from Foundations and the case studies, in one place. Each one is a two-column comparison, click through to the article for the actual table.
Foundations
Core Concepts
Availability
Single instance vs Redundant instances (N+1)CAP Theorem
CP (Consistency + Partition tolerance) vs AP (Availability + Partition tolerance)Latency vs Throughput
Process immediately vs Batch before processingScalability
Vertical scaling vs Horizontal scaling
Storage & Data
Caching
TTL expiry vs Explicit invalidation on writeDatabase Indexes
No index vs IndexDatabase Replication
Synchronous replication vs Asynchronous replicationDatabase Sharding
Natural key (e.g. customer_id) vs Hashed key (e.g. hash of order_id)Databases (SQL vs NoSQL)
SQL (relational) vs NoSQL (document / key-value)
Networking & Delivery
API Gateway
Duplicated per service vs Centralized in a gatewayCDN
Static assets (images, CSS, JS) vs Personalized / dynamic responsesLoad Balancers
Round robin vs Least-connectionsMessage Queues
Synchronous call vs Queued (async)Rate Limiting
Fixed window vs Token bucket
Architecture Patterns
Circuit Breaker
No circuit breaker vs Circuit breakerCQRS
One shared model vs CQRS (separate read/write models)Event-Driven Architecture
Direct service calls vs Events (pub/sub)Microservices Architecture
Monolith vs MicroservicesMonolith vs Microservices
Splitting before the org is ready vs Splitting when team size forces it
Security
Authentication vs Authorization
Route-level authorization only vs Object-level authorizationEncryption & TLS
Encryption in transit (TLS) vs Encryption at restJWT & Sessions
Session (server-side lookup) vs JWT (self-contained, verified)OAuth 2.0 & OpenID Connect
OAuth access token vs OIDC ID tokenPassword Hashing
Fast hash (SHA-256, MD5) vs Slow, salted hash (bcrypt, argon2)
Reliability
Idempotency Keys
With idempotency keys vs Without themOutbox Pattern
Direct publish (dual write) vs Outbox pattern
Observability & SRE
Alerting & On-Call
Cause-based alerts vs Symptom-based alertsChaos Engineering
Never tested in production vs Tested via a chaos experimentDisaster Recovery
Backups only vs Continuous replication + warm standbyDistributed Tracing
Manual propagation vs Shared middleware / instrumentation libraryHealth Checks & Readiness Probes
One combined health check vs Separate liveness and readiness checksMetrics, Logs & Traces
Metrics + logs, uncorrelated vs Metrics + logs + traces, correlated by requestSLIs, SLOs & Error Budgets
No SLO, reliability by vibes vs SLO with an error budget
Case Studies
Web-scale
Design a URL Shortener
Base62 counter vs Hash + collision check
Java & Spring
Coming soon.
Payments
Design a Payment Gateway with Idempotent Retries
Postgres unique constraint vs Redis SETNX + TTL