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
- 21LLM GatewaysOne unified proxy in front of many model providers: routing, fallback, cost, caching, and observability.Published 09 Jul 202612 sections
- 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
- 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
- 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
- 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
- 26Design Principles: KISS, SOLID, CAP, BASEThe short list of acronyms that quietly shape almost every system-design decision.Published 09 Jul 20269 sections
- 27ACID Properties in DatabasesThe four guarantees that let a database survive crashes, concurrency, and half-finished work.Published 09 Jul 202611 sections
- 28Apache Airflow (Workflow Orchestration)Scheduling and dependency-managing batch data pipelines with a DAG as the core abstraction.Published 09 Jul 20268 sections
- 29Snowflake (Cloud Data Warehouse)Separating storage from compute so analytics can scale elastically over huge datasets.Published 09 Jul 20269 sections
- 30The Data LakehouseCheap lake storage plus warehouse-grade table management, unified in one architecture.Published 09 Jul 20267 sections
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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