System Design — Architectural Design
System Design course: designing scalable systems. Start with CAP theorem, ACID vs BASE, consistency and sharding, then cover load balancing (L4/L7, Round Robin, Consistent Hashing) and caching (CDN, Redis, Memcached, invalidation strategies). Dedicated modules cover databases (SQL vs NoSQL, replication, partitioning, indexes), microservices (API Gateway, Service Discovery, Circuit Breaker), message queues (Kafka, RabbitMQ, SQS, Pub/Sub patterns), data storage (S3, Blob Storage, CDN, hot/warm/cold tiers) and monitoring (Prometheus, Grafana, ELK, OpenTelemetry, tracing). Includes CI/CD and infrastructure (Docker, Kubernetes, Terraform, GitOps), plus architecture reviews of real-world systems: YouTube, Twitter, Uber, WhatsApp and Netflix.