Bird
0
0
LLDsystem_design~10 mins

Requirements analysis in LLD - Scalability & System Analysis

Choose your learning style9 modes available
Scalability Analysis - Requirements analysis
Growth Table: What Changes at Each Scale
UsersData VolumeTrafficSystem ComplexityRequirements Focus
100 usersSmall (MBs)Low (few requests/sec)SimpleBasic functionality, correctness
10,000 usersMedium (GBs)Moderate (hundreds req/sec)ModeratePerformance, reliability, usability
1,000,000 usersLarge (TBs)High (thousands req/sec)ComplexScalability, fault tolerance, security
100,000,000 usersVery Large (PBs)Very High (millions req/sec)Very ComplexGlobal distribution, data partitioning, disaster recovery
First Bottleneck: What Breaks First and Why

At small scale, unclear or incomplete requirements cause delays and rework.

At medium scale, performance bottlenecks appear if requirements miss load expectations.

At large scale, missing scalability and fault tolerance requirements cause system failures.

At very large scale, lack of clear data partitioning and disaster recovery requirements leads to outages.

Scaling Solutions: How to Adapt Requirements Analysis
  • Start with clear, detailed functional and non-functional requirements.
  • Use iterative refinement: gather feedback and update requirements regularly.
  • Include scalability, reliability, and security early in requirements.
  • Plan for data growth and traffic spikes in requirements.
  • Use modeling and prototyping to validate requirements before implementation.
  • Engage stakeholders continuously to avoid misunderstandings.
Back-of-Envelope Cost Analysis

Requests per second grow from a few at 100 users to millions at 100M users.

Data storage needs grow from megabytes to petabytes.

Network bandwidth and processing power requirements increase accordingly.

Early requirements must estimate expected load to avoid costly redesigns.

Interview Tip: Structuring a Scalability Discussion on Requirements Analysis

1. Clarify the system scope and user base size.

2. Identify key functional and non-functional requirements.

3. Discuss how requirements evolve with scale.

4. Highlight potential bottlenecks caused by missing or vague requirements.

5. Suggest iterative and stakeholder-driven approaches to refine requirements.

Self-Check Question

Your system requirements specify support for 1000 requests per second. Traffic grows 10x. What do you do first?

Answer: Revisit and update requirements to include higher load expectations, then plan system design changes accordingly.

Key Result
Clear, evolving requirements are critical to scaling systems smoothly; missing or vague requirements cause early bottlenecks and costly redesigns.