Versions Compared
Version | Old Version 2 | New Version 3 |
---|---|---|
Changes made by | ||
Saved on |
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Tip |
---|
The Framework proposed in this space (Alex Xu) is applied to propose a design : Getting started - a framework to propose... |
Introduction
We can do a lot more on YouTube than watching a video. So, we must narrow down the scope.
Step 1 - Understand the problem and establish the scope
Required features ? | Upload and watch video only. |
---|---|
What clients do we need to support ? | Mobile App, Web App, Smart TV. |
How many daily active users ? | 5 million |
Average daily time spent on product ? | 30 min. |
Support international users ? | Yes. |
What are supported video resolutions ? | Most of the video resolutions and formats. |
Encryption required ? | Yes. |
File size requirement for videos ? | Max size = 1 GB. |
Leverage cloud infra (Amazon, Google, Microsoft) | Recommended to use existing cloud services. |
Focus : ability to upload videos fats, smooth video streaming, ability to change video quality, low infra cost, HA, scalability and reliability, clients supported (mobile, web and smart TV).
Back-of-the-enveloppe estimation
5 million daily active users (DAU)
5 videos per day.
10% of users upload 1 video per day.
Average video size = 300 MB.
Total daily storage = 5 million * 10% * 300 MB = 150 TB.
CDN cost :
CDN serves video, we are charges for data transferred out of CDN.
Average cost per GB is 0.02$ for USA.
5 million * 5 videos * 0.03GB * 0.02$ = $150000 per day.
On this page.
Table of Contents |
---|
Step 2 - High-level design

From the design above, 2 flows could be considered:
Video uploading flow
Video streaming flow