The basic Architecture of the Azure can easily be understood by the following diagram
To understand Azure better, we need to understand Azure global infrastrcuture specific terms like
Datacenters
Regions
Region Pairs
Availability Zones and
Geographies
Azure fault domain and update domain
What is an Azure Datacenter
An Azure data center is a unique physical building that contains thousands of physical servers with it's own power, cooling and networking infrastructure. These data ceneters are located all over the globe. As of November 2020, there are over 160+ Azure datacenters worldwide. It is these dataceneters that are the building blocks of gloabl Azure infrastructure.
Azure Region:
An Azure Region is a set of Datacenters that are connected through a dedicated low-latency network. How many datacenters does a region contain. Well, we do not have a fixed number. It varies. There are regions of different sizes. A Region could be made up of just 1 dataceneter or multiple datacenters. The point is, an Azure Region is a group of one or more Azure Datacenters. As of this course recording, Azure has 58 regions worldwide. You have the flexibility to deploy your applications and data to any Azure region you want. You can even deploy across multiple regions to deliver cross-region resiliency.
Azure Availability Zone
An Azure Availability Zone is a unique physical location within an Azure region. Each Availability Zone is made up of one or more datacenters with independent power, cooling, and networking. Not all Regions have Availability Zones. Regions that support Availability Zones have a minimum of three separate zones to ensure resiliency.
If one of the Availability Zones has gone down for some reason, we still have our applications and data available from the rest of the two Availability Zones. There is a physical separation between each Availability Zone and it is this separation that protects our applications and data from Datacenter failures. With Availability Zones, Azure offers industry best 99.99% VM uptime SLA.
Availability Set vs Availability Zone:
Availability Sets takes the virtual machine and configures multiple copies of it. Each copy is isolated within a separate physical server, compute rack, storage units and network switches within one datacentre within an Azure Region.
When you create your virtual machine you’ll be able to specify the provision Set, you can’t change it or move it in or out of an Availability Set after creation. If you wanted to create changes you’d start again and recreate the virtual machine. And Availability Sets only apply to virtual machines, they can’t be used for the other kind of resources within Azure. Using an Availability Set takes your acceptable downtime to around 22minutes a month. Which could be a vast improvement over the one virtual machine deployment.
The next level of availability for your virtual machines within Azure is Availability Zones. With Availability Zones utilised your acceptable downtime a month moves to but 5 minutes as you’ve got a 99.99% SLA.
With Availability Zones, you’re setting out to use zone-aware services. Your workload is opened up across the various zones that compose an Azure region. An Azure region is formed from multiple datacentres and every zone is formed from one or more datacentres. Each datacentre is provided with independent power, cooling and networking.
When should I use an Available Zone vs Set?
When building your workload in Azure it’s important you concentrate on carefully how you’re to create availability in your virtual machine infrastructure. There are some factors you ought to consider when choosing whether to use availability sets or zones. Cost When creating an availability zone there’s a further bandwidth cost for data moving into and out of a zone. it’s however quite minimal, at around 1 pence per GB, but it quickly builds up with workloads that have a high data churn.
Storage Where availability zones support managed disks, availability sets don’t directly. This doesn’t mean that managed disks that are attached to VMs in availability sets don’t seem to be as available, they’re still provisioned in such how that they’re isolated from one point of failure. Whereas in the availability zone, a duplicate of that managed disk is found inside each zone.
Availability As availability sets and availability zones are two different services, they both include different SLA (service level agreements). The SLA is defined as a percentage, as specifies the guaranteed uptime of your compute or service. This doesn’t include your application or overall workload, but the underlying azure service running it. Where availability sets guarantee a 99.95% uptime, availability zones guarantee a 99.99% uptime. Although this doesn’t appear to if much, this (on paper) is the difference between around 5 hours of cumulative downtime over one year compared to under 1 hour of cumulative downtime.
What is an Azure Region
Simply put, an Azure Region is a set of Datacenters that are connected through a dedicated low-latency network. How many datacenters does a region contain. Well, we do not have a fixed number. It varies. There are regions of different sizes. A Region could be made up of just 1 dataceneter or multiple datacenters. The point is, an Azure Region is a group of one or more Azure Datacenters. As of this course recording, Azure has 58 regions worldwide.
You have the flexibility to deploy your applications and data to any Azure region you want. You can even deploy across multiple regions to deliver cross-region resiliency.
What is an Azure Geography:
An Azure geography is an area of the world that contains one or more Azure Regions. For example, India, United States, United Kingdom are a few examples of Azure Geographies.
Most geographies correspond to countries like India, United States, United Kingdom, Canada etc. Some geographies like Africa, Australia and Europe correspond to continents. Some geographies like Asia Pacific for example correspond to a specific region.
Why are azure geographies important: For two reasons. First, let's say all of your customers are in India. You don't want to host your application somewhere in the United States. You don't want every request and the associated data travelling around the world. This causes unnecessary latency, delay and hence, poor performance. You want your application and data to be hosted as geographically close to your customer base as possible. Since all our customers are in India, we want to make sure, our application and data is hosted in India. One way Azure ensures this is by using geographies.
Another reason is compliance with regulations. regulated data like financial, health care or credit card data may not be allowed to leave the country. Legally your organisation may be required to store such data in the same country where the operations are being carried out. Again, azure ensures this, by using geographies. So, for example, if you select India as the geography, Azure ensures your data is always stored in India, except for certain global services.
Azure Zonal services and Zone-redundant services: Zonal services - Virtual machine is an example of a zonal service. A zonal service is pinned to a specific availability zone. This means it is only available in the availability zone where it is created. It is not automaically replicated to other availability zones. So, if want to build highly-available systems, identify zonal services, such as a VM for example and replicate them in other availability zones. Other examples of zonal services are managed disks and Standard IP addresses. Zone-redundant services - Azure SQL Database is an example of zone-redundant service. These zone-redundant services are automatically replicated by the Azure platform across all availability zones. Unlike Zonal services, we don't have to replicate them manually.