Tuesday 23 November 2021

What is Vertical Scaling & Horizontal Scaling?

                                                      Vertical Scaling

Vertical scaling refers to adding more resources (CPU/RAM/DISK) to your server (database or application server is still remains one) as on demand.

Vertical Scaling is most commonly used in applications and products of middle-range as well as small and middle-sized companies. One of the most common examples of Virtual Scaling is to buy an expensive hardware and use it as a Virtual Machine hypervisor (VMWare ESX).

Vertical Scaling usually means upgrade of server hardware. Some of the reasons to scale vertically includes increasing IOPS (Input / Ouput Operations), amplifying CPU/RAM capacity, as well as disk capacity.

However, even after using virtualization, whenever an improved performance is targeted, the risk for downtimes with it is much higher than using horizontal scaling.

Horizontal Scaling

Horizontal Scaling is a must use technology – whenever a high availability of (server) services are required

Scaling horizontally involves adding more processing units or phyiscal machines to your server or database. It involves growing the number of nodes in the cluster, reducing the responsibilities of each member node by spreading the key space wider and providing additional end-points for client connections. Horizontal Scaling has been historically much more used for high level of computing and for application and services.

Although this does not alter the capacity of each individual node, the load is decreased due to the distribution between separate server nodes.

Some of the reasons why organizations should choose to scale horizontally include increasing I/O concurrency, reducing the load on existing nodes, and increasing disk capacity.

The Internet and particular web services have boosted the use of Horizontal Scaling. Most giant companies that provide well known web services like Google (Gmail, YouTube), Yahoo, Facebook, EBay, Amazon etc. are using heavily horizontal scaling.

In a nut shell,

The Difference

Horizontal-scaling is often based on partitioning of the data in which each node contains only part of the data. In the case of vertical-scaling, the data resides on a single node. Scaling here is done through multi-core by spreading the load between the CPU and RAM resources.

No comments:

Post a Comment