Azure App Services Availability and Disaster Recovery

Edward Stark 1 Reputation point
2022-08-08T15:36:41.21+00:00

I am trying to understand the Disaster recovery and availability architecture of Azure App services.

According to this KB, if I deploy an app service, it is placed in a single availability zone.

Migrate Azure App Service to availability zone support | Microsoft Learn

Q1. If that Zone/Data Center goes down and I do not have Availability zones enabled, is there no way to recover my app ?

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

This KB talks about how to perform backups and restore for an Azure App service.

Back up an app - Azure App Service | Microsoft Learn

Q2. Where are the automatic backups stored ? Are they in the same Zone/Datacenter ? if the zone goes down, the backups are offline as well ?

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

This KB talks about how to recover an app service to another region during a disaster that impacts an entire Azure region. It mentions that "When a disaster brings an entire Azure region offline, all App Service apps hosted in that region are placed in disaster recovery mode. Features are available to help you restore the app to a different region or recover files from the impacted app. "

https://learn.microsoft.com/en-us/azure/app-service/manage-disaster-recovery

So somehow the backups for app services is Georedundant right ?

BUT then this KB mentions that "To migrate an Azure App Service application, such as Web Apps or Mobile Apps, to a secondary Azure region, you must have a backup of the website available for publishing. If the outage does not involve the entire Azure datacenter, it might be possible to use FTP to download a recent backup of the site content. "

Recover from loss of an Azure region - Azure Architecture Center | Microsoft Learn

Q3. Is the backup for all App services Georedundant ? If YES then why is the second KB talking about retrieving the backup if the datacenter is still online ? If NO then where do the backups come from when an app service enters "disaster recovery mode" , mentioned in the KB before it.

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

I am just trying to understand what I need to do to protect my app services, in case of zonal or regional outages. I wish there was some form of a table/matrix, explaining DR for Azure resources.

Azure App Service
Azure App Service
Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
6,882 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. brtrach-MSFT 15,251 Reputation points Microsoft Employee
    2022-08-12T03:27:30.747+00:00

    @Edward Stark Thank you for your question regarding Azure App Services Availability.

    I will try my best to answer your questions. Please reply back if you have any further questions.

    Q1. Yes, if the datacenter goes down and you do not have something like availability zones or Azure Traffic Manager (ATM) setup, your web app will go down for clients. While basic tier and higher App Service Plans have a 99.95% SLA, if your product requires even greater uptime, then it is up to the customer to configure/architect their app for higher availability.

    Q2. First item I want to stress around backups is that they are largely meant to restore your web app/database after a failed deployment or if your deployment machine gets destroyed (and you have selected custom backups, which are downloadable as Azure Storage blobs). Next item is that there are two types of backups. Automatic backups are simple and stored in the same datacenter as the App Service. The second type of backups is called custom backups. These require a storage account, which can be within a different region than the App Service and are downloadable.

    Q3. The disaster recovery doc highlights using snapshots, which is a preview feature (we do not recommend using preview features for production services). Snapshots are different than backups. Snapshots might allow you to restore your site to a secondary region if the datacenter that your App Service resides in is not fully down. Otherwise, automatic backups are in the same region as your App Service and should not be relied upon as your disaster recovery plan. Custom backups can reside in a different region than your App Service if you chose to place the storage plan outside. The downside to custom backups is that it puts pressure on the developers to be ready at moment's notice to manually create/deploy to a new App Service should an outage occur.

    Ultimately, the above process of restoring your App Services via snapshots can be slow as App Services are region specific. You would not only need to manually create a new App Service and App Service Plan in a new region, deploy the site files or restore via snapshot, reconnect your database, update DNS, add SSL/TLS certificate to secure the custom domain, etc.

    For this reason, if availability is your concern, I would highly recommend using Azure Traffic Manager. This setup utilizes two or more App Services that are in two different datacenters (note each datacenter is at least 500 miles apart to reduce overlapping of natural disasters). There are a few different routing techniques that ATM can be configured to route traffic. If the health ping fails on one of the App Service endpoints, it will automatically pull that endpoint from the routing table until a healthy ping occurs. This all happens automatically and in a matter of minutes.

    The downsides to ATM are that you have to pay for an additional App Service Plan and potentially pay for a second database. You will also need to make your deployments to each App Service, which will increase the actions needed from your developers with each deployment. For more information on Azure Traffic Manager and Azure App Services, please see here.

    (There are other automatic methods for high availability such as Azure Frontdoor or availability zones but to avoid making this answer too lengthy, I have listed out one method.)

    I hope I was able to answer your questions and also provide you an alternative option that many other customs take. If you have further questions regarding high availability of your App Service, please reply here and I would gladly assist you further.

    0 comments No comments