CodeMIRAI
0 XP

High availability and scalability

2 min read Quiz included

Two of the cloud benefits AZ-900 names are high availability and scalability. They are related but not the same thing, and the exam likes to test the difference.

High availability

High availability means a service stays up and usable with as little downtime as possible, even when parts of the system fail. Azure achieves this with redundancy: extra copies of servers, power and networking, spread across separate locations.

Availability is promised in a service-level agreement (SLA), as a percentage of uptime per month:

SLAMaximum downtime per month (about)
99%7 hours 18 minutes
99.9%43 minutes
99.95%22 minutes
99.99%4 minutes 22 seconds
99.999%26 seconds

Each extra "nine" cuts the allowed downtime by about ten times. You can raise the availability of your own solution by running multiple instances, for example across availability zones.

Maximum downtime in a 30-day month (log scale)99%7 h 18 min99.9%43 min 50 s99.95%21 min 55 s99.99%4 min 23 s99.999%26 s
Each extra nine allows about a tenth of the downtime. Multiply the SLAs of services that depend on each other.

Composite SLAs

When an application depends on several services, all of them must be up for the application to work, so its availability is the SLAs multiplied together. A web app at 99.95% that needs a database at 99.99% has a composite SLA of 0.9995 × 0.9999 ≈ 99.94%: lower than either service on its own. Adding dependencies lowers the composite SLA; adding redundant copies raises it.

Scalability

Scalability is the ability to adjust resources to meet demand. You add resources when demand rises and remove them when it falls, so you pay only for what you need.

There are two ways to scale:

  • Vertical scaling (scale up / down): give an existing resource more power, such as more CPU or memory on a virtual machine.
  • Horizontal scaling (scale out / in): add or remove instances, such as going from two virtual machines to ten.
Scale up (vertical)Scale out (horizontal)VM2 vCPUVM8 vCPU, 32 GBOne machine, more powerVMVMVMVMVMbehind a load balancerMore machines, same size
Scale up or down changes one resource's size. Scale out or in changes how many there are; doing it automatically is elasticity.

Elasticity

When scaling happens automatically in response to demand, it is often called elasticity. An online shop that automatically adds web servers during a sale and removes them afterwards is elastic.

Finished this lesson?Mark it complete to earn +20 XP and move your progress on.