Scalability describes the ability of a system to grow in magnitude. Although the word scalability does not exist in the dictionary of the SAR the closest scalable adjective is of little use in telecommunications and computer engineering. Scalability, is the desirable property of a system, network or process, indicating the ability to react and adapt without losing quality, or manage the continuous growth of work smoothly, or to be prepared to get bigger without losing quality in the services offered.
In general, it could also be defined as the ability of the computer system to change its size or configuration to adapt to changing circumstances. For example, a University that establishes a network of users over the Internet for a teacher building and not only wants its computer system to have the capacity to accommodate current clients who are all teachers, but also customers that it may have in the future since there are visiting professors who require the network for some academic applications, for this it is necessary to implement solutions that allow the growth of the network without the possibility of its use and reuse diminishing or that it can change its configuration if necessary.
Scalability is a property of systems is generally difficult to define, in particular, it is necessary to define the specific requirements for scalability in those dimensions where they are believed to be important. It is a highly significant edition in electronic systems, databases, routers, networks and distributed systems like cloud computing. A system whose performance is improved after adding more hardware capacity, proportional to the added capacity, is said to become a scalable system. Scalability can be measured in different dimensions :
- Load scalability: A distributed system makes it easy for us to expand and reduce your resources to accommodate (convenience), heavier or lighter loads as required.
- Geographical scalability: A geographically scalable system is one that maintains its usefulness and usability, no matter how far away its users or resources are.
- Administrative scalability: No matter how many different organizations need to share a single distributed system, it should be easy to use and manage.
- Functional scalability
- Generation scalability
- Heterogeneous scalability
Scalability in cloud computing is the ability to quickly and easily increase or decrease the size or power of a solution. Some of the cloud computing platforms are designed to be auto-scaled. There are 2 types of scalability – Vertical scalability and Horizontal scalability.
Scaling a system may increase response times. When architecture is separated onto their servers then the response time will naturally increase because of network latency and other considerations. A monolith system architecture is having many of the components in one place. A microservices architecture split up the core services into their own ecosystems. Serverless architectures are inherently scalable.
Also read what is elasticity in cloud computing.