Step 1: Use cases and constraints
Design a web service that must grow from one user to tens of millions. What will you handle, and what do you assume?
Answer each step in your own words before you look. The model answers follow System Design Primer: Design a system that scales to millions of users on AWS.
Design a web service that must grow from one user to tens of millions. What will you handle, and what do you assume?