Scenario / Edge delivery
CDN & Object Storage: Media Delivery Architecture
A creator platform releases a video collaboration feature. Media delivery, asset storage, and app traffic all spike together.
Run this scenarioBriefing
Media delivery & storage tiers
Media delivery separates dynamic application traffic from static assets, large files, and searchable read paths.
Serving files through app servers or databases burns expensive capacity on work that edge caches and object storage handle better.
The fastest request is the one that never reaches your server. Push static content to the edge.
- Put static or repeatable media behind a CDN.
- Store large files in object storage instead of the primary database.
- Move expensive search reads into a dedicated search index when needed.
Contract
99.7%
190ms
$760/mo
Traffic shape
Flash-sale surge with a steep ramp and sustained peak. Baseline 180 users; peak around 6,200 users over 54 hours.
Available components
Server
HTTP request handler Every web app needs at least one server. More servers let you handle more simultaneous requests before latency starts climbing.
Postgres
Primary data store Without a database, your app has no memory. Most dynamic requests eventually depend on it.
CDN
Static asset edge cache Images, scripts, stylesheets, and some API responses do not need to travel all the way back to origin every time.
Object Store
Media and blob storage Binary media does not belong in your primary relational database if you want scale and predictable cost.
Search
Search/read index Search-heavy features can hammer the main database if every query has to be answered from relational tables.
Redis
In-memory cache layer Popular pages, profiles, and product data often get requested again and again. Serving those from memory is much faster and cheaper.
LB
Load balancer If you run more than one server, something needs to decide where each request goes. That is the load balancer.
Queue
Async job buffer Moving background work out of the request path keeps the app responsive even when extra processing is needed.
Worker
Background job processor Separating background work keeps checkout, page loads, and other user actions from competing with batch processing.
Rate limiter
Request throttle During abuse events, legitimate traffic competes with junk traffic for server capacity. Filtering noisy traffic at the edge protects the rest of the stack.
Common mistakes
- Large static assets should bypass the app and database path.
- CDN rules need origin-safe defaults and static assets need a durable storage origin.
- Search-heavy reads need a dedicated index and careful rebuild timing.
- Query-heavy paths need indexes, replicas, or search offload before peak traffic.
Interview adjacency
- Design YouTube media delivery
- Design image hosting
- Design static asset delivery