System Design · Guide

Scalability

Vertical vs horizontal scale, bottlenecks, capacity planning.

— min read System Design

Theory

Scalability: Vertical vs horizontal scale, bottlenecks, capacity planning.

Scalability is the ability to handle increasing load by adding resources. Vertical scaling (bigger CPU/RAM/disk) is quick but hits hardware ceilings. Horizontal scaling (more nodes) enables web-scale but demands stateless services and data partitioning.

Find the real bottleneck before scaling: CPU (compute-bound), memory (dataset size), disk I/O (database), network bandwidth, or lock contention. Amdahl's law: speeding up one component has diminishing returns if another is the limit.

Capacity planning uses measured peak QPS, growth projections, and load tests at 2× expected traffic. Auto-scaling handles diurnal variance; right-sized baseline capacity controls cost. Plan stateless tiers first — stateful tiers (databases) scale harder.

Production rollouts require idempotent automation, peer review, staged apply, and documented rollback — treat changes as production code.

Interviewers want STAR stories linking Scalability to measurable outcomes: fewer outages, faster deploys, lower cost, or reduced toil.

Architecture Diagram

Users / clients
         |
  Scalability
         |
  Core services
         |
  Data + observability

Examples

bash
# Scalability
# Vertical vs horizontal scale, bottlenecks, capacity planning.
# Validate in staging before production rollout.

Interview Questions

What problem does Scalability solve?

It addresses the core use case described in production architecture — map features to reliability, scale, or velocity outcomes.

Key components of Scalability?

Identify inputs, outputs, control plane, data plane, and failure domains — interviewers want structured decomposition.

Common production pitfalls?

Misconfiguration, missing observability, no rollback path, and scaling bottlenecks under peak load.

How do you test changes safely?

Staging parity, canary/gradual rollout, automated health checks, and documented rollback.

Metrics to prove success?

Error rate, latency percentiles, throughput, cost, and toil reduction — pick one primary SLO.

Beginner vs advanced concern?

Beginners focus on setup; advanced teams focus on blast radius, security boundaries, and operability at 10× scale.

Best Practices

  • Treat Scalability config as code with review and CI validation.
  • Define SLOs and dashboards before production cutover.
  • Document rollback and ownership for on-call.
  • Use least privilege for credentials.

Common Mistakes

  • Adopting Scalability without measurable success criteria.
  • No staging environment mirroring production constraints.
  • Missing rollback path during incidents.
  • Undocumented on-call expectations.

Trade-off Analysis

Scalability improves vertical vs horizontal scale, bottlenecks, capacity planning. but adds operational and cognitive complexity — justify with load and team size.

Favor simplicity until metrics (p99 latency, error rate, cost) prove the pattern necessary.

Every redundancy layer trades capital/operational cost for availability — align with explicit SLO targets.

Document accepted inconsistency windows and recovery behavior before production cutover.

Cheat Sheet

ScalabilityVertical vs horizontal scale, bottlenecks, capacity planning
SLOService level objective
RollbackRevert to last known good
CanaryLimited blast-radius rollout
RunbookIncident steps

Practical Exercises

Scalability sandbox

Stand up Scalability locally or in free tier; document commands and failure recovery.

Failure drill

Introduce misconfiguration; practice detection and rollback under time limit.