Skip to main content
Version: 1.0.0

Scalability

Scalability is the ability of a system to handle increasing workloads by making use of additional resources. A scalable system can expand its processing capacity or storage capacity to meet increased demand. The goal of scalability is to maintain or improve performance as load increases.

There are two main types of scalability: vertical and horizontal. Vertical scalability involves adding more power (CPU, RAM, etc.) to an existing server. For example, you could upgrade to a more powerful CPU or add more RAM to handle more users or requests. Horizontal scalability means distributing the workload across an increasing number of servers. For instance, you could add more application servers behind a load balancer to handle growing traffic. Horizontal scaling is often preferred because it is more cost-effective and provides redundancy. Popular techniques like load balancing and database sharding enable horizontal scaling. Overall, building scalability into systems is crucial for handling spikes in traffic and ensuring reliability as demand grows.