liveBook · Manning

Vertical scaling

As explained in Refactoring to Rust

Vertical scaling is increasing the computational resources available to an existing machine or system instance.

When a system reaches a performance limit, vertical scaling increases the resources available to its existing machine instance rather than duplicating the system. section 8.2

Scaling takes two main forms:

  • Vertical scaling adds a faster CPU, additional CPU cores, or more memory to the existing machine. section 8.2
  • Horizontal scaling adds more instances, such as extra servers or processes, without changing the machine configuration. section 8.2

Adding resources helps only if the application can take advantage of them; reaching a limit may therefore still require code changes. section 8.2

Figure 8.3 Vertical scaling means adding more resources to existing hardware
figure

Visualizes vertical scaling as adding resources to existing hardware. section 8.2

How Refactoring to Rust covers it

How deep it goes
Defines resource-based scaling and contrasts it with horizontal scaling, but does not detail implementation procedures or measurements.
Examples
Uses faster CPUs, additional cores, and additional memory as examples of vertical scaling.
What it assumes
Assumes awareness that bottlenecks can limit system throughput and that applications may need code changes to exploit scaling.
What you can do after
Evaluate vertical scaling as an alternative to rewriting code or adding system instances.
How it connects
Connects vertical scaling with bottlenecks, horizontal scaling, performance limits, and code changes.

Also explained in

Compare how 7 books explain vertical scaling →

Related concepts

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