All problems

Object Storage

An S3-shaped store: durable bytes on one path, fast metadata on the other.

hard~24 min Pro Simulator · +140 ptsTheory +31 pts
The build

Keep puts and gets flowing through a nightly backup window while metadata blips and a gateway node dies.

Every request needs a metadata lookup and an object-bytes operation — the gateway splits them immediately. A cache in front of the metadata store keeps lookups off the database, and a replicated placement fleet in front of the blob store is what survives a backup window's write flood.

Components in play

  • Edge LBSpreads client traffic across the API gateway fleet.
  • API gatewaySplits every request into a metadata lookup and an object operation.
  • Placement serviceResolves which blob-store shard holds (or will hold) the object.
  • Object storeDurable storage for the actual object bytes.
  • Metadata cacheServes hot object metadata from memory so the metadata store stays idle.
  • Metadata storeSource of truth for object metadata — keys, sizes, locations.

Graded on these SLOs

  • ≥ 96.00%Puts and gets succeed
  • ≤ 140 msRequest p99
  • ≥ 14k rpsSustain the backup window
  • ≤ 90%Fleet headroom
  • ≤ 13Lean footprint
Base 14,000 rps46s run 4 scripted failures

The brief

Design an object storage service like S3: clients put and get arbitrary-size objects by key, and every single request also needs a metadata lookup — does this key exist, how big is it, which shard holds it. The two concerns have completely different shapes: metadata lookups are small and latency-sensitive, object bytes are large and durability-sensitive. They should never share a bottleneck.

Functional

  • Put an object's bytes under a key
  • Get an object's bytes back by key
  • Look up an object's metadata (size, location, existence) on every request

Non-functional

  • Durability — an accepted object is never lost
  • Metadata lookups must stay fast even while object bytes are under heavy write load
  • High availability — puts and gets must survive a metadata blip or a lost gateway node

Warm-up: design decisions

Optional theory to prime the calls a senior engineer would make before you build.

Pro

Solving is a Pro feature

Unlock the on-canvas AI design coach, per-run design reviews, the chaos simulator and all 12 problems for $15/month.

  • AI design coach on your canvas — pins failure points & over-engineering
  • Honest AI design review on every run
  • All 12 problems + unlimited chaos simulator
  • Points, levels & leaderboard
Get started