LabsPartly open
Build it, break it, see the result
Reading tells you how a system should behave. A lab lets you find out. Pick a kind and a topic.
Design a short-link service (a URL shortener)
Build a short-link service from parts, press Run, and see whether it shortens, redirects and counts clicks, and whether it keeps doing so when a server, the cache or the click worker dies.System Design challenges · 11 checksOpen labDesign a home feed (a news feed)
Build a home-feed service from parts, press Run, and see whether it saves posts, opens feeds and delivers every new post to the followers, and whether it keeps doing so when a server, the feed cache or the fan-out worker dies.System Design challenges · 11 checksOpen labDesign a chat service (messages, online dots and alerts)
Build the back end of a chat app from parts, press Run, and see whether it stores messages, shows who is online and sends an alert to a closed app, and whether it keeps doing so when a connection server, the cache or the alert worker dies.System Design challenges · 11 checksOpen labDesign a product search box (search and typeahead)
Build a marketplace search box from parts, press Run, and see whether it returns products, serves suggestions and gets a seller's change into the index, and whether it keeps doing so when an app server, a search node or the indexing worker dies.System Design challenges · 12 checksOpen labDesign a ride service that finds nearby drivers (ride matching)
Build Safar's ride service from parts, press Run, and see whether it stores where drivers are, finds the ones near a rider, saves trips, and keeps going when an app server, a node of the location map or the trip worker dies.System Design challenges · 11 checksOpen labDesign a ticket drop (a flash sale)
Build the system behind a ticket drop from parts, press Run, and see whether it can hold seats, show which seats are free and confirm payments when 8,000 requests a second hit it at ten o'clock, and whether it keeps going when an app server, the seat-map cache or the payment worker dies.System Design challenges · 11 checksOpen labDesign a web page collector (a web crawler)
Build DalilBot from parts, press Run, and see whether it fetches pages, saves them and sends the links it finds back as new work, and whether it keeps going when a fetcher, the seen-URL memory or the page parsers stop.System Design challenges · 11 checksOpen labDesign a video platform (video streaming at scale)
Build a video platform from parts, press Run, and see whether videos play and uploads become playable, and whether the service keeps going when a CDN network, an app server or the transcoding workers stop.System Design challenges · 9 checksOpen labA web tier on AWS
Size an AWS web tier for launch day, then survive losing a zone.Cloud and DevOpsOpen labA web app on Kubernetes
Route traffic through an Ingress and a Service to a Deployment, and let the HPA size it.Cloud and DevOpsOpen labA Compose stack
Run a proxy, app containers and Postgres, and find which container limit bites first.Cloud and DevOpsOpen labOne Linux host
Put nginx, an app service and PostgreSQL on hosts and see which one runs out of cores.Cloud and DevOpsOpen labThe point where waiting explodes (the utilisation knee)
Push load into one app tier and watch p99 climb once it passes the knee.System Design ideasOpen labThree layers for 10,000 requests a second (a three-tier design)
Size Daftar's load balancer (the front door that spreads traffic), app machines and database for exam week, then make it survive losing a zone (one data centre).System Design ideasOpen labWasla's redirects: answers kept in memory (cache-aside)
Put a cache in front of Wasla's links store so 100,000 redirects a second never reach the database.System Design ideasOpen labExplore a small network
Run real commands on any device, then step through the packet they sent, one hop at a time.NetworkingOpen labFix the office network
Two office PCs cannot reach the server two routers away. Find the three faults with real commands and fix them.NetworkingOpen labPlan the school network
The school has one block, 10.20.0.0/22. Give every group its own block that fits its devices, with no overlaps.NetworkingOpen labBuild a router
A laptop and a server sit on different subnets. Place them, add a router, cable everything and set the addresses until they can talk.NetworkingOpen labReach the home server from outside
A home router shares one public address with every device behind it. Make the laptop reach the outside server, let the outside server reach the home web page through a forwarded port, and keep the guest network away from the home devices.NetworkingOpen labConnected, but no internet
A laptop is plugged into the home network and cannot load a page. Walk up the layers from the cable to the web page, find the three faults, and fix each one where it lives.NetworkingOpen lab
How a visual lab works
Build
Add parts from the list, link them and set their size. Switch between plain names and real AWS names at any time.Choose what to break
Open a part and press Break it. That only arms the failure. Nothing changes until you run.Press Run
The design plays through every scenario: normal traffic, the peak, and each failure.Read the checks
Every test case passes or fails on the board, with the number it measured and why. Fix one thing and run again.