Software Engineering Newsletter

Software Engineering Newsletter

Share this post

Software Engineering Newsletter
Software Engineering Newsletter
Interview(DSA+SD) Prep Series Part:-2
Copy link
Facebook
Email
Notes
More

Interview(DSA+SD) Prep Series Part:-2

Designing a Scalable System for Video Streaming: Building a Minimalistic YouTube

Naveen Chandrawanshi's avatar
Naveen Chandrawanshi
Dec 04, 2023
∙ Paid
1

Share this post

Software Engineering Newsletter
Software Engineering Newsletter
Interview(DSA+SD) Prep Series Part:-2
Copy link
Facebook
Email
Notes
More
Share

In today's digital age, video streaming platforms like YouTube have become an integral part of our online experience. Behind their seemingly effortless operation lies a complex infrastructure that ensures seamless video uploading, storage, transcoding, and streaming, all while managing an enormous volume of user-generated content. Let's dive into the architectural considerations and key components needed to build a basic version of YouTube.

Key System Requirements

Building a basic YouTube platform involves understanding and catering to certain functional and non-functional requirements.

Functional Requirements

  1. Video Upload: Enabling users to upload their videos to the platform.

  2. Video Viewing: Allowing users to access and view uploaded videos.

  3. Quality Adjustment: Providing options for users to adjust video quality.

  4. Metric Tracking: Keeping track of essential video metrics such as likes, dislikes, comments, and view counts.

Non-Functional Requirements

  1. Speedy Upload & Smooth Streaming: Ensuring fast video uploading and a seamless streaming experience for users.

  2. High Availability & Scalability: Prioritizing system availability and scalability while being willing to compromise some consistency for availability.

  3. Low Latency & High Throughput: Minimizing latency and ensuring high data throughput.

  4. Cost-Efficiency: Optimizing the system to manage costs effectively.

Capacity Estimation and System Constraints

Understanding the scale and capacity requirements helps shape the system design and infrastructure decisions.

  1. User Base Estimation: Assuming a user base of around 2 billion.

  2. Daily Active Users: Approximately 400 million.

  3. Videos Watched Per User/Day: Estimated at 5 videos.

  4. Daily Video Uploads: Anticipating about 20 million video uploads per day.

  5. Storage Requirements: Projected storage needs of approximately 2 PB per day (excluding compression and replication).

Here’s what you are missing

  1. upcoming Most imp DSA questions with multiple solution and best approach

  2. complete guide of system design

  3. how to approach tech interview guide

  4. unlock the best DSA and System design Cheat sheet

Keep reading with a 7-day free trial

Subscribe to Software Engineering Newsletter to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2025 Naveen chandrawanshi
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share

Copy link
Facebook
Email
Notes
More