SOFTWARE ENGINEERING
SWE System Design
Core distributed-systems ideas for software engineers
CURRICULUM
A visual course on the concepts behind reliable large-scale software systems: availability, consistency, partition tolerance, replication, sharding, caching, queues, consensus, failure modes, and the tradeoffs engineers must choose explicitly.
- 01A Method for Designing SystemsA repeatable way to approach any design problem, and how to sketch it clearly.Published 09 Jul 202614 sections
- 02Scalable System Design PatternsCore patterns for growing a system from one server to a distributed architecture.Published 09 Jul 202617 sections
- 03Different Types of Data StorageChoosing storage by access pattern, consistency, scale, and query shape.Published 09 Jul 202620 sections
- 04Caching, In DepthHow caches actually work: strategies, eviction, invalidation, and the failure modes.Published 09 Jul 202616 sections
- 05Queues and Messaging, In DepthDecoupling with queues and logs: delivery guarantees, ordering, and failure handling.Published 09 Jul 202614 sections
- 06Event-Driven ArchitectureReacting to events instead of calling services directly: notification, state transfer, and event sourcing.Published 09 Jul 202611 sections
- 07Sharding and Partitioning, In DepthSplitting data across nodes: partition strategies, rebalancing, and the hard queries.Published 09 Jul 202616 sections
- 08Replication and Consensus, In DepthKeeping copies in sync: leader-follower, quorums, and how nodes agree.Published 09 Jul 202615 sections
- 09Managing Shared StateKeeping data correct when many servers, workers, and clients touch it at once.Published 09 Jul 202623 sections
- 10CAP TheoremWhen a distributed system is cut in half by a network partition, it must choose between answering and risking disagreement, or stopping until agreement is safe.Published 09 Jul 202626 sections
- 11The OSI Model (and why TCP/IP won)A first-principles tour of the seven layers, a real packet's journey, and where switches, routers, and load balancers actually sit.Published 09 Jul 20269 sections
- 12HTTP/1.1 vs HTTP/2 vs HTTP/3How the web's core protocol evolved to kill head-of-line blocking — and when each version actually matters for your design.Published 09 Jul 20267 sections
- 13Content Delivery Networks (CDN)A first-principles tour of edge PoPs, anycast routing, the cache hierarchy, and the headers that control it all.Published 09 Jul 202610 sections
- 14How SSH Really WorksA first-principles walk through the SSH handshake: key exchange, host verification, authentication, and the encrypted channel — and why it uses two different kinds of cryptography.Published 09 Jul 20269 sections
- 15gRPCContract-first RPC over HTTP/2: Protocol Buffers, streaming, deadlines, and when it beats REST.Published 09 Jul 202610 sections
- 16GraphQLOne endpoint, client-specified queries: solving over/under-fetching, and paying for it with resolver and caching complexity.Published 09 Jul 202610 sections
- 17The API Gateway PatternOne front door for many services: routing, auth, rate limiting, and the cross-cutting concerns you pull off the services.Published 09 Jul 202611 sections
- 18Data-Plane Proxies: Envoy & KongThe proxies that run the traffic: Envoy's sidecar mesh, Kong's centralized gateway, and the control-plane/data-plane split.Published 09 Jul 202610 sections
- 19WAF & Edge SecurityThe outer wall: filtering malicious traffic at the edge before it ever reaches your servers.Published 09 Jul 202611 sections
- 20Security in System DesignBuilding systems that stay safe even when one layer fails: defense in depth, least privilege, and trust boundaries.Published 09 Jul 202613 sections
- 21OAuth 2.0 & OpenID ConnectLetting an app act on your behalf without ever handing it your password — and telling authorization apart from authentication.Published 09 Jul 202611 sections
- 22LLM GatewaysOne unified proxy in front of many model providers: routing, fallback, cost, caching, and observability.Published 09 Jul 202612 sections
- 23Agentic System ArchitectureFrom a single prompt to an LLM in a loop that observes, decides, calls tools, and acts toward a goal.Published 09 Jul 202610 sections
- 24Agentic Patterns & ReliabilityThe building-block patterns for composing agents, and the guardrails that make them safe to run in production.Published 09 Jul 202612 sections
- 25Distributed System Patterns I: ResilienceThe handful of patterns that keep a distributed system standing when one of its parts misbehaves.Published 09 Jul 202613 sections
- 26Distributed System Patterns II: Data & CoordinationThe patterns for moving, storing, and agreeing on data once a single database is no longer enough.Published 09 Jul 202613 sections
- 27Design Principles: KISS, SOLID, CAP, BASEThe short list of acronyms that quietly shape almost every system-design decision.Published 09 Jul 20269 sections
- 28ACID Properties in DatabasesThe four guarantees that let a database survive crashes, concurrency, and half-finished work.Published 09 Jul 202611 sections
- 29Apache Airflow (Workflow Orchestration)Scheduling and dependency-managing batch data pipelines with a DAG as the core abstraction.Published 09 Jul 20268 sections
- 30Snowflake (Cloud Data Warehouse)Separating storage from compute so analytics can scale elastically over huge datasets.Published 09 Jul 20269 sections
- 31The Data LakehouseCheap lake storage plus warehouse-grade table management, unified in one architecture.Published 09 Jul 20267 sections
- 32Concurrency vs ParallelismDealing with many things at once versus doing many things at once — and why they're not the same.Published 09 Jul 20269 sections
- 33DevOps vs SRE vs Platform EngineeringThree overlapping disciplines that all attack the dev↔ops wall — a culture, an engineering practice, and a product — and when an org needs each.Published 09 Jul 20268 sections
- 34Data PipelinesThe automated plumbing that moves and reshapes data from where it is produced to where it is used — stages, ETL vs ELT, batch vs streaming, and why it exploded in popularity.Published 09 Jul 202610 sections
- 40Two Planes of Authorization: Who/What vs Where/HowWhen a workload reaches out to a customer's database or connector, two very different systems must both say "yes" — an **auth service** that decides *who* the user is and *what* they may do, and an **egress proxy** that decides *where* the workload may connect and *how*. Why these are separate jobs, why collapsing them into one is a security bug, and how the four authorization layers combine as an AND.Published 20 Jul 20269 sections