Lets write about Microsoft Azure, specially the area of high availability when it comes to virtual machines.
No doubt you will know about Azure Virtual Machines. IaaS approach is well known and used but I wanted to convey some key areas when it comes to high availability, specifically what are availability sets and zones.
Availability sets gives you 99.95% SLA, this is when you have 2 (or more) VMs grouped together within the same datacentre but with separate rack, storage and networking components. Once you create this via the Azure portal it’s there and if you think you need to make changes to it then you need to restart the process – just a warning, that has caught me a few times. Typically, I would say if you follow this design then you should replicate the idea across all tiers of your stack, as the below image shows for both web and database tiers.
Each virtual machine in your availability set is assigned an update domain and a fault domain by the underlying Azure platform. Each availability set can be configured with up to three fault domains and twenty update domains.
To extend the SLA you could use Availability Zones. This improves it to 99.99% SLA and the hint is in the name. This is about zones so your machines are spread across 3 zones within a region. (Your region is made up of multiple datacentres, don’t think there is just one) we are improving the spread across multiple update and fault domains.
What about VM Scale sets? Well, if you have used AKS you will notice under the covers it uses scale sets. This is where you have a pool of machines thus giving you the ability to scale out based on demand or leveraging the use of a load balancer – I will cover this another time.