Scalability is the ability of an application to deliver high quality of service as demands on the system increase. It is the ability of the system to cope with increasing numbers of users without reducing the overall quality of service that is delivered to any user.
Scaling out and scaling up can be differentiated in terms of size and cost.
• Scaling up means replacing resources in the system with more powerful resources. For example, when database runs out of resources on the current hardware there is no need to make changes to the database instead, the memory in the server may be increased.
• Scaling out means adding new resources to the existing system. That means, adding additional servers and so also increasing the number of transactions that can be processed in parallel. For example an extra web server to work along with the existing server.
• Scaling out is often more cost effective than scaling up.
Generally when considering scalability in the context of SaaS (Software as a Service), scaling out is considered rather than scaling up.