CODINGTHOUGHTS

A blog about C#, Python, Azure and full stack development

AZ-204 Pass Notes – Azure Regions and Availability

Azure Regions and Availability

Azure services can be provisioned in such a way as to take advantage of the scale and diversity of the Azure ecosystem. As a cloud provider, Microsoft’s Azure services are served out of many datacentres across the globe. This massive global coverage gives us, as solution designers and developers, the opportunity to ‘stand upon the shoulders of giants’ and leverage the globally distributed nature of the cloud. Azure Regions are our tool in doing so.

For example, in order to provide resiliency and scalability to our services, we first need to understand how the global nature of Azure can be used to provide:

  • Redundancy
  • Scalability
  • Security
  • Availability
  • Compliance

Regions

Let’s start at the top level – geographic regions. A Region will encompass a discrete market, for example, Europe or the US, where the region’s compliance and data residency regulations will be observed.

We can create a resource or service within specific region. If nothing else, this will ensure that the service will be in close proximity to its users.

A region’s datacentres are connected to one another by a dedicated low-latency network and have a latency-defined perimeter.

Azure Region Pairs

Within a region there will be multiple datacentres. For example, the UK region has ‘UK South’ and ‘UK West’. We may deploy services to an ‘Availability Pair’. This provides redundancy and security to mitigate a regional outage due to any of the following:

  • Natural disaster
  • Civil unrest
  • Other large scale disturbances

This is essentially two datacentres that provide redundancy so that if one were to become unavailable, the other would take over and continue delivering our replicated services.

Availability Zones

Datacentres are grouped together within Azure Regions into Availability Zones. These groupings will each have their own power, cooling and networking and when combined with other zones in the region can facilitate the ability to fail-over it one or more datacentre were to become unavailable.

By creating your resources in a particular Availability Zone and replicating them in another ensures fault tolerance and resilience within a region. Given that there is a guaranteed latency less than 2ms between Zones, performant data synchronisation is feasible. This is an architecture designed from the outset with synchronisation and replication in mind.

To take resiliency to the next level, it is possible to replicate an Availability Zone in a completely different region, so to mitigate against a wider disruption in the primary region. This is referred to as cross-region replication.

Zonal and Zone-Redundant Services

Zonal Services

This basically means that you can pin a service to a particular Availability Zone. You have the responsibility to design resiliency in to your system by selecting which services are spread across which zones.

Zone-Redundant Services

This option means that your services are replicated across Availability Zones automatically.

Availability Sets

Availability Sets allow you to group services together in such a way as to provide maximum uptime given that servers will periodically need to be taken down for upgrades, or indeed become unavailable due to technical failures.

Azure achieves this by using Fault Domains and Update Domains, in fact these domain are what makes Availability Zones possible.

The physical and logical design of data centres enables fault domains, these are effectively racks containing VMs that have their own power and networking, that would be unaffected by another fault domain becoming unavailable due to a power or network failure.

> You might say that a Fault Domain’s services can be expected to fail together, for example if they are in the same rack.

Update Domains work alongside Fault Domains to achieve high availability. Services in an Update Domain may only ever be updated one at a time.

By using this approach, Azure Regions mitigates a huge amount of risk that is presented by those common and mundane faulting scenarios (power and network failure) while allowing for smooth rollout of important software upgrades.

Azure Regions and Compliance

You may be in a position where, due to your local regulatory requirements, you are compelled to host services in particular jurisdictions. For example, as a solution architect providing services for a national agency, you may not be permitted to host the databases outside of the local geopolitical region. The use of Azure Regions and Availability Zones gives you the ability to weave compliance alongside your resiliency strategy.


Posted

in

by

Tags:

Comments

Leave a Reply