Scalability is the ability of a system, network, or process to handle a growing amount of load by adding more resources. The adding of resource can be done in two ways
Scaling Up
This involves adding more resources to the existing nodes. For example, adding more RAM, Storage or processing power.
Scaling Out
This involves adding more nodes to support more users.
Any of the approaches can be used for scaling up/out a application, however the cost of adding resources (per user) may change as the volume increases. If we add resources to the system It should increase the ability of application to take more load in a proportional manner of added resources.
An ideal application should be able to serve high level of load in less resources. However, in practical, linearly scalable system may be the best option achievable.
Poorly designed applications may have really high cost on scaling up/out since it will require more resources/user as the load increases.