DEV Community

Cover image for Vertical Scaling vs Horizontal Scaling
Rudra Pratap
Rudra Pratap

Posted on • Edited on

Vertical Scaling vs Horizontal Scaling

Vertical Scaling

Vertical scaling is accomplished by upgrading the hardware. It is often the simplest solution for short term scalability, as it doesn't require any architectural changes to your application.

Ways to scale vertically

  • Improving I/O access by switching to SSDs.
  • Reducing I/O operations by increasing RAM.
  • Improving network throughput by upgrading network interfaces. → if the server is streaming a lot of video/media content.
  • Switching to servers with more cores or processors. : more cores → less CPU context switches

Benefits

  • You have to upgrade the hardware only.
  • You do not have to rearchitect anything.
  • Perfect for small applications.

Limitations

  • Vertical scaling becomes extremely expensive beyond a certain point.
  • After a certain limit, hardware upgradation is not possible.
  • OS limitations: lock contention bottleneck.

Horizontal Scaling

Horizontal Scaling is used to distribute the traffic among many servers.

We can add as many servers as we need. There is no upper limit as it was in vertical scaling.

Image description

Top comments (0)