liveBook · Manning

Scalability

As explained in Microsoft Azure in Action

Scalability is the ability of a system to accommodate changing workloads by increasing or decreasing resources.

A website can run happily on one server—until a busy day exhausts its CPU, memory, or network connection. Scalability means adjusting resources as demand changes. In Azure, that might mean adding application instances for a traffic spike, then reducing resources when the rush passes. Unlike buying hardware for the next peak, this avoids leaving extra machines idle most of the year. section 1.3.1 section 2.3.1

What scales, and who makes the decisions, depends on the service:

  • An Azure App Service plan can scale horizontally by adding computing instances when website traffic peaks. With Virtual Machine Scale Sets, you estimate average and peak workloads, choose scaling thresholds, and set minimum and maximum instance counts. section 1.2.1 section 1.3.1
  • A virtual machine offers other choices: scale up the VM, use multiple VMs, or increase disk size, without buying physical hardware. section 3.1
  • With Logic Apps and Azure Functions, Azure handles much of the scaling. That removes provisioning work, but service limits still apply. section 2.3.1
  • Databases need attention too. Azure Cosmos DB can adjust throughput automatically; an explicit maximum helps keep performance and cost aligned with expected demand. section 11.1.1

A holiday rush

An online shop expecting more reads and writes during the holidays can enable Cosmos DB autoscaling with Azure CLI. Setting `--max-throughput 10000` caps autoscaling at 10,000 request units per second. Omitting that value leaves a default that may not fit the shop’s performance or cost needs. section 11.1.1

Table 8.5 Comparing the main three differences between PaaS and serverless services

Concept

PaaS

Serverless

Scaling

You get more ways to decide how the service scales as compute requirements change, but you have to configure scaling yourself.

Scaling is done for you and “just works.” There are some options, such as having a Premium tier Function App.

Time to compute

Applications can take a while to spin up and get ready to provide the compute capacity.

Applications are only executed when invoked, but it happens very fast.

Control

You have much more control over the development environment, but that also means more configuration and maintenance.

You have very little control over the development environment, but it’s fast to get started.

Compare the scaling trade-off: PaaS offers more configuration choices, while serverless generally handles scaling for you. section 8.5

The practical question is not simply “Can it scale?” Ask what demand looks like, which limits apply, who configures the response, and what the chosen capacity will cost. A quiet Tuesday and a holiday shopping rush need not use the same resources. section 1.3.1 section 11.1.1

How Microsoft Azure in Action covers it

How deep it goes
Explains capacity limits, autoscaling thresholds, instance bounds, and a database throughput cap; defers detailed scale-set operation.
Examples
Illustrates traffic spikes with a hosted website and holiday database demand with a Cosmos DB autoscaling command.
What it assumes
Starts with a familiar website and explains how CPU, RAM, and network capacity can limit its traffic.
What you can do after
Apply it via Azure CLI by enabling Cosmos DB autoscaling and setting an explicit maximum throughput.
How it connects
Connects scalability to horizontal scaling, autoscaling, virtual machines, serverless computing, database throughput, and cost.

Also explained in

Compare how 27 books explain scalability →

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.