Sweet Crumbs Bakery is a beloved neighborhood cake shop that has been taking walk-in orders for 15 years. The owner, Maya, wants to launch a simple website where customers can browse the catalog, place orders, and pay online.
The site needs a product catalog (≈200 items), a shopping cart, and a checkout flow that records orders in a database. Maya expects about 10,000 unique visitors per day, with peaks on Friday evenings and Saturday mornings (roughly 3× the average).
Your job is to design the system architecture that can reliably serve this traffic, store order data safely, and keep the site responsive (< 500 ms page loads).
A small bakery wants to launch a website for online orders. Design the backend for ~10 k daily visitors. Build this architecture under realistic production constraints, then validate tradeoffs in the design lab simulation.
Clarify requirements: Small e-commerce shop, ~10k daily visitors, 3x peak on weekends. Product catalog (~200 items), shopping cart, checkout, order history.
Estimate scale: 10k DAU / 86,400s ~= 0.12 RPS average. 3x peak ~= 0.35 RPS. A single server handles this trivially.
Pick components:
Key tradeoffs to discuss:
Simple and cost-effective - At ~10k daily visitors with 3x peak, a single API server can comfortably handle the load (~0.35 RPS average, ~1 RPS peak).
At 10k daily visitors, adding a load balancer, cache layer, or multiple servers would be over-engineering. The budget is low (single small team), and a single server with a CDN achieves the 99.5% availability target. If the bakery grows (see Cake Shop 2), we can add caching and horizontal scaling later.