Skip to main content

Concept: Scalability

1. The Snapshot

A system's ability to handle increased load (data, traffic, or complexity) by adding resources in a predictable way.

2. The Description

Scalability is not a one-dimensional label ("X is scalable"). It is a description of how a system copes with growth. It requires defining load parameters (what is growing?) and performance metrics (what is the impact?) to determine the strategy for adding resources.

3. Author Quotes

"scalability means considering questions like 'If the system grows in a particular way, what are our options for coping with the growth?' and 'How can we add computing resources to handle the additional load?'" (p. 11)

4. Defining Features

  • Load Parameters: Describing current load (e.g., requests per second, ratio of reads/writes).
  • Performance Metrics: Observing what happens when load increases (e.g., response time percentiles).
  • Growth Strategy: Having a clear path to add resources (scaling up or out) to maintain performance.

5. The Boundary

  • It is NOT a Binary State: A system isn't "scalable" or "not scalable." It's a question of how it scales under specific types of growth.
  • It is NOT just Performance: Performance is "fast for a given load." Scalability is "maintaining performance as load increases."

6. The Prototype

Twitter's 2012 architecture change. The "fan-out" (write) load for celebrities became so high that the system couldn't scale by just adding more databases. They had to change the architecture to a "pull" model for those specific users.

7. Helpful Info

A common mistake is designing for scalability prematurely. "Hypothetical scalability" often leads to complex, hard-to-maintain systems that are slower at low loads.

8. The Swap Test

"To maintain Reliability as our user base grows, we must invest in Scalability to ensure our latency stays within acceptable bounds."

9. Source Reference

ddia/pages/page_033.txt


🧠 Pedagogical Tracking

MilestoneStatusDateLesson RefNotes
Introduced in Lesson
Active Recall #1
1-Day Review
1-Week Review
1-Month Review