You are joining the platform team of a live-sports streaming service in India. Video is delivered as HLS and DASH segments through multiple CDNs; the control plane (playback API, auth, entitlement, DRM licences, heartbeats, ad decisioning) runs on three Kubernetes clusters in three cloud regions. Last season's semi-final peaked at 32 million concurrent viewers, and the team scaled by setting very high minReplicas a day early and hoping.
The interviewer asks“The final is in six weeks and the forecast says 50 million concurrent viewers at the peak. Design the auto-scaling for our Kubernetes estate so we survive that peak without paying for three times the capacity all season. What scales, on what signal, and what happens when the forecast is wrong?”
First I split the system: video segments are absorbed by the CDN and the origin is fixed-size, so what actually scales with viewers is heartbeats, session start, entitlement, DRM and personalised manifests. I size those from the forecast, roughly 830k heartbeat requests per second and 80k session starts per second at 50 million, and provision each region for 50 percent of peak so we survive losing one of three. Scaling runs in two layers: a predictive floor driven by the match schedule and forecast, and a reactive layer on concurrency and per-pod request rate through KEDA, with Karpenter nodes, overprovisioning pause pods and reserved capacity underneath. When the forecast is wrong, pre-agreed degradation tiers shed non-essential features and admission-control new sessions so existing viewers keep playing.
A free account unlocks the rest of it, and saves your progress across every track.
kubectl get List Kubernetes resources and their statuskubectl describe Explain an object's state, conditions and eventskubectl logs Read and follow container logskubectl exec Run a command or shell inside a running containerkubectl apply Create or update resources from YAML, declarativelykubectl delete Delete Kubernetes resources safelykubectl scale Change the replica count of a workloadkubectl rollout Watch, undo and restart Deployment rollouts