shlogg · Early preview
Prashant Mishra @prashantrmishra

Designing Scalable Video Sharing Platform

Designing scalable video platform: Estimated 5B videos watched daily, 50GB storage needed. Using Amazon S3 & MongoDB for high availability & fast searches. Implementing CDN, cache & UDP/TCP protocols for efficient streaming.

Functional Requirements:  

Uploading videos
Watching videos

Non-Functional Requirements:  

Availability > Consistency

Extended Requirements:
(Not mandatory)
Design Considerations / Capacity Estimation:
Traffic Estimation:
Let's assume there are 1 billion (100 crore) total users, out of which 100 million (10 crore) are active users.
For every video uploaded, let's assume there are 100 videos watched simultaneously.
This gives us a ratio of 100:1 (100 reads per 1 write).  
From this analogy, if 5 videos are watched per day, it would mean that 5 * 1 billion = 5 billion (50 crore) videos are w...