Search⌘ K
AI Features

System Design: YouTube

Explore YouTube as a global video-streaming platform that enables users to upload, watch, and interact with content on a massive scale. Learn how its popularity is driven by rich creator content and a highly scalable, high-availability system that delivers videos efficiently to billions of users.

What is YouTube?

YouTube is a global video streaming service where users upload, stream, search, and interact with content. Both individuals and businesses maintain channels to host videos. As a primary source of entertainment, it ranks second-most viewed website after Google, according to WikipediaSee https://en.wikipedia.org/wiki/List_of_most_visited_websites.

A depiction of a content creator uploading a video to YouTube that many viewers will stream
A depiction of a content creator uploading a video to YouTube that many viewers will stream

YouTube’s popularity

YouTube’s massive popularity stems from several key factors:

  • Simplicity: The interface is intuitive yet powerful.

  • Rich content: Free hosting attracts a vast community of content creators.

  • Continuous improvement: Engineering teams relentlessly optimize for scalability. Google’s 2007 acquisition further bolstered credibility and resources.

  • Source of income: The partnership program allows creators to monetize viral content.

Additionally, strategic partnerships with media giants like CNN and NBC solidified YouTube’s market foothold.

YouTube’s growth

YouTube launched in 2005 and has seen sustained user growth. As of the latest publicly reported figures, YouTube serves over 2.5 billion monthly active users. The table below shows user growth trends over the past decade.

Increase in monthly active users of YouTube per year

YouTube trails only Netflix in streaming volume. Approximately 694,000 hours of video content is streamed on YouTube per minuteSource: https://www.statista.com/statistics/195140/new-user-generated-content-uploaded-by-users-per-minute/!

AI Powered
Saved
1 Attempts Remaining
Reset
List three key building blocks necessary to design a system like YouTube.

Let’s evaluate your understanding of the building blocks required in the design of YouTube. Based on the functional and nonfunctional requirements given below, identify three key building blocks needed to curate the design of YouTube.

Functional requirements:

  • Stream videos
  • Upload videos
  • Search videos according to titles
  • Like and dislike videos
  • Add comments to videos
  • View thumbnails

Nonfunctional requirements:

  • High availability
  • Scalability
  • Good performance

You should focus on the building blocks required for back-end storage and efficient data transmission to end users. Please also specify the reason(s) behind the selection of a building block.

The following lessons detail the design process.

How will we design YouTube?

We have divided the course into five lessons:

  1. Requirements: Identify functional and non-functional requirements. We will estimate resources, such as the storage needed for 500 hours of video uploaded per minute.

  2. Design: Define the high-level architecture, API design, database schemas, and search functionality.

  3. Evaluation: Analyze how the proposed design meets requirements and handles future scaling challenges.

  4. Reality is more complicated: Explore advanced techniques for effective content delivery and network congestion avoidance.

  5. Quiz: Reinforce concepts by applying them to a Netflix system design scenario.

Note: Building blocks are covered in detail in the building blocks chapter.