Some time ago, i published an blog entry at aodbc (sorry, only Spanish content available) a introductory post about some cloud basic concepts, such concepts are Region and Availability Zone. In this post and starting from the previous one, we are going to deep dive into those concepts.
The most important cloud providers has numerous Datacenters, distributed along different geographical locations (regions). The location of these Datacenters is defined attending to multiple aspects, for example: Climatology, energy price, business share and the geographical area that will cover. In occasions one Datacenter isn’t enough to support the business and several are build.
The location of these Datacenters is defined according to many aspects, for example:
- Power energy price
- Network connectivity
- business potential, etc.
By having numerous data centers, sometimes several in a certain area, have been coined terms such as region or area of availability.
A region is exactly what its name indicates, a delimited geographical area, but limited to what? The extension of a region will be the one that allows to connect several Datacenters in suitable conditions of latency and bandwidth and will normally involve distances of around 50KM between the different Datancenters.
<OCI Regions at the beginning of 2018, courtesy of Oracle inc>
The definition of the availability zone may change slightly from one provider to another, but essentially they are independent domains in terms of fault tolerance, that is, the failure of the components of a certain availability zone (for example cooling or power supply) will not affect other availability zones.
Ideally, each availability area should be an independent Datacenter geographically separated from the Datacenters that make up other availability zones, however this varies from one provider to another, and it may be the case that several zones are build into the same datacenter.
So a region will be made up of several availability zones.
What is the ideal number of Z.A. in a region ?:
You can think the simple answer would be, the more the better, but the reality is that isn’t it and we will see why.
The common sense tell us that a Region must be build with more than one A.Z. in order to have high availability in the event of an A.Z. downtime.
So, two is the minimum, and 3 desirable to guaranteed all the workloads can run in the other two A.Z. without problem.
One we have 3 zones, it is more advantageous to invest in the development of new regions, or increase the size of the A.Z. than in increasing the number of availability zones. This is so, because statistically a failure that affected 3 availability zones simultaneously, would probably affect all existing ones, and grow over 3 zones increase the complexity of our topology (latency & routing problems, etc).
Why do some providers have more than three availability zones in a region? Well, this can be for several reasons, but the most usual ones are:
- Limited growth capacity of their zones (for example due to lack of network ports, server placement space, etc.)
- Lack of fault tolerance (if our infrastructure meets fault tolerance standards weaker or lax than others, that probability of failure increases and therefore we will need to increase the number of zones to keep this parameter under control).
- Error in the design and estimation of the initial capacity of the zones
In general, a supplier using Tier IV datacenters, geographically separated and designed with sufficient growth capacity, will operate with 3 zones. Some professional see it as an indicator of work well done in the pre-construction phase of the region itself.