liveBook · Manning

Horizontal scaling

As explained in Microsoft Azure in Action

A scaling technique that adds or removes database or virtual-machine instances to change aggregate computing capacity.

Horizontal scaling, or scaling out, changes capacity by adding or removing instances rather than making one instance larger. For virtual machines, a VM scale set manages a pool that can switch on extra VMs when demand rises and remove them when demand falls. For databases, additional replicas distribute workload across more instances. section 3.5.1 section 10.4.4

Choose the approach that matches the workload:

  • Use VM scale sets to add or remove compute instances as application demand changes. section 3.5.1
  • Use database read replicas for read-heavy workloads, directing browsing and order-status queries away from the primary database. section 10.4.4
  • Compare scaling out with vertical scaling, which changes the CPU, memory, or service size of an existing instance. section 3.5.1 section 10.7
  • Pair scaling with autoscaling when available so resources follow workload changes and quieter periods avoid unnecessary cost. section 10.4.4

Banning Books during a sales rush

During a major promotion, Banning Books can add Azure SQL read replicas and route book browsing and order-status queries to them. The primary database remains available for writes such as new orders, while replicas can be removed when demand decreases. section 10.4.4

Figure 10.9 Horizontal scaling of a SQL instance means adding more instances as demand increases and removing them again as demand decreases.

Shows database instances being added as demand increases and removed as demand decreases. section 10.4.4

How Microsoft Azure in Action covers it

How deep it goes
Defines scaling out, contrasts vertical scaling, and explains VM pools, read replicas, autoscaling, and workload routing.
Examples
Uses VM pools, Azure SQL read replicas, and Banning Books peak-sale traffic as concrete examples.
What it assumes
Distinguishes vertical scaling from horizontal scaling and recognizes separate read and write database workloads.
What you can do after
Operate elastic compute or database capacity by adding instances, routing suitable reads, and removing capacity as demand falls.
How it connects
Connects VM scale sets, vertical scaling, read replicas, autoscaling, geo-replication, and database failover groups.

Also explained in

Compare how 13 books explain horizontal scaling →

Related concepts

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