System Design Problems
Design Instagram
Instagram serves 2B+ monthly active users with 100M+ photos uploaded daily. This design covers feed generation, media storage, social graph management, and real-time notifications.
- Scale â 2B MAU, 100M photos/day, 500M stories/day
- Feed â Personalized ranking with sub-100ms latency
- Media â Multi-resolution storage and CDN delivery
Instagram is a masterclass in building systems that balance real-time social interactions with massive media delivery.
Requirements Clarification
Functional Requirements
- Upload photos/videos with captions
- View personalized feed of posts from followed users
- Like, comment, and share posts
- Follow/unfollow users
- View stories (24-hour ephemeral content)
- Direct messaging with media sharing
- Explore/discover trending content
Non-Functional Requirements
- Availability: 99.99% uptime
- Latency: Feed loads < 200ms
- Durability: Media must never be lost
- Consistency: Eventual consistency for feed, strong for actions
- Scale: 100M photo uploads/day, 1B feed reads/day
Back-of-the-Envelope Estimation
High-Level Architecture
Feed Generation Deep Dive
Fan-out on Write vs Fan-out on Read
Feed Ranking Algorithm
Media Processing Pipeline
Data Model
Scaling Strategies
Horizontal Sharding
Practice Exercises
-
Feed Design: How would you handle the case where a user follows someone who has posted 1000 times in the last hour? How do you prevent feed flooding?
-
Media Storage: Design a multi-resolution image storage system. How do you determine which resolutions to generate and store?
-
Consistency: When a user likes a post, how do you ensure the like count is eventually consistent across all read replicas while avoiding race conditions?
-
Optimization: How would you reduce the latency of feed generation for users who follow 5000+ accounts?
What to Learn Next
-> Design Twitter Real-time feeds, fan-out, and timeline generation.
-> Design Facebook Social graph, news feed, and platform architecture.
-> Design YouTube Video streaming and transcoding at scale.
-> Design Netflix Content delivery and recommendation systems.
-> CAP Theorem Understanding consistency vs availability trade-offs.
-> Caching Strategies Write-through, write-back, and cache invalidation.