Introduction to Scaling (original) (raw)

Last Updated : 17 Jan, 2026

Scaling is one of the most important concepts in system design and software development. As an application grows, the number of users, requests, and data also increases.

Client-Server Model in Scaling

Most applications work on the Client-Server architecture, where:

When users increase, the server gets more requests, which can cause overload. Scaling helps the server handle more clients without downtime or slow performance.

scaling_3

Types of Scaling

These scaling types help systems handle more users and workload efficiently without slowing down.

1. Vertical Scaling

**Advantages

  1. It is easy to implement
  2. Reduced software costs as no new resources are added
  3. Fewer efforts required to maintain this single system

**Disadvantages

  1. Single-point failure
  2. Since when the system (server) fails, the downtime is high because we only have a single server
  3. High risk of hardware failures

**A Real-time Example of Vertical Scaling

scaling_1

Horizontal Scaling

It is defined as the process of adding more instances of the same type to the existing pool of resources and not increasing the capacity of existing resources like in vertical scaling. This kind of scaling also helps in decreasing the load on the server. This is called Horizontal Scaling.

**Advantages

  1. **Fault Tolerance means that there is no single point of failure in this kind of scale because there are 5 servers here instead of 1 powerful server. So if anyone of the servers fails then there will be other servers for backup. Whereas, in **Vertical Scaling there is single point failure i.e: if a server fails then the whole service is stopped.
  2. **Low Latency: Latency refers to how late or delayed our request is being processed.
  3. Built-in backup

**Disadvantages

  1. Not easy to implement as there are a number of components in this kind of scale
  2. Cost is high
  3. Networking components like, router, load balancer are required

**A Real-time Example of Horizontal Scaling

For example, if there exists a system of the capacity of 8 GB of RAM and in future, there is a requirement of 16 GB of RAM then, rather than the increasing capacity of 8 GB RAM to 16 GB of RAM, similar instances of 8 GB RAM could be used to meet the requirements.

scaling_2