The ability to configure multiple availability zones is one of the factors that makes cloud computing so attractive. In the cloud, you can easily spread copies of your workloads across multiple sites using availability zones — a feat that would be much harder (and more costly) to achieve if you were hosting workloads in your own data center.
But how do you decide whether to set up more than one availability zone? And how many should you use? Getting the right answers to those questions is important for ensuring that you build the right level of redundancy into your cloud environments, while avoiding paying more than you need for availability zones that won't add value.
- What Is an Availability Zone?
- The Pros and Cons of Multiple Availability Zones
- When — and When Not — to Use More Than One Availability Zone
- Alternatives to Multiple Availability Zones
What Is an Availability Zone?
Let's start by defining the basics: the meaning of an availability zone.
In cloud computing, an availability zone is an isolated location for hosting workloads. In other words, each availability zone is designed to operate independently of other parts of the cloud platform to which it belongs. In most cases, every availability zone runs in its own physical data center, so problems at other data centers owned by the cloud provider won't affect it.
Cloud providers offer the ability to configure multiple availability zones so that if one availability zone fails, your workload will remain up, provided you have configured at least one additional availability zone for it.
The major cloud providers typically offer at least three availability zones in each of their cloud regions.
The Pros and Cons of Multiple Availability Zones
Obviously, increasing workload availability is a good thing. In that sense, the more availability zones you set up, the better from the perspective of reliability. Hosting your workloads in just a single availability zone — which is what happens by default on most cloud platforms — places you at a substantially higher risk of having your workloads become unavailable.
Although it's technically possible for two availability zones to go down at the same time, that almost never happens — so configuring at least two availability zones minimizes your chances of downtime.
On the other hand, setting up more than one availability zone presents some challenges:
- Higher cost: In most cases, adding an availability zone approximately doubles your total cloud computing costs because cloud providers bill you for the additional zone as if it hosted an independent workload. Thus, one VM operating across two availability zones will cost you about the same as running two separate VMs.
- Complexity: Configuring more than one availability zone adds some complexity to your cloud environment. Managing more than one zone is not as challenging as managing multiple clouds, but you do need to address factors such as how you'll configure networking between availability zones, which makes cloud management that much harder.
- Network performance: Because availability zones are hosted in distinct data centers that are geographically separate from each other, moving data between them can increase network latency. The delays are typically minimal, but some admins report latency as high as 600 milliseconds for availability zones within the same region — a figure that could be a problem in situations where it's critical to keep data in sync across availability zones.
- Risk of regionalized outages: Availability zones significantly reduce your chances of an outage, but they don't guarantee against it. In an event (like a major natural disaster) that disrupts data centers located across a broad geographic region, there is a chance that multiple availability zones could fail, since they are all grouped in the same region.
So, the trade-off for gaining higher availability by setting up multiple availability zones is that you pay more, have a more complex environment to manage, and still don't get a complete guarantee that your workloads won't fail.
When — and When Not — to Use More Than One Availability Zone
Based on the factors described above, you can draw these conclusions about circumstances in which you should use more than one availability zone:
- Workload availability is a priority.
- You can afford to double or triple your cloud budget for hosting a workload.
- It's OK if there is a minor difference in the state of your workloads between availability zones due to network latency.
- You can tolerate the risk that a regionwide issue will lead to downtime. (If you can't, consider mirroring your workloads across cloud regions instead.)
Alternatives to Multiple Availability Zones
It's worth bearing in mind, too, that setting up multiple availability zones is by no means the only way to increase workload availability.
Beyond using multiple cloud regions, which we already mentioned, other approaches include backing up your workloads outside of the cloud environment you use for production. That way, you can restore them quickly in the event that your single availability zone fails. You won't get automated, instantaneous failover as you would when using multiple availability zones, but at least you'll have the ability to restore operations without waiting for your availability zone to come back up.
Some cloud providers also offer variations on availability zones that provide an alternative to configuring multiple zones as a way of optimizing availability. For example, on Azure, you can create availability sets. An availability set is an isolated hardware location within a data center. By setting up multiple availability sets, you mitigate the risk that a problem with specific hardware (like a server rack failure) will bring down your workloads.
Using more than one availability zone is a smart way to reduce the chances of downtime in the cloud. But before deploying workloads across as many availability zones as your cloud provider offers you, consider the financial, manageability, and performance impacts. In some cases, it might make sense to stick with just one availability zone, or to use an alternative method for increasing availability.
About the authorChristopher Tozzi is a technology analyst with subject matter expertise in cloud computing, application development, open source software, virtualization, containers and more. He also lectures at a major university in the Albany, New York, area. His book, “For Fun and Profit: A History of the Free and Open Source Software Revolution,” was published by MIT Press.