While working on some DR documentation, I realized that the Azure Portal doesn't reveal whether Availability Zones are in use 🤔
This concise post summarizes geo-replication & availability zones and shows how to unveil if availability zones got enabled upon creating the registry.
About Availability Zones & Geo-Replication
Azure Container Registry comes in three service tiers: Basic, Standard, and Premium. However, only the Premium tier supports geo-replication and availability zones.
With AZ enabled, your registry will get replicated across all the other data centers within the selected region and help keep it available if a data center fails.
🔎 Please note, not every region provides zone redundancy!
With geo-replication, your registry gets synchronized to another region, where again, you can choose to enable availability zones.
So if we assume our registry got created in the region Switzerland North with AZ enabled and we choose to use geo-replication to, say, West Europe, also with AZ enabled, we'll end up with at least six copies of our registry!
This will protect us from local outages and ensure our registry runs smoothly even if one of the entire region is affected.
In general, AZ needs to be enabled upon creating the registry. I can't be changed afterward. However, there is a workaround. You can configure geo-replication and enable AZ on the target region. This, however, will incur additional costs!
☝🏼 Zone redundancy can't be enabled after registry creation without also enabling geo-replication, which incurs additional costs.
E.g., for inter-regional data transfer, 0.019 CHF will be charged per GB, which can quickly sum up considering we are dealing with a container registry. An additional 0.010 CHF per GB will be charged for data transfers between availability zones.
🔎 Additional costs occur for geo-replication & availability zones.
Enough of the ceremony. Here is the command to see if your Azure Container registry uses availability zones. Unfortunately, I couldn't find the Azure PowerShell equivalent.