Fundamentals System Designs
Worked Fundamentals system design walkthroughs: the requirements, the trade-offs, real numbers and the component choices behind each design.
A Step-by-Step Framework for Approaching Any System Design Interview
A repeatable, structured framework for cracking system design interviews: from clarifying requirements to discussing trade-offs, with real numbers and concrete component choices.
Fundamentals · beginner · 12 min read
Availability Patterns: Active-Passive Failover, Active-Active, and Replication
A deep dive into the three core availability patterns—active-passive failover, active-active, and replication—with real trade-offs, failure modes, and interview-ready talking points.
Fundamentals · intermediate · 12 min read
Availability, Reliability, Failover and Fault Tolerance
A ground-up guide to building systems that stay up: SLAs, redundancy patterns, failover mechanics, and the real trade-offs between availability and consistency.
Fundamentals · beginner · 12 min read
Back-of-the-Envelope Estimation: QPS, Storage, Bandwidth, and Memory Sizing
Learn how to estimate queries per second, storage, bandwidth, and memory for any system—turning vague requirements into concrete capacity numbers before writing a single line of code.
Fundamentals · beginner · 12 min read
Batch vs Stream Processing
A deep comparison of batch and stream processing architectures: when to use each, how to build them, and how Lambda and Kappa architectures unify both.
Fundamentals · intermediate · 12 min read
Concurrency vs Parallelism in Backend Systems
A precise, engineering-level breakdown of concurrency and parallelism models, when to use each, and how they map to real backend components like thread pools, event loops, and worker queues.
Fundamentals · intermediate · 12 min read
Consistency Models: Strong, Eventual, Causal, and Read-Your-Writes
A deep-dive into the four consistency models every distributed systems engineer must know, with real trade-offs, failure modes, and interview talking points.
Fundamentals · intermediate · 12 min read
Idempotency: Designing Safe Retries for APIs and Workers
Learn how to make APIs and background workers safe to retry by applying idempotency keys, deduplication stores, and atomic state transitions — with concrete patterns and real trade-offs.
Fundamentals · intermediate · 12 min read
Latency vs Throughput vs Bandwidth
Understand the three core performance dimensions of any distributed system—latency, throughput, and bandwidth—and how to measure, tune, and trade them off in real architectures.
Fundamentals · beginner · 12 min read
Performance vs Scalability
Understand the difference between making a system faster for one user and making it handle more users, and learn when to optimize each dimension.
Fundamentals · beginner · 12 min read
Push vs Pull Architectures
A deep comparison of push and pull delivery models—covering when each wins, how to size queues, and the real failure modes that trip up production systems.
Fundamentals · intermediate · 12 min read
Scalability: Vertical vs Horizontal Scaling
Understand when to scale up a single machine versus scale out across many, with real numbers, trade-offs, and patterns used in production systems.
Fundamentals · beginner · 12 min read
Stateful vs Stateless Design
Understand when to keep state in a service vs. push it to external stores, with concrete patterns, failure modes, and scaling implications for real distributed systems.
Fundamentals · beginner · 12 min read
Synchronous vs Asynchronous Communication Between Services
A deep-dive into when to use direct request-response calls versus message-driven patterns, with real latency numbers, failure modes, and trade-offs every distributed systems engineer must know.
Fundamentals · beginner · 12 min read
The CAP Theorem and PACELC in Practice
Understand CAP and PACELC trade-offs with real database examples, failure scenarios, and the concrete decisions that shape every distributed system you build.
Fundamentals · intermediate · 12 min read