geo-redundancy using azure front door

dnyandeo bharambe 96 Reputation points
2022-11-30T20:37:53.307+00:00

I am trying to deploy my application with georedundancy. My application have multiple http endpoints and multiple services. If any of this failed front door should redirect to secondary environment.
How I can achieve this.
Following is architecture diagram I am trying to implement. Here is scenario I like to handle
say if ws-webapp not available or/and ws-runner not available user should redirect to secondary region, in this case west region. In this application ws-webapp is azure webapp and ws-runner is azure functions while front end static website.

How i can configure front door to achieve this?

265788-image.png

Azure Functions
Azure Functions
An Azure service that provides an event-driven serverless compute platform.
5,248 questions
Azure Front Door
Azure Front Door
An Azure service that provides a cloud content delivery network with threat protection.
708 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. GitaraniSharma-MSFT 49,666 Reputation points Microsoft Employee
    2022-12-01T09:54:38.677+00:00

    Hello @dnyandeo bharambe ,

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

    I understand that you want to deploy your application with georedundancy which has multiple http endpoints & multiple services and would like to know how to achieve application failover with Azure Front Door where it should redirect to secondary environment, in case of a failure in the primary environment.

    Azure Front Door supports four different traffic routing methods to determine how your HTTP/HTTPS traffic is distributed between different origins. The four traffic routing methods are: Latency, Priority, Weighted & Session Affinity.
    Refer : https://learn.microsoft.com/en-us/azure/frontdoor/routing-methods

    The Priority traffic-routing method in Azure Front Door allows you to easily implement the Active/Standby or Active/Passive deployment failover pattern which provides high availability for your services by deploying more than one backup service in case the primary one goes down.

    The default Azure Front Door contains an equal priority list of origins. By default, Azure Front Door sends traffic only to the top priority origins (lowest value in priority) as the primary set of origins. If the primary origins aren't available, Azure Front Door routes the traffic to the secondary set of origins (second lowest value for priority). If both the primary and secondary origins aren't available, the traffic goes to the third, and so on. Availability of the origin is based on the configured status of enabled or disabled and the ongoing origin health status as determined by the health probes.

    To determine the health and proximity of each backend for a given Azure Front Door environment, each Front Door environment periodically sends a synthetic HTTP/HTTPS request to each of your configured origins. Azure Front Door then uses these responses from the probe to determine the "best" origin to route your client requests.
    A 200 OK status code indicates the backend is healthy. Everything else is considered a failure.
    Refer : https://learn.microsoft.com/en-us/azure/frontdoor/health-probes

    Each origin (backend in AFD Classic) in your origin group (backend pool in AFD Classic) of the Azure Front Door configuration has a property called Priority, which can be a number between 1 and 5. With Azure Front Door, you can configure the origin priority explicitly using this property for each origin. This property is a value between 1 and 5. The lower the value the higher the priority. Origins can share the same priority values.

    Refer : https://learn.microsoft.com/en-us/azure/frontdoor/routing-methods#priority

    For a Multi-region active/passive deployment: You need to create a single origin group (backend pool in case of Azure Front Door Classic). Within that origin group, create an origin (backend in AFD Classic) for each of the App Service apps. Configure each origin's priority to ensure that the primary application has a higher priority than the secondary application.
    Refer : https://learn.microsoft.com/en-us/azure/frontdoor/front-door-faq#how-many-origins-and-origin-groups-should-i-create-
    https://learn.microsoft.com/en-us/azure/frontdoor/origin?source=recommendations&pivots=front-door-classic

    Architecture setup for Azure Front Door failover : https://learn.microsoft.com/en-us/azure/frontdoor/quickstart-create-front-door

    In the above setup, the origins/backend webapps (both primary & secondary) have equal priority but in your case, you can assign a higher priority to the primary application than the secondary one.

    266152-image.png

    266047-image.png

    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.

    1 person found this answer helpful.

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.