Skip to content

Architecture2 min read

Live and on-demand want opposite things

A stadium-scale live surge and a fifteen-year archive have opposite cache behaviour, opposite failure tolerance and opposite cost profiles. Most platforms are built for exactly one of them.

  • live
  • vod
  • broadcast
  • capacity

Put both workloads on one edge and the surge wins, every time, at the moment the archive can least afford to lose.

The conflict, concretely

During a live event, tens of thousands of viewers request the same few segments within seconds of each other. The working set is tiny and it moves continuously. Cache it aggressively and hit ratio is near-perfect.

An archive is the opposite: a large working set, sparsely and unpredictably accessed, where any given slice may be requested twice a week.

Share a machine and the live working set — small, hot, constantly refreshed — evicts the archive's. When the match ends, every archive request is a miss against an origin that is also recovering.

LiveOn demand
Working setTiny, movingLarge, static
Concurrency shapeA cliff, on a scheduleA smooth curve
Tolerance for a stallNoneSome
Right eviction policyAggressiveConservative
Failure impactEveryone at onceA few people

The structural answer

Two edges. Same hardware budget, split rather than pooled, with their own cache policies and their own failure domains.

The gain is not only cache behaviour. It is that a live failure and an archive failure stop being the same incident — and on the night that matters, the thing you most want is for the blast radius to be smaller than the whole service.

Peak night is the architecture

An average-day design fails on the one night that matters. Broadcast concurrency is a flat line with a cliff in it, and the cliff arrives on a schedule everyone already knows. That is a gift — it can be planned for — and a trap, because a platform sized for the average falls over exactly when the audience and the coverage are largest.

What this costs

Two machines held at a utilisation neither would justify alone. That is real, and it is the price of the failure domains. For a service that is purely on-demand it is not worth paying; for anyone carrying live events it is the cheapest insurance in the architecture.

More on how this shapes a broadcast deployment on the broadcasters page.

Is this the bill you are paying?

If the pattern in this write-up describes your setup, the next step is reading your actual numbers against it. Send twelve months of billing and your concurrency curve.