liveBook · Manning

Scalability

As explained in Akka in Action, Second Edition

Scalability is the ability of a system to adapt to changes in resource demand without negatively affecting performance.

Scalability is a system’s ability to adapt to changing resource demand without reducing performance. Concurrency helps achieve it by allowing applications to use additional CPU capacity. section 1.1

Distinguish the two main scaling approaches:

  • Scale up by increasing resources, such as CPUs, on existing servers. section 1.1
  • Scale out by dynamically adding more servers to a cluster. section 1.1
  • Treat additional resources as a practical trade-off: adding capacity does not make every problem affordable or efficient. section 1.1
Figure 1.1 Demand vs. resources
CH01_F01_Abraham2

Compare changing demand with available resources to see when capacity must adapt. section 1.1

How Akka in Action, Second Edition covers it

How deep it goes
Defines scalability and contrasts scaling up with scaling out, but stops short of implementation procedures or performance measurements.
Examples
Uses additional CPUs, additional cluster servers, cloud platforms, Docker, Kubernetes, and demand-versus-resources figures.
What it assumes
Assumes basic awareness of servers and CPUs while defining concurrency, scaling up, and scaling out directly.
What you can do after
Evaluate whether changing demand calls for more CPU capacity or additional servers, while considering cost and performance.
How it connects
Connects scalability with concurrency, distributed systems, clusters, cloud computing, and resource provisioning.

Also explained in

Compare how 27 books explain scalability →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Akka in Action, Second Edition. The section links point to the parts of the book it draws on.