One of the largest gaps that Azure has had when compared to the competition has been the lack of high-availability options. The most glaring has been the lack of Availability Zones, which have been available in all the main providers such as AWS, Google and even Oracle.
Basically, Availability Zones allow cloud admins to deploy cloud resources to separate datacenters within a region. This ensures that applications will remain online even if one of the provider’s datacenters go down.
Microsoft has announced a public preview of their Availability Zones to help protect you from datacenter-level failures. These Availability Zones are located inside an Azure region, and each one has its own independent power source, network, and cooling. These zones are separate datacenters which are located “10’s of miles”, from each other. Microsoft has super-fast network connections between the zones, and have stated that they maintain very strict rules on the network latency between these datacenters.
To ensure resiliency, there’s a minimum of three separate zones in all enabled regions. The physical and logical separation of Availability Zones within a region protects applications and data from zone-level failures.
The architecture and even some familiar services have changed to make use of Availability Zones (AZ) possible. First is the introduction of a new Load Balancer known as the Standard Load Balancer. The former Load Balancer is now known as the Basic Load Balancer. Additionally, Virtual Network subnets now span across these zones in a region. Some of the other services in Azure have also been updated to allow for AZs. These include:
- Linux Virtual Machines
- Windows Virtual Machines
- Virtual Machine Scale Sets
- Managed Disks
- Load Balancer
- Public IP address
- SQL Database
Using AZs you can now be purposeful with your placements of Azure VMs. In the architecture above, you see how the Web VMs have been deployed across the three zones. The Virtual Network subnet APPS in spanned across all three and the Standard Load Balancer is placed in front of these just as it was before. The difference is now your VMs running on hosts placed in different datacenters within the region.
Microsoft also designed AZs to allow for scalable multi-tiered applications. These means using Virtual Machine Scale Sets and SQL Server Always On Availability Groups. The new standard load balancer can be leveraged for both external and internal deployments. In the architecture below we see the use of Scale Sets that span the zones and the SQL Server AOG using synchronous replication. This means you can autoscale your frontend and ensure HA on your data tier with zero data loss.
During the public preview Microsoft has enabled four regions for testing: East US 2, US Central, West Europe and France Central. To test drive the service, you will need to enable the preview on your subscription. You can do this by following this link http://aka.ms/az. With this new ability enabled on your subscription you can now do your first deployment.
I expect Microsoft to go GA with this service at some point in this calendar year, but the rollout will take a while given the facilities that must be built out to support it.
Let me know what you think of this new addition to Azure!