system-designnotesScaling

Vertical scaling

  1. Vertical scaling, or “scaling up”, refers to the process of adding more power (CPU, RAM, etc.) to existing servers.
  2. When traffic is low, vertical scaling is a good simple option.
  3. However, vertical scaling has a hard limit, since it is impossible to add unlimited CPU and memory to a single server.
  4. Vertical scaling does not have failover and redundancy. If one server goes down, the whole website/app goes down with it completely.

Horiozontal scaling

  1. Horizontal scaling, or “scaling out”, allows you to scale by adding more servers into your pool of resources.