Scalability is the ability of a system, network, or process to handle a growing amount of work in a capable manner or its ability to be enlarged to accommodate that growth.
It is the ability of a computer application or product (hardware or software) to continue to function well when it (or its context) is changed in size or volume in order to meet a user need. Typically, the rescaling is to a larger size or volume.
Scalability includes the ability to increase workload size within existing infrastructure (hardware, software, etc.) without impacting performance. These resources required to support this are usually pre-planned capacity with a certain amount of headroom built in to handle peak demand.
Scalability can either be vertical (scale-up with in a system) or horizontal (scale-out multiple systems in most cases but not always linearly). Therefore, applications have the room to scale up or scale out to prevent a lack of resources from hindering performance
In contrast elasticity is the ability to automatically or dynamically increase or decrease the resources as needed.
< back to glossary