question

David-9186 avatar image
0 Votes"
David-9186 asked Grmacjon-MSFT commented

Multi Container App Service Plan Redundancy

Hello,

Thank you in advance for any help offered.

I currently have an App Service Plan with 1 app underneath it. This single app is configured to use the "Docker Compose (preview)" option within Container Settings, and 3 different docker images (pulled from ACR) are configured to run.

Only 1 of these docker images is exposed on port 80 of the App Service, the other 2 images are .net console apps running IHostBuilder type "services".

How can I set up Azure to automatically replicate this App Service into a different region, and handle automatic fail overs in the case that any one of the docker images begin to fail?



David

azure-webapps
· 1
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Hello @David-9186

Just checking to see if AndriyBilous response helped answer your question. If you have further questions please let us know

-Grace

0 Votes 0 ·

1 Answer

AndriyBilous avatar image
0 Votes"
AndriyBilous answered

Hello @David-9186


Here is an example of architecture that uses two regions to achieve higher availability.
The application is deployed to each region. During normal operations, network traffic is routed to the primary region. If the primary region becomes unavailable, traffic is routed to the secondary region.
Front Door routes incoming requests to the primary region. If the application running that region becomes unavailable, Front Door fails over to the secondary region.

89844-image.png


https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/app-service-web-app/multi-region

https://docs.microsoft.com/en-us/azure/frontdoor/front-door-lb-with-azure-app-delivery-suite#building-with-azures-application-delivery-suite

I would recommend to use WebApp health check to monitor if all the containers are healthy.
The health check path should also check containers with console apps running IHostBuilder. If the primary application cannot connect to other containers with console apps then the path should return a HTTP error response code to indicate that the primary app is unhealthy.
https://azure.github.io/AppService/2020/08/24/healthcheck-on-app-service.html



image.png (119.4 KiB)
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.