Vertical scalability Vs Horizontal scalability

It’s better to have infinite scalability and not need it, than to need infinite scalability and not have it. Andrew Clay Shafer

As the server load increases, and it’s time to add hardware resources to your infrastructure, you have two approaches: increase your resources vertically or horizontally.

Vertical scalability

This solution has limits, You can probably multiply your server’s capabilities by 2, maybe even by 10, but not by 100.

Also usually, vertical scalability requires downtime while new resources are being added.

But this remains in most cases the most pragmatic solution, and in particular for applications in production for many years.

Horizontal scalability

This allows you to use only standard servers with commodity hardware. But the software implications are quickly important.

The application must be stateless which means that the data is stored in another service (in your database, in a distributed cache…). It is ideal, You should design your development with this goal.

Thanks to this, in case of hardware failure on one instance, other instances will be able to absorb the load with a minimum service interruption for the user.

Conclusion

On the other hand, Horizontal scalability involves adding computers to cope with increased demand for a service. The most common method is load allocation by the use of a cluster of servers.

Software Engineer. I’m not perfect. still running after my dreams. going to the moon 🌑

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store