- Karan Pratap Singh
Scalability is the measure of how well a system responds to changes by adding or removing resources to meet demands.
Let's discuss different types of scaling:
Vertical scaling (also known as scaling up) expands a system's scalability by adding more power to an existing machine. In other words, vertical scaling refers to improving an application's capability via increasing hardware capacity.
- Simple to implement
- Easier to manage
- Data consistent
- Risk of high downtime
- Harder to upgrade
- Can be a single point of failure
Horizontal scaling (also known as scaling out) expands a system's scale by adding more machines. It improves the performance of the server by adding more instances to the existing pool of servers, allowing the load to be distributed more evenly.
- Increased redundancy
- Better fault tolerance
- Flexible and efficient
- Easier to upgrade
- Increased complexity
- Data inconsistency
- Increased load on downstream services