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.

  1. 01A Method for Designing SystemsA repeatable way to approach any design problem, and how to sketch it clearly.Published 09 Jul 202614 sections
  2. 02Scalable System Design PatternsCore patterns for growing a system from one server to a distributed architecture.Published 09 Jul 202617 sections
  3. 03Different Types of Data StorageChoosing storage by access pattern, consistency, scale, and query shape.Published 09 Jul 202620 sections
  4. 04Caching, In DepthHow caches actually work: strategies, eviction, invalidation, and the failure modes.Published 09 Jul 202616 sections
  5. 05Queues and Messaging, In DepthDecoupling with queues and logs: delivery guarantees, ordering, and failure handling.Published 09 Jul 202614 sections
  6. 06Event-Driven ArchitectureReacting to events instead of calling services directly: notification, state transfer, and event sourcing.Published 09 Jul 202611 sections
  7. 07Sharding and Partitioning, In DepthSplitting data across nodes: partition strategies, rebalancing, and the hard queries.Published 09 Jul 202616 sections
  8. 08Replication and Consensus, In DepthKeeping copies in sync: leader-follower, quorums, and how nodes agree.Published 09 Jul 202615 sections
  9. 09Managing Shared StateKeeping data correct when many servers, workers, and clients touch it at once.Published 09 Jul 202623 sections
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 15gRPCContract-first RPC over HTTP/2: Protocol Buffers, streaming, deadlines, and when it beats REST.Published 09 Jul 202610 sections
  16. 16GraphQLOne endpoint, client-specified queries: solving over/under-fetching, and paying for it with resolver and caching complexity.Published 09 Jul 202610 sections
  17. 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
  18. 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
  19. 19WAF & Edge SecurityThe outer wall: filtering malicious traffic at the edge before it ever reaches your servers.Published 09 Jul 202611 sections
  20. 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
  21. 21LLM GatewaysOne unified proxy in front of many model providers: routing, fallback, cost, caching, and observability.Published 09 Jul 202612 sections
  22. 22Agentic 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
  23. 23Agentic Patterns & ReliabilityThe building-block patterns for composing agents, and the guardrails that make them safe to run in production.Published 09 Jul 202612 sections
  24. 24Distributed System Patterns I: ResilienceThe handful of patterns that keep a distributed system standing when one of its parts misbehaves.Published 09 Jul 202613 sections
  25. 25Distributed 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
  26. 26Design Principles: KISS, SOLID, CAP, BASEThe short list of acronyms that quietly shape almost every system-design decision.Published 09 Jul 20269 sections
  27. 27ACID Properties in DatabasesThe four guarantees that let a database survive crashes, concurrency, and half-finished work.Published 09 Jul 202611 sections
  28. 28Apache Airflow (Workflow Orchestration)Scheduling and dependency-managing batch data pipelines with a DAG as the core abstraction.Published 09 Jul 20268 sections
  29. 29Snowflake (Cloud Data Warehouse)Separating storage from compute so analytics can scale elastically over huge datasets.Published 09 Jul 20269 sections
  30. 30The Data LakehouseCheap lake storage plus warehouse-grade table management, unified in one architecture.Published 09 Jul 20267 sections
  31. 31Concurrency 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
  32. 32DevOps 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
  33. 33Data 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
  34. 34Customer-Managed Data Stores (Bring-Your-Own-Database)What changes when the customer, not the vendor, owns and operates the database that holds their data — the control-plane/data-plane split, the trust boundary, and how you run schema and migrations on a box you don't host.Published 20 Jul 20268 sections
  35. 35The Bring-Your-Own-Database DebateWhen to let customers own the database and when to keep it yourself — the real gains (residency, control, trust) against the real costs (version skew, blind debugging, slower velocity), the spectrum in between, and a way to choose.Published 20 Jul 20268 sections
  36. 36Self-Service Cloud Infrastructure: From Ticket Queues to ClaimsReplace ticket-driven app infrastructure with a bounded claim API: application teams declare approved needs, a control loop creates app-scoped resources, and the platform retains authority over foundations and policy.Published 27 Jul 202620 sections
  37. 37Production Multimodal RAG: The Platform Around the ModelA vision-language model can read a chart, but a production system must first find the right chart, preserve its evidence, enforce access, survive re-indexing, detect regressions, control cost, and roll back safely. This day builds that surrounding platform one layer at a time.Published 04 Aug 202622 sections
  38. 38JSON vs JSONB in ProductionThe production choice is rarely JSON *or* relational columns. Keep identity, tenancy, status, and lifecycle relational; put only genuinely variable evidence in a small, versioned `jsonb` envelope; then earn each index from a measured query.Published 05 Aug 202612 sections
  39. 39Langfuse vs Grafana: Observe the AI and the SystemLangfuse and Grafana are not interchangeable dashboards. Langfuse explains what happened inside one AI turn; Grafana shows what is happening across the surrounding system. Production teams correlate them only when both question classes carry material risk.Published 05 Aug 202613 sections
  40. 40Tenant Isolation in a Shared DatabaseA shared database is not automatically a shared trust boundary. Safe multi-tenancy means tenant ownership is part of every row's identity, every parent-child reference preserves that ownership, and the database enforces the scope even when application code forgets.Published 08 Aug 20267 sections