top of page

Horizontal Scaling vs Vertical Scaling

  • Writer: Vishakh Rameshan
    Vishakh Rameshan
  • Jan 31, 2021
  • 2 min read

Increasing capacity in terms of CPU and Memory based on traffic is something you would have encountered in your existing production servers. On Premise data centers have restrictions in terms on buying new servers to be used during peak hours and these systems remains ideal most of the time, thus being under utilized. With Cloud in place, the problem of under or over utilization is resolved with couple of clicks.


In this post we will be talking about scaling up and down the resources based on our need in both horizontal way and vertical way. This is not something specific to cloud, but something new that come recently say within last 10 years.


So, let's dig into each and see what are those and what benefit do they bring in.




Vertical Scaling or Scaling Up


The above image depicts very clearly what Vertical Scaling means. In traditional or On Premise data center where we have few dedicated servers to serve the traffic where we host either application or database, increasing the resource based on need is restricted in terms of buying new independent bare metal servers. With the help of Virtualization, most of the problems can be solved by hosting multiple applications and databases on the same bare metal servers. But when there is a need to have more resources than the allocated ones either we increase the VM capacity or buy new hardware.


So, Vertical scaling is all about increasing the capacity on to the same machine. For example, say you have a server with 500 GB of RAM and 20 vCPUs, the hardware capacity is increased on that same machine to handle the load.


Horizontal Scaling or Scaling Out


On the other hand Horizontal Scaling is all about increasing the number of servers or VMs of same capacity. This way the load or traffic is evenly handled by the VMs using a load balancer.


This approach is most used in todays world as we are moving from a standalone to a microservice architecture and having these smaller services spread across VMs and having replicas of them gives greater agility to handle the load faster. This was spinning up when needed and destroying when not in need is easy.


 

But both have there own advantage and disadvantage, so lets talk about it next




 

Conclusion


Both Horizontal and Vertical Scaling have their own benefit and problems, but in todays world where everything is data driven and end customer except applications to be highly responsive and quick, horizontal scaling is something that would be of choice.



Recent Posts

See All

Comentários


bottom of page