Chapter 7. High Availability and Disaster Recovery for Azure Virtual Machines
In this chapter, we will take a look at how we can configure our virtual machines for High Availability and ensure that we are protected in the event of a disaster. You might think that High Availability (HA) and Disaster Recovery (DR) are built into your cloud solution. Well, only if you configure your environment in this way. If you don't, and Azure data center has a proverbial hiccup, then your systems will go down and will be unavailable. Though Azure is fully customizable, you can benefit from its flexibility by protecting your on-site servers from a disaster by allowing the Azure cloud to be your Disaster Recovery solution.
In this chapter, you will learn the following topics:
Microsoft Azure High Availability
Creating an Availability Set
Creating and configuring a Traffic Manager profile
Microsoft Azure High Availability
To make any cloud solution that you design for your applications highly available, you need to design and implement a strategy that allows you to absorb any outage to your cloud provider. In effect, we want our application/functionality to be available to our users/customers despite a failure in the cloud platform.
The driver behind High Availability is the business need and the cost of an outage to key applications or services to the business. In particular, the outage prevents the business from generating revenue or costing the business in terms of opportunity cost or opportunity lost. Thus, businesses generally place great importance on their mission-critical applications and are generally prepared to invest capital to ensure that they remain available. The importance of the business places in an application will dictate how important the application's availability is to the business. This is true regardless of the platform the application is running on...
Azure virtual machine downtime and availability
There are two types of downtime that can impact the availability of Azure virtual machine, and we should consider both planned and unplanned downtime, when discussing virtual machine availability:
Planned: Microsoft will advise planned downtime. These events happen from time to time as a result of updates made by Microsoft to the underlying Azure platform. There could be a variety of different reasons but would normally involve some changes being made to the underlying infrastructure that the virtual machine is running on. These events don't necessarily mean an outage to the virtual machine; it's possible that the changes will have no impact on the uptime of your virtual machine. However, if a situation arises whereby the changes made require a restart or reboot of the virtual machine, then you are still going to get an outage for that virtual machine. Whether that impacts your application availability will depend on your Azure virtual machine...
The multiple-tier architecture
Before we move on and take a look at how we can implement highly available virtual machines that are protected in the event of a disaster in the Microsoft Azure cloud, we need to briefly discuss the application design and tiers that are found in typical application designs. Most systems and applications are divided into multiple tiers with each tier performing a different role in the system. These tiers allow you to deliver an available, scalable, fault-tolerant system to your business. As we've discussed, this is the objective of any highly available system, including cloud-based ones. Here, I'm going to look at the three basic tiers of simple web applications, which are as follows:
Client tier: Sometimes, this tier is called the presentation tier. This usually contains the user interface; in our case, this might be a client device and browser.
Application tier: Sometimes, this is called the logic tier and carries out the application logic and business processing...
Microsoft Azure as a Disaster Recovery site
Late in 2014, Microsoft announced that it was introducing Azure site recovery. In effect, this is Microsoft's version of Disaster Recovery as a service. The Microsoft Cloud will act as your Disaster Recovery site. This potentially means that you don't need to maintain multiple sites for the purposes of on-premises Disaster Recovery. You have your main on-premises site, which you would replicate to Azure.
There are other providers out there too, such as VMware's vCloud Air Disaster Recovery. The choice really comes down to what virtualization technology you are using on-premises. We will briefly discuss Microsoft's Azure Disaster recovery site solution—Azure site recovery. It's relatively self-explanatory; it lets you replicate the Hyper-V machines running on your premises into Azure. You can then use these replicated machines for Disaster Recovery with minimal additional work.
Configuring and setting up site recovery is outside the scope of this...
In this chapter, we looked at the high availability options that you have when configuring virtual machines in Azure. You have a number of options available to you, when configuring both your Azure-based VMs to be highly available, including the ability to create Availability Sets. You can make use of Azure site recovery to use the Azure cloud as a Disaster Recovery site for both your cloud-based virtual machines and your on-premises Hyper-V virtual machines.