Azure Availability Zones – now running in an Azure data centre near you!
At Macquarie Cloud Services, our Azure practice has now been running well over a year. Working closely with many Australian businesses, a recurring theme that keeps coming up in the design and architecture phases are continued availability of applications while some of the “Lego blocks” from the Azure toolbox may suffer from downtime. Azure provides a great many numbers of constructs as architectural building blocks and patterns that help us to architecture services and applications for resiliency, which we have been using heavily with our customers. However, there was one feature for which we have been waiting for bated breath for a while – and it was the launch of Azure Availability Zones in Australia. We are super excited to share with our customers that as of late July 2020, Azure Availability Zones are now in place for Australia East (Sydney) region.
So what is an Azure Availability Zone, and why should you care? Microsoft defines an Availability Zone as a “Unique physical locations within a region. Each zone is made up of one or more data centres equipped with independent power, cooling, and networking.” One common misconception is that an Availability Zone is a single data centre within an Azure region. Although true for some regions, other regions such as those in the Americas actually have multiple data centres which make up an availability zone.
Why are availability zones important? The answer lies in resiliency and availability of your applications and services for Australian businesses. Although this feature is nothing new in regions such as Americas, Europe, Japan and Singapore, this has not been available in Australia until now. The answer is availability and redundancy. For VMs, Azure only provides an SLA of 99.9% for a single VM with Premium SSD and 99.95% for VMs in an availability set within the same region. However, VMs which are spread across availability zones can have SLA of 99.99%.
Prior to availability zones being available, the only way of getting a higher SLA in Australia would be to design for cross-region environments which increased complexity as you would need to account for cross-region designs resulting in increased costs (doubling up on everything in your design BoM from Application Gateways and Azure Firewall to storage accounts in each region) or scoping the DR region to be the same size as the production region to account for a data centre failure. In addition, there could also be scalability issues due to increased latencies as traffic need to traverse Azure regions with scenarios involving SQL VMs configured as multi-region clusters.
Azure availability zones are relevant not only for VMs but for other Azure PaaS services such as storage, networking services like ExpressRoute, VPN Gateways, Application Gateway v2 and Load Balancers, integration and IoT goodness such as Service Bus and Event Hubs, and databases such as SQL database and Cosmos DB. This provides you with the flexibility and convenience of abstraction provides by these PaaS services, while maintaining multi availability zone deployments. The current set of services supporting this capability by region is outlined in the documentation, and more services such as Azure Kubernetes Service, Azure Firewall, Event Grid are expected to be available in the future.
Availability Zones allows designing for disaster avoidance, without having to resort to activation of a DR event due to a data centre outage. Organisations in verticals such as financial services, public sector, and healthcare may still require DR but by having both Availability Zones for Production as well as DR, a DR event is less likely to be triggered and the scoping of infrastructure in the DR region can now be smaller to cater for only the bare minimum rather than being a full copy of production.
Fun fact, Azure has Availability Zones in Singapore (Azure region Southeast Asia) but only one Azure region in the country.
How would organisations who require data sovereignty have DR in Singapore, you ask?
The answer, zone-to-zone disaster recovery which allows Azure Site Recovery to failover to another availability zone in the same region. This is was released in April 2020 and only supported in Southeast Asia and UK South at the moment.
As for pricing, placing VMs in Availability Zones are free.
However, there is a small charge for inter-zone traffic between the VMs and selecting storage such as ZRS instead of LRS to complement the VMs may cost a bit extra. Our assessment shows that the incremental cost is well-worth the value gained from resilience! If you have an existing General Purpose v2 storage account with LRS, you can request a live migration of the storage account to ZRS via Microsoft Support with no application downtime.
At Macquarie Cloud Services, we are always looking to stay ahead of innovation that happens in the cloud ecosystem and is committed to bringing the full value of the platform to our customers. It is great to see Azure continually increasing more and more resiliency features both built into the platform as well as configurable by the customers. For example, we are truly looking forward to the Chaos engineering and fault injection as a service that was hinted at in a recent blog from Azure engineering teams. If you are using Azure and are interested for an assessment of how Availability Zones can help to improve your current application availability, resilience and design – please leave a request and our friendly Azure team will get in touch with you!