In information technology, scalability (frequently spelled
scaleability) seems to have two usages:
1) 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. The rescaling can be of the product itself (for example,
a line of computer systems of different sizes in terms of storage, RAM,
and so forth) or in the scalable object's movement to a new context (for
example, a new operating system).
An example: John Young in his book Exploring IBM's New-Age Mainframes
describes the RS/6000 SP operating system as one that delivers scalability
("the ability to retain performance levels when adding additional
processors"). Another example: In printing, scalable fonts are fonts
that can be resized smaller or larger using software without losing quality.
2) It is the ability not only to function well in the rescaled situation,
but to actually take full advantage of it. For example, an application
program would be scalable if it could be moved from a smaller to a larger
operating system and take full advantage of the larger operating system
in terms of performance (user response time and so forth) and the larger
number of users that could be handled.
It is usually easier to have scalability upward rather than downward
since developers often must make full use of a system's resources (for
example, the amount of disk storage available) when an application is
initially coded. Scaling a product downward may mean trying to achieve
the same results in a more constrained environment.
|