In this video, we will see the difference between Horizontal and Vertical Scaling.
Let us first understand what is Scalability
Basically, the term Scalability often referred as System’s ability to grow, however in System Design it does not always works this way, system can scale down, scale up and scale out accordingly.
Hence, Scalability is your system’s ability to adapt to changes (grow or shrink) as per the demand.
Highly scalable system prevents the system from downtime, and it ensures the quality of your application and services. But how can we implement the scaling? That’s where horizontal and vertical scaling come in scenario.
What is Horizontal Scaling
Horizontal Scaling is also known as Scaling out. It means adding new servers or machines/nodes to your system. Since now there will be more nodes therefore more load/traffic can be handled easily, However you need to have Load Balancer and load balancing algorithm to distribute the traffic to different machines as per their capacity etc.
What is Vertical Scaling
Vertical Scaling is also known as Scaling up. It means adding more resources to the existing server or node, so that it can cope up with new demands. While in Vertical Scaling its completely possible to replace the current machine with the upgraded machine as well.
Watch the entire video to understand the difference between Horizontal & Vertical scaling as well as there advantages & disadvantages.
Horizontal vs Vertical Scaling in System Design:
https://www.geeksforgeeks.org/system-design-horizontal-and-vertical-scaling/