I am having some doubts on how to implement and guarantee Azure Virtual machine Disaster recovery.

I have a virtual machine running some IIS on one Azure region1 (suppose Central US). In order to achieve HA i know i need to create a Availability Set. Problem is that if region 1 fails my service will be unavailable.

So, what i wanna ask is whats the best way for me to guarantee the VM recovery to region2 (south central US) in the fastest time and without any human intervention (if possible). Notice that i am talking only in case of Region1 goes down.

I know that in case of data corruption ill need to have some other mechanisms.


  • While I did post an answer to this, maybe I shouldn't have, as this is simply too broad, with no right answer. As I pointed out, there are potentially dozens of failure points in a large system which must be taken into account when considering Disaster Recovery. There's no way to answer this here. Plus, you're asking how to "guarantee" recovery to an alternate region. I think you're confusing DR with HA (High Availability). DR deals with failure points, possible data loss, and system recovery in those situations. – David Makogon Nov 20 '15 at 22:12

Simply put: DR is up to you (or, more specifically, your app's architecture). There is no way to guarantee recovery to another region. While you might be able to route traffic to another region (whether via Traffic Manager as @Bruno suggested, or your own DNS-based solution), that says nothing about your data. That just deals with external-facing web/api/app tier.

Why do I say it's up to you (your app's architecture)? Just think about how many questions don't have a built-in answer:

  • How will you replicate data from a primary region, to ensure it's available in your secondary region? Are you using a data storage service that replicates to alternate regions (e.g. Table/Blob storage)? Are you using VM-based database solutions that require replication to be set up (and then how do you deal with consistency)?
  • How will your app operate if it doesn't have data available to it? Does it shut down? Does it go into read-only mode? Does it work with stale data?
  • What happens if additional services become unavailable (e.g. email, cache, identity, 3rd-party services, etc.)?
  • How will you ensure you're not losing content written to a primary data node, when your secondary nodes are now the only ones available?
  • How will you deal with recovery when the primary region comes back online?
  • How will you deal with scenarios where multiple regions go offline - will you have additional resources on-premises?
  • Etc.

You mentioned Availability Sets, which have nothing to do with DR (as you've surmised). Availability Sets just reduce the chance of your VM cluster going offline, by ensuring VMs are spread across fault- and update- domains.

Bottom line: Disaster Recovery is not something built-in, and will require careful planning, and understanding how your system will (or will not) operate during a failure period.


You can use Traffic Manager. Basically, you add an endpoint for Region1 and another endpoint for Region2. Setup it for Failover and it will do the magic for you in case your primary site fails. All your inbound traffic is managed by the Traffic Manager instead of going directly to the VMs.

What is Traffic Manager?


  • Traffic Manager isn't really DR. It doesn't offer any type of data services, so just routing to a second region for app services may still result in downtime. – David Makogon Nov 20 '15 at 22:01
  • Also, Traffic Manager doesn't offer any solution for dealing with any other failed services. It's strictly for dealing with Internet-facing web/app/api tier components. At best, Traffic Manager can be considered helpful in HA scenarios, or general performance-balancing scenarios across multiple regions. – David Makogon Nov 20 '15 at 22:11
  • I know it's not DR. OP is confused about what is DR and HA, but for me his question is clear about HA. He also talks about IIS, which I assume it's a web application. For this simple scenario, traffic manager will work just as expected. There's a lot of other questions that needs answer like database replication, app architecture, but that's something op can ask later or figure it out by himself. – Bruno Faria Nov 21 '15 at 10:56
  • Well, About all other components i already have all figured out. About the VM i have some solutions but what iam trying to do its to figure whats the best option to it. – Arestas Nov 23 '15 at 23:50

Not the answer you're looking for? Browse other questions tagged or ask your own question.