What is scalability, exactly?

Posted: May 11th, 2016 | Author: | Filed under: Scalability

Long story short, scalability is an ability of an application to process more requests by adding more computing resources. If your Java application can handle more work if you add more CPU, RAM or disk to your server, it’s called vertical scalability. In other words, your application scales vertically if it runs better if you give it a bigger, fatter server.

Horizontal scalability, on the other hand, is an ability to process more requests through adding more machines to your cluster. A cluster could be a simple bunch of independent servers or AWS or GAE machines behind a load balancer or an advanced infrastructure where servers communicate with each other to share work.

Note that scalability is not is performance. Performance is a number of requests per second. And while we are here, capacity is a maxim number of requests per second that your app can do without degradation of latency. And latency is the time between the client sends a request and the time it gets the response back.

(No) Comments: Post a response