এই অধ্যায়ে আপনাকে YouTube ডিজাইন করতে বলা হয়েছে। এই প্রশ্নের সমাধান শুধু YouTube নয়, Netflix বা Hulu-এর মতো ভিডিও শেয়ারিং প্ল্যাটফর্ম ডিজাইন করার ক্ষেত্রেও ব্যবহার করা যায়। Figure 1-এ YouTube-এর হোমপেজ দেখানো হয়েছে।
Figure 1 (YouTube Homepage কী দেখায়)
এই ছবিতে YouTube ওয়েবসাইটের হোমপেজ দেখা যায়।
-
বাম পাশে একটি vertical menu bar আছে, যেখানে বিভিন্ন ক্যাটাগরি রয়েছে: Sports, Gaming, Movies, TV Shows, News, Live, Fashion, Spotlight, 360° Video, Browse channels
-
“MORE FROM YOUTUBE” অংশে: YouTube Premium, Live, Settings, Report history, Help, Send feedback
মাঝখানে video grid আছে, যেখানে প্রতিটি ভিডিওতে থাকে: Thumbnail, Title, Creator name, Views, Upload date, Duration
উদাহরণ:
- “I edited a peppa pig episode…” — Steph Inc.
- “14-year-old Alysa Liu makes history…” — NBC Sports
- “Building A Large Post Frame Garage…” — RR Buildings
- “3 Cool Gadgets…” — Unbox Therapy
উপরে search bar, profile icon এবং settings icon থাকে।
YouTube দেখতে সহজ মনে হলেও বাস্তবে এটি খুব জটিল system।
YouTube statistics (2020):
- 2 billion monthly users
- 5 billion videos watched daily
- 73% US adults use YouTube
- 50 million creators
- $15.1B ad revenue (2019)
- 37% mobile internet traffic
- 80+ languages
Step 1: Problem বুঝা এবং scope নির্ধারণ
YouTube শুধু video দেখা নয়—like, comment, share, playlist, subscribe ইত্যাদি আছে। কিন্তু interview-এ সব ডিজাইন করা সম্ভব নয়, তাই scope সীমিত করা হয়।
Candidate vs Interviewer:
Candidate: কী features দরকার? Interviewer: video upload এবং watch
Candidate: কোন clients? Interviewer: web, mobile, smart TV
Candidate: DAU? Interviewer: 5 million
Candidate: average usage? Interviewer: 30 minutes
Candidate: international users? Interviewer: yes
Candidate: video size limit? Interviewer: max 1GB
Candidate: cloud use করা যাবে? Interviewer: yes
Design scope:
- fast video upload
- smooth streaming
- quality change
- low cost
- high availability
- web/mobile/TV support
Back of envelope estimation:
Assumptions:
- 5M DAU
- 5 videos/day per user
- 10% upload 1 video/day
- avg video size 300MB
Storage: 5M × 10% × 300MB = 150TB/day
CDN cost: 5M × 5 × 0.3GB × 150,000/day
Conclusion: CDN খুব expensive হতে পারে, তাই cost optimization দরকার।
Figure 2 shows different region-based CDN pricing where cost varies by region and storage volume.