Implementing Multi-region Deployment and Disaster Recovery in Azure

Background

Every application has its own criticality level, some are mission critical in nature, while other aren’t. Mission critical apps typically requires very high uptime or availability. Many Azure PaaS services such as App Service and SQL Database have built-in HA (high availability) features to tolerate failure within the region with minimum or even zero configuration requires. However, most of the HA features are in-region, meaning the redundancy takes place within the same region or datacenter. In the unfortunate events such or large-scale disasters such as earthquake, flooding, etc., it may affect the whole region which bring down your applications.

One common strategy people when dealing with mission critical application is to have multi-region deployment with DR (disaster recovery) strategy. Nonetheless, it’s very difficult and complicated to setup such architecture.

Solution Demo Video Series

Join me and my colleague Adityo Setyonugroho for this video series of: Implementing multi-region deployment and disaster recovery in Azure. We implemented the demo from the reference architecture on Azure within two regions serving as primary and secondary, active/passive model.

We cover 4 different scenarios how the failover takes place:

  • Scenario 1: the happy flow when both deployment in each region are well
  • Scenario 2: when the Web App in primary region is down
  • Scenario 3: when the Database in the primary region is down
  • Scenario 4: when entire primary region is down, we could failover to secondary region in less than 3 minutes!

Video 1 – Introduction to multi-region deployment and disaster recovery on Azure

This video covers the background of this initiative, fundamental of HA vs DR in general, and how we plan to implement the solution architecture in real actions.

Video 2 – Crash Course: App Service, SQL Database, Traffic Manager, Event Hubs, Stream Analytics, Functions, Logic App

This video covers fundamental and introduction of some of the Azure services and tools (Postman and JMeter) used in this video series

 

Video 3 – Sample app, database, and deployment on Azure

This video walk-throughs the sample application and database used for this demo series. We will also show how they are deployed on Azure.

Video 4 – Everything goes well. Opps… suddenly Web in primary region is down

This video firstly shows the happy flow, when all running well in Region A. Suddenly, Web app in Region A goes down… How will Azure Traffic Manager handle this?

Video 5 – Database in Region A is down

This video shows scenario 3, what happens when database in region A goes down? We will perform a database failover without having to change the application at all.

Video 6 – The setup for Scenario 4 (entire primary region is down)

This demo shows the setup to anticipate the scenario 4 (when entire primary region goes down). We design a solution to streamline the failover process for app and database.

Video 7 – The demo of failing over to secondary region when primary region is down

This video demonstrates the actual failing over to secondary region when entire primary region goes down.

 

What’s next?

We are not done yet! Adityo and I are currently working on automating the deployment of the solution to achieve single button deployment. We will be also sharing the sample code along with the ARM template in GitHub.

Hope you enjoy this video series. Stay tuned!

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.