What is Scalability?
The ability to handle more requests by buying a bigger machine or buying more machines is called scalability.
Vertical Scaling
Vertical scaling refers to using a bigger machine and adding more power (like CPU, RAM, network bandwidth or storage) to handle requests much faster.
For example, let’s say your current system has an 8-core server capacity limit. You can upgrade it to a 32-core server with faster SSD storage.
Pros
It is easier to implement.
Upgrading hardware is easier than setting up brand-new servers.
Easier maintenance.
No load balancer is required because there is only a single machine.
Data consistency is easier to maintain.
Communication is inter-process, which is faster.
Cons
We cannot keep making the machine bigger and bigger. Hardware limits come into the picture.
Single point of failure - if one machine goes down, the entire website/app goes down.
Horizontal Scaling
Horizontal scaling means buying more machines.…