Automatic failover from primary region to secondary for internal service using Front Door or Traffic Manager

Andrew Syrov 46 Reputation points
2021-08-04T18:55:45.693+00:00

I need to implement automatic failover to the secondary (passive) region for internal service. This service is a Function App that does some work on different events, including timers.

Here is my current understanding of how I can achieve this:

My question now is if there is a solution how to implement it with Front Door or with Traffic Manager. Here is a sketch:

  • Traffic Manager is set to Priority mode. The primary region has priority 1 and secondary 2. Both regions periodically send "Ping(name of region)" to the traffic manager URL. Now, the traffic manager directs these ping requests to the active, healthy region, so when a region receives a "Ping" message then it assumes that it is currently active, and performs work assuming to be a leader. It appears to make sense, but I'm concerned, if I can have a split-brain situation here (when both regions think they are active/leaders).

Can anyone please help reason if there is an approach with Traffic Manager or Front Door may work without split-brain?

Thank you very much in advance,

Azure Functions
Azure Functions
An Azure service that provides an event-driven serverless compute platform.
4,322 questions
Azure Traffic Manager
Azure Traffic Manager
An Azure service that is used to route incoming network traffic for high performance and availability.
111 questions
Azure Cosmos DB
Azure Cosmos DB
An Azure NoSQL database service for app development.
1,455 questions
0 comments No comments
{count} votes

Accepted answer
  1. GitaraniSharma-MSFT 47,696 Reputation points Microsoft Employee
    2021-08-06T10:47:50.803+00:00

    Hello @Andrew Syrov ,

    Welcome to Microsoft Q&A Platform. Thank you for reaching out & hope you are doing well.

    You can combine SQL auto-failover groups with Azure Traffic manager priority routing method to setup automatic failover from primary region to secondary for business continuity with minimal downtime. You can refer the below article which shows the implementation of this scenario.
    Reference : https://learn.microsoft.com/en-us/azure/azure-sql/database/designing-cloud-solutions-for-disaster-recovery#scenario-1-using-two-azure-regions-for-business-continuity-with-minimal-downtime

    121159-image.png

    Azure traffic manager priority routing is selected when you want to have a primary service endpoint for all traffic. You can provide multiple backup endpoints in case the primary or one of the backup endpoints is unavailable. The Traffic Manager profile contains a prioritized list of service endpoints. By default, Traffic Manager sends all traffic to the primary (highest-priority) endpoint regardless of the availability of all endpoints. If the primary endpoint isn't available, Traffic Manager routes the traffic to the second endpoint.

    Even when both the regions are active, the traffic manager will route all the traffic to the highest-priority endpoint and only route the traffic to secondary when primary fails/degrades.

    Reference : https://learn.microsoft.com/en-us/azure/traffic-manager/traffic-manager-routing-methods
    https://learn.microsoft.com/en-us/azure/traffic-manager/traffic-manager-monitoring

    Kindly let us know if the above helps or you need further assistance on this issue.

    ----------------------------------------------------------------------------------------------------------------

    Please "Accept the answer" if the information helped you. This will help us and others in the community as well.


0 additional answers

Sort by: Most helpful