Back to course
    article~25 min readScalability Basics

    What Is Scalability

    Separate raw performance from the ability to survive growth.

    What Is Scalability — Beginner Friendly System Design Guide

    Why Scalability Matters

    A system that works for:

    100 users
    

    may completely crash at:

    10 lakh users
    

    Building software is easy.

    Building software that survives growth is hard.

    That ability is called:

    Scalability
    

    Simple Definition

    Scalability means:

    Can your system continue working properly as users, traffic, and data grow?


    Real Example — IPL Streaming On Hotstar

    During IPL:

    • crores of users join simultaneously

    If servers crash:

    • poor scalability

    If platform survives:

    • scalable architecture

    Scalability vs Performance

    Beginners often confuse these.


    Performance

    Means:

    How fast system works right now
    

    Scalability

    Means:

    Can system still work when traffic grows massively?
    

    Example

    A startup app may work perfectly for:

    • 500 users

    After Shark Tank feature:

    • 50 lakh users arrive

    Suddenly:

    • app crashes
    • APIs fail
    • database overloaded

    System had:

    • good performance

    but poor:

    • scalability

    Growth Problem Flow

    100 Users
       │
       ▼
    System Works Fine
       │
       ▼
    10,000 Users
       │
       ▼
    Slower APIs
       │
       ▼
    10 Lakh Users
       │
       ▼
    Server Crash ❌
    

    Real Example — IRCTC Tatkal Booking

    At:

    10:00 AM
    

    lakhs of users refresh simultaneously.

    Challenges:

    • massive traffic spike
    • payment requests
    • booking contention
    • database load

    Scalability becomes critical.


    What Causes Systems To Fail?

    As traffic grows:

    • CPU usage increases
    • memory fills
    • database slows
    • network congestion happens
    • disk I/O increases

    Eventually:

    • system crashes

    Basic System Architecture

    Users
      │
      ▼
    Application Server
      │
      ▼
    Database
    

    Works for small traffic.

    Fails at large scale.


    Example — Small Startup

    Suppose you build:

    • ecommerce website

    Initially:

    • 200 users/day

    Single server is enough.


    After Viral Growth

    Suddenly:

    • Instagram influencer promotes app

    Traffic becomes:

    5 lakh users/day
    

    Now:

    • APIs timeout
    • database slows
    • website crashes

    Scalability Means Handling Growth Gracefully

    Good scalable systems:

    • continue working
    • recover automatically
    • distribute load
    • avoid bottlenecks

    Signs Of Poor Scalability

    ProblemExample
    Slow APIsRequests taking seconds
    CrashesServer overload
    Database bottleneckQueries timing out
    High latencySlow response
    DowntimeSystem unavailable

    Signs Of Good Scalability

    FeatureBenefit
    Horizontal scalingAdd more servers
    Load balancingDistribute traffic
    CachingReduce DB load
    ReplicationImprove availability
    QueuesHandle spikes

    Real Example — Swiggy On New Year

    On New Year's Eve:

    • order traffic spikes massively

    Swiggy must scale:

    • servers
    • databases
    • delivery systems
    • notifications

    Otherwise:

    • app crashes during peak business

    Scalability Is About Bottlenecks

    Every system has bottlenecks.

    Example bottlenecks:

    • database
    • CPU
    • network
    • disk
    • external APIs

    Bottleneck Flow

    Users Increase
          │
          ▼
    Traffic Increases
          │
          ▼
    Database Slows
          │
          ▼
    API Response Delayed
          │
          ▼
    Users Experience Lag
    

    Types Of Scaling

    Two major approaches:

    Vertical Scaling
    Horizontal Scaling
    

    Vertical Scaling

    Upgrade machine power.

    Example:

    8 GB RAM → 64 GB RAM
    

    or:

    4 CPU → 32 CPU
    

    Real-Life Analogy

    Buying:

    • bigger truck

    instead of:

    • more trucks

    Vertical Scaling Diagram

    Small Server
         │
    Upgrade CPU/RAM
         ▼
    Bigger Powerful Server
    

    Advantages

    BenefitWhy Useful
    SimpleEasy setup
    Fast implementationMinimal architecture changes
    Good for small systemsEarly-stage startups

    Problems

    ProblemWhy Bad
    Hardware limitCannot scale infinitely
    ExpensiveHigh-end servers costly
    Single point of failureOne server crash affects system
    Downtime possibleUpgrades may require restart

    Horizontal Scaling

    Instead of:

    • bigger server

    add:

    • multiple servers

    Real-Life Analogy

    Instead of:

    • one giant delivery truck

    use:

    • many delivery bikes

    Horizontal Scaling Diagram

                  Load Balancer
                        │
            ┌───────────┼───────────┐
            ▼           ▼           ▼
         Server1     Server2     Server3
    

    Why Big Companies Prefer Horizontal Scaling

    Companies like:

    • Google
    • Netflix
    • Swiggy
    • Amazon

    cannot depend on one machine.

    They use:

    • distributed systems
    • multiple servers
    • replication

    Advantages

    BenefitWhy Important
    Better scalabilityAdd more servers
    High availabilityOne server can fail
    Fault toleranceSystem survives failures
    Flexible growthScale gradually

    Challenges

    ChallengeWhy Difficult
    Complex architectureMore moving parts
    Load balancing neededTraffic distribution
    Distributed systems complexitySynchronization issues
    Data consistencyHarder at scale

    Real Example — YouTube

    Suppose entire YouTube runs on:

    • one server

    Impossible.

    Instead:

    • thousands of servers globally

    handle:

    • uploads
    • recommendations
    • video streaming
    • comments

    Load Balancing

    When multiple servers exist:

    • traffic must be distributed

    using:

    Load Balancer
    

    What Does Load Balancer Do?

    It distributes traffic across servers.


    Load Balancer Flow

    Users
      │
      ▼
    Load Balancer
     ├── App Server 1
     ├── App Server 2
     └── App Server 3
    

    Why Load Balancers Matter

    Without load balancer:

    All Users
        │
        ▼
    Single Server ❌
    

    One server overloads.


    With Load Balancer

    Traffic distributes evenly.

    System survives higher load.


    Real Example — IPL Streaming

    During IPL:

    • crores of concurrent users

    Load balancers distribute traffic across:

    • hundreds/thousands of servers

    Scalability Requires Trade-Offs

    Every scaling decision has trade-offs.


    Example

    Vertical Scaling

    Simple:

    • but limited

    Horizontal Scaling

    Scalable:

    • but complex

    Trade-Off Table

    Vertical ScalingHorizontal Scaling
    EasierMore scalable
    Hardware limitDistributed complexity
    Single machineMultiple machines
    Lower operational complexityHigher operational complexity

    Database Scalability

    Databases often become biggest bottleneck.


    Example

    Users Increase
          │
          ▼
    More Database Queries
          │
          ▼
    Database CPU High
          │
          ▼
    Slow APIs
    

    Common Database Scaling Solutions

    SolutionPurpose
    ReplicationRead scaling
    ShardingSplit data
    CachingReduce DB traffic
    QueuesAsync processing

    Caching Improves Scalability

    Instead of querying database repeatedly:

    • store frequently used data in Redis

    Cache Flow

    User Request
          │
          ▼
    Check Redis Cache
       │            │
    Hit            Miss
     │               │
     ▼               ▼
    Fast         Database Query
    Response
    

    Autoscaling

    Cloud systems can automatically:

    • add servers during spikes
    • remove servers during low traffic

    Autoscaling Flow

    Traffic Spike
          │
          ▼
    CPU Usage High
          │
          ▼
    Autoscaler Detects
          │
          ▼
    New Servers Added
    

    Real Example — Blinkit During Rain

    Heavy rain:

    • sudden grocery demand spike

    Blinkit systems may autoscale:

    • APIs
    • order services
    • inventory systems

    Common Beginner Misconceptions


    "Scalability Means Fast Website"

    Not exactly.

    Fast now ≠ scalable later.


    "One Powerful Server Is Enough"

    No.

    Eventually:

    • hardware limits appear

    "Only Big Companies Need Scalability"

    No.

    Even startups may suddenly go viral.


    Final Mental Model

    Performance =
    How fast system works today
    
    Scalability =
    Can system survive tomorrow's growth?
    

    Complete Scalable Architecture

    Users
      │
      ▼
    CDN
      │
      ▼
    Load Balancer
      │
     ┌─┼───────────┐
     ▼ ▼           ▼
    App1 App2     App3
      │
      ▼
    Redis Cache
      │
      ▼
    Database Cluster
    

    One-Line Interview Definition

    Scalability is the ability of a system to handle increasing traffic, users, and data growth efficiently without significant performance degradation or failures.

    Module context

    Scaling from 100 to 10 crore users. Vertical vs horizontal scaling, load balancers, and the trade-offs behind every scaling decision.

    Mark this lesson complete when you finish reviewing it.