MicrosoftDocs / azure-docs

Open source documentation of Microsoft Azure
https://docs.microsoft.com/azure
Creative Commons Attribution 4.0 International
10.25k stars 21.42k forks source link

Why we need to pin app service to a zone using ASE? #60954

Closed ghost closed 4 years ago

ghost commented 4 years ago

Can you please help me to understand this feature?

What I need is zone redundancy to achieve high availability for app service.

Are we saying that the only option is to use ASE and pin the app service in a specific zone and create multiple app services in multiple zones. Then use another zone aware load balancer service to sit in front of the ASE zonal app services?

What about the app services running in premium app service plan? Azure behind the scene does not support zone redundant infrastructure?

[Enter feedback here]


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

mikeurnun commented 4 years ago

@RonnieQuan Thank you for your feedback! We will review and update as appropriate.

BryanTrach-MSFT commented 4 years ago

@RonnieQuan

An Availability Zone is a high-availability offering that protects your applications and data from datacenter failures. Availability Zones are unique physical locations within an Azure region. Each zone is made up of one or more datacenters equipped with independent power, cooling, and networking. To ensure resiliency, there's a minimum of three separate zones in all enabled regions. The physical separation of Availability Zones within a region protects applications and data from datacenter failures. Zone-redundant services replicate your applications and data across Availability Zones to protect from single-points-of-failure. With Availability Zones, Azure offers industry best 99.99% VM uptime SLA. The full Azure SLA explains the guaranteed availability of Azure as a whole. Source

In more layman's terms, availability zones allow for you to achieve higher availability without losing performance in the event of a failover. If a majority of your customers are located near the Central US datacenter and you are using Azure Traffic Manager for failover routing to a backup copy of your web app in West US, this could add additional latency and requires you to not only make your web app available in a second region but also your other resources as it's not a best practice to have your web app and database in different regions. Azure regions are located at least 500 miles apart to ensure resiliency. This distance can lead to latency or slower performance for your users. So one advantage is that you get to keep your backup web app close to the location of your primary web app so your customers shouldn't perceive a difference in their experience.

Using availability zones also ensures both instances of your app will not be updated at the same time. That way, if there is an issue with the update, you should still have a functional backup web app.

You do not need a load balancer for availability zones. The ILB ASE already includes a load balancer that will manage routing.

As of right now, multi-tenant web apps (non App Service Environment web apps), such as those on the premium tier that you mentioned, are not able to use availability zones. With multi-tenant web apps, you would need to deploy a primary and back up web app and use something like Azure Traffic Manager to achieve resiliency.

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.