liveBook · Manning

Scalability

As explained in Grokking Concurrency

Scalability is a system characteristic describing its ability to increase performance by adding processing resources.

Scalability describes a system’s ability to improve performance by adding processing resources. As problems grow, adding resources can help where simply shortening the time for one unit of work is not enough. section 1.3

There are two main ways to add capacity:

  • Vertical scaling, or scaling up, upgrades existing resources—for example, by adding memory or using a more powerful processor. It can hit a performance ceiling, and higher-end hardware can cost more for diminishing gains. section 1.3
  • Horizontal scaling, or scaling out, distributes work across existing and new processing resources. Adding resources can increase performance, but this approach requires concurrency and may involve multiple interconnected machines, or computing clusters. section 1.3 section 1.6

Demand for real-time systems, high data volumes, reliability through redundancy, and better resource sharing in cloud and SaaS environments has driven a shift toward horizontal scaling. Concurrency also helps use resources efficiently and connects scalability with the broader challenge of solving complex problems. section 1.3 section 1.6

How Grokking Concurrency covers it

How deep it goes
Defines vertical and horizontal scaling, compares their trade-offs, and stops short of implementation details.
Examples
Uses more powerful processors, top-tier cloud instances, and interconnected computing clusters to illustrate scaling choices.
What it assumes
Assumes some programming experience for the wider concurrency treatment and identifies concurrency as necessary for horizontal scaling.
What you can do after
Understand the distinction between scaling up and scaling out, including their limits and concurrency requirements.
How it connects
Links horizontal scaling to concurrency and computing clusters, and treats scalability alongside decoupling.

Also explained in

Compare how 27 books explain scalability →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Grokking Concurrency. The section links point to the parts of the book it draws on.