Scaling Systems: Horizontal v/s Vertical

Shuvam Jaiswal
2 min readMay 1, 2022

This article aims to provide the basic understanding of system scalability. With the growth of business, it is quite important to scale the technology architecture to address the incoming potential traffic and requests.

Let us begin by understanding the term ‘SCALE’.

Imagine you are hosting a party for 100 folks and there’s pizza for everyone (Sounds tempting, right?). Half an hour before the party, you get a call from your old-school friends that they will be joining the party too!

Here comes the problem, the total pizza available for everyone now will be comparatively less.

In this scenario, we’ve got to options-

  1. Add heavy toppings on the pizza to make it more fluffy and hence heavy diet to consume
  2. Order more pizzas

When you chose either of the options, you are simply SCALING up. You are basically increasing the overall food to be consumed (either by 1 or 2).

This is generally what we do when it comes to expanding the system load as the business/traffic grows. Any business needs to scale in order to serve the expected traffic. Simply said, we would not have witnessed Amazon or Flipkart if they didn’t scale strategically at the due time.

Going back to the pizza situation, if we choose option 1 we are performing ‘Vertical Scaling’ and option 2 will lead us to ‘Horizontal Scaling’.

Figure 1- Pictorial Representation of Horizontal and Vertical Scaling

In terms of technology, Vertical Scaling is when the existing infrastructure keeps as it is but the computation power is increased i.e. the same system can handle more requests providing better throughput with the system specification being upgraded.

Pros:

  • Consistent system performance
  • Fast interprocess response

Cons:

  • Single source of computation: High risk to downtime
  • Hardware constraints
  • Unit economics: Relatively High

Horizontal Scaling is when the existing system specification is kept as it is and more number of systems are added to the existing network. This kind of scaling distributes the processing power across the system.

Pros:

  • Resilient: Less prone to downtime
  • Scales well with the increase of users

Cons:

  • Data inconsistency
  • Load balancing required

Ending Note- There is no fair comparison between both the scaling paradigms, the implementation will depend on critical factors such as- Cost, Time, Resource Availability, Existing Cloud Infrastructure.

--

--

Shuvam Jaiswal

Exploratory learner-Product, Growth, Strategy, Marketing