Vertical Scaling
Vertical scaling is accomplished by upgrading the hardware. It is often the simplest solution for short term scalability, as it doesn't require any architectural changes to your application.
Ways to scale vertically
- Improving I/O access by switching to SSDs.
- Reducing I/O operations by increasing RAM.
- Improving network throughput by upgrading network interfaces. → if the server is streaming a lot of video/media content.
- Switching to servers with more cores or processors. : more cores → less CPU context switches
Benefits
- You have to upgrade the hardware only.
- You do not have to rearchitect anything.
- Perfect for small applications.
Limitations
- Vertical scaling becomes extremely expensive beyond a certain point.
- After a certain limit, hardware upgradation is not possible.
- OS limitations: lock contention bottleneck.
Horizontal Scaling
Horizontal Scaling is used to distribute the traffic among many servers.
We can add as many servers as we need. There is no upper limit as it was in vertical scaling.
Top comments (0)