System Design: Streaming Video Platform MVP
Context
Design a Netflix‑like MVP that serves consumer video-on‑demand. Assume:
-
Global audience, single cloud provider, 2 regions active‑active.
-
Peak: 100k concurrent streams, 1M MAU.
-
Catalog: ~10k titles (movies + series). HLS/DASH supported on web, mobile, TV.
Core Use Cases
-
Browse Catalog
-
Users browse by genre and by rails such as "Recently Added" and "Top Ten".
-
Play Videos
-
Users play at multiple resolutions on diverse devices using adaptive bitrate streaming (ABR).
-
Resume Playback
-
The system remembers and restores a user's last play position across devices.
Deliverables
Define the MVP design covering:
-
Overall architecture: ingestion/transcoding pipeline, metadata/catalog service, playback/ABR, CDN, session/auth.
-
API endpoints and data models for catalog browse and playback state.
-
Mechanisms to compute and surface "Recently Added" and "Top Ten".
-
DRM and access control basics.
-
Consistency and caching strategies.
-
Scalability/availability targets.
-
Metrics/analytics collection.
-
Failure handling (e.g., CDN fallback, partial catalog outages).