- Microsoft Azure provides a Service Level Agreement (SLA)
- backed by a financial service credit payment for IaaS Virtual Machines.
- Depends on the deployment of the virtual machine and what resources it uses.
- Ensures SLA can be provided.
- One VM being available at least 99.95% of the time.
- Ensures VMs you deploy within an Azure data center are isolated from each other.
- Ensures that all virtual machines that are added to the set are placed in such a way as to ensure that neither hardware faults or Azure fabric updates that is unplanned and planned maintenance events can bring down all of the virtual machines.
- Application availability can be impacted by:
- Unplanned hardware maintenance event
- An unexpected downtime
- Planned maintenance events
- 💡 To reduce or remove the impact of downtime:
- Place virtual machines in an availability set for redundancy.
- Use managed disks for all VMs placed in an availability set.
- Use Scheduled Events to respond to events.
- Place each tier of your application in a separate availability set.
- Use a load balancer in combination with availability sets.
- 💡 Avoid single instance VMs in an availability set.
- They are subject to any SLA unless all the Operating System and Data disks are using Premium storage.
- Each machine in the Availability set is placed in an Update Domain and a Fault domain.
- A Fault Domain (FD) is essentially a rack of servers.
- It consumes subsystems like network, power, cooling etc.
- Update Domain (UD)
- Purposeful move to take down one (or more) of your servers.
- It will walk through your update domains one after the other.
- 📝 FDs come in sets of 2 and UDs come in sets of 5 (default)
- So if you deploy more than 5 VMs in an availability set they'll end up in same UD and FD.
- E.g. N-tier availability sets
- An extension of the availability set model is used logically to place individual tiers of an application into separate Availability Sets.
- E.g. put front-ends in one, and data tier in another availability set.
- Advent of a data center-wide fault would prevent the Availability set from functioning.
- Allows for a complete data center failure and keep your VM based application running.
- Zone = separate zone or building within a single Azure region.
- You can set the count of zones while creating VM.
- There is a maximum of three Availability Zones per supported Azure region.
- Each Zone operates on an entirely isolated power source, cooling system, and network infrastructure.