Stage 4 · Provision
System Design for SRE
Real-world architecture decisions, reliability patterns, and distributed systems design for production at scale.
Prerequisite
Applications + infrastructure.
What this course leaves you with
- Design systems end-to-end on a whiteboard
- Reason about reliability, latency, and trade-offs
- Model architectures that survive scale
Why this stage matters — You can design — now run those workloads on Kubernetes.
Progress
0 of 66 lessons complete. Progress is stored locally in your browser so you can pick the path back up later.
course completion
Designing for High Availability
Redundancy, failover, and eliminating single points of failure.
- 01Availability FundamentalsSLAs, SLOs, SLIs — the language of reliability.6 min
- 02Redundancy PatternsActive-passive, active-active, and quorum-based designs.8 min
- 03Failover StrategiesAutomatic vs manual, DNS vs load balancer, stateful failover.7 min
- 04Multi-Region ArchitectureActive-active across regions, data replication, latency tradeoffs.8 min
- 05Chaos EngineeringHypothesis-driven failure injection to validate resilience.7 min
- 06Runbook AutomationTurning incident response into executable code.6 min
Load Balancing & Traffic Management
Distributing traffic intelligently for performance and resilience.
- 01Load Balancing AlgorithmsRound-robin, least connections, consistent hashing, and when to use each.7 min
- 02L4 vs L7 Load BalancingTCP/UDP vs HTTP/gRPC — tradeoffs and use cases.6 min
- 03Traffic Splitting & CanaryGradual rollouts, A/B testing, and feature flags at the infrastructure layer.7 min
- 04Service Mesh Traffic ControlIstio/Linkerd for mTLS, retries, timeouts, and circuit breaking.8 min
- 05API Gateway PatternsAuthentication, rate limiting, request transformation at the edge.6 min
- 06Global Load BalancingGeo-DNS, anycast, and latency-based routing across continents.7 min
Database Scaling Strategies
From vertical scaling to sharding — choosing the right approach.
- 01Vertical Scaling & Read ReplicasWhen to scale up vs out, synchronous vs async replication.6 min
- 02Sharding StrategiesHash, range, directory-based — and how to reshard without downtime.8 min
- 03Caching LayersRedis, Memcached, local caches — cache-aside, read-through, write-through.7 min
- 04Distributed SQL (NewSQL)CockroachDB, Spanner, TiDB — strong consistency at scale.7 min
- 05Polyglot PersistenceChoosing the right database for each access pattern.6 min
- 06Zero-Downtime MigrationsDual-write, CDC, and the strangler fig pattern for database migrations.8 min
Observability-Driven Design
Building systems that tell you when they're breaking.
- 01Logs, Metrics, TracesThe three pillars and why structured logging matters.5 min
- 02SLO-Driven DevelopmentDefining error budgets and making reliability a product feature.7 min
- 03Distributed TracingOpenTelemetry, context propagation, and debugging across services.7 min
- 04Alerting PhilosophySymptom-based vs cause-based, reducing alert fatigue.6 min
- 05Dashboard DesignRED and USE methods, golden signals, and operational dashboards.6 min
- 06Cost as a SignalTracking cloud spend per service, per request, per team.5 min
Data Systems at Scale
Designing data paths for throughput, durability, and predictable failure modes.
- 01Partitioning ModelsHash, range, and composite sharding with hot-key mitigation and online resharding.8 min
- 02Replication TopologiesLeader-follower, multi-leader, and quorum replication with failover tradeoffs.8 min
- 03Consistency ModelsLinearizability, read-your-writes, eventual consistency, and CAP/PACELC decisions.7 min
- 04Cache HierarchiesBrowser, CDN, edge, Redis, and application caches with invalidation strategies.7 min
- 05CDN & Edge DesignAnycast, origin shielding, stale-while-revalidate, and cache-key design.6 min
- 06Event Streams & QueuesKafka, RabbitMQ, SQS, and exactly-once semantics with idempotent consumers.8 min
System Design Interviews
Practicing crisp requirements, estimates, APIs, data models, and trade-off narratives.
- 01Back-of-the-Envelope EstimationQPS, storage, bandwidth, cache size, and fanout estimates using powers of ten.6 min
- 02Design a URL ShortenerBase62 keys, collision handling, redirects, analytics, and abuse prevention.7 min
- 03Design a Rate LimiterToken bucket, leaky bucket, sliding window logs, and Redis Lua enforcement.8 min
- 04Design a News FeedFanout-on-write, fanout-on-read, ranking, denormalized timelines, and cache warming.8 min
- 05Design a Chat SystemWebSockets, presence, ordering, offline delivery, and message storage partitions.8 min
- 06Trade-off FramingLatency versus consistency, cost versus durability, and explaining rollback plans.6 min
Asynchronous Systems
Designing queues and streams that absorb bursts without losing work.
- 01Queue SemanticsVisibility timeouts, acknowledgements, dead-letter queues, and retry policies in SQS and RabbitMQ.7 min
- 02Event Streaming with KafkaTopics, partitions, consumer groups, offsets, and compaction in Kafka clusters.8 min
- 03Idempotent ConsumersDeduplication keys, transactional outboxes, and exactly-once boundaries for event handlers.7 min
- 04Backpressure ControlRate limits, bounded buffers, consumer lag, and load shedding for asynchronous workers.7 min
- 05Workflow OrchestrationTemporal, Step Functions, sagas, and compensation steps for long-running business processes.8 min
- 06Async ObservabilityTracing message hops, queue depth, consumer lag, and poison-message handling with OpenTelemetry.6 min
Resilience Patterns
Containing failures with explicit budgets, isolation, and degraded modes.
- 01Timeout BudgetsConnection, request, and overall deadline budgets across Envoy, gRPC, and HTTP clients.7 min
- 02Retry StrategiesExponential backoff, jitter, retry budgets, and idempotency requirements for safe retries.7 min
- 03Circuit BreakersOpen, half-open, and closed states with failure thresholds in Hystrix and Envoy.6 min
- 04Bulkheads and IsolationThread pools, connection pools, resource quotas, and cell-based blast-radius reduction.7 min
- 05Graceful DegradationFallback data, partial responses, static modes, and brownout controls during dependency outages.6 min
- 06Failure Injection TestsValidating resilience with Toxiproxy, Chaos Mesh, latency injection, and dependency blackholes.8 min
Scalability & Capacity
Forecasting growth and proving systems can handle planned demand.
- 01Horizontal vs Vertical ScalingCPU, memory, disk IOPS, and network ceilings that determine scale-up or scale-out choices.6 min
- 02Stateless Service DesignExternal sessions, shared caches, sticky routing risks, and immutable application instances.6 min
- 03Capacity ModelingQPS, concurrency, Little's Law, saturation curves, and headroom targets for production services.8 min
- 04Load Testing MethodsOpen-loop and closed-loop tests with k6, Locust, wrk, and realistic traffic mixes.8 min
- 05Autoscaling SignalsCPU, queue depth, custom metrics, KEDA, and Kubernetes HPA stabilization windows.7 min
- 06Cost Performance TradeoffsRightsizing, reserved capacity, spot instances, and latency SLOs in cloud capacity plans.7 min
Cache Design Patterns
Using cache layers deliberately while preserving correctness under change.
- 01Cache-Aside PatternRead-through misses, write invalidation, TTLs, and stale reads with Redis and Memcached.7 min
- 02CDN Cache KeysVary headers, query normalization, surrogate keys, and origin shielding in Fastly and CloudFront.7 min
- 03Invalidation StrategiesPurge APIs, versioned objects, write-through updates, and event-driven invalidation pipelines.8 min
- 04Thundering Herd ControlRequest coalescing, probabilistic early refresh, locks, and stale-if-error responses.8 min
- 05Hot Key MitigationKey salting, local caches, replication, and load-aware routing for skewed access patterns.7 min
- 06Cache ObservabilityHit ratio, eviction rate, latency, object size, and origin offload metrics for cache tiers.6 min
Design Case Studies
Combining reliability tradeoffs into complete production architectures.
- 01Design a Notification SystemFanout queues, user preferences, provider retries, deduplication, and delivery receipts.8 min
- 02Design a Metrics PipelineScraping, remote_write, aggregation, cardinality limits, and long-term storage with Thanos.8 min
- 03Design a Search ServiceIndexing pipelines, Elasticsearch shards, freshness targets, and relevance ranking updates.7 min
- 04Design a File Storage ServiceMultipart uploads, object metadata, checksum validation, lifecycle policies, and CDN delivery.7 min
- 05Design a LeaderboardRedis sorted sets, partitioned rankings, periodic snapshots, and anti-cheat data checks.6 min
- 06Design an Audit LogAppend-only storage, tamper evidence, retention policies, and queryable compliance exports.7 min