Skip to content

Commit 2a21bd5

Browse files
committed
Updates
1 parent 828610c commit 2a21bd5

File tree

1 file changed

+32
-22
lines changed

1 file changed

+32
-22
lines changed

articles/reliability/reliability-app-service.md

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ When you deploy Azure App Service, you can create multiple instances of an *App
2323

2424
::: zone pivot="free-shared-basic"
2525

26-
- [Enable zone redundancy](#availability-zone-support), which requires that you use Premium v3 or Isolated v2 App Service plans and that you have at minimum three instances of the plan. To view more information, make sure that you select the appropriate tier at the top of this page.
26+
- [Enable zone redundancy](#availability-zone-support), which requires that you use Premium v3 or Isolated v2 App Service plans and that you have at minimum three instances of the plan. To view more information, make sure that you select the appropriate tier at the top of this page.
2727

2828
::: zone-end
2929

@@ -49,7 +49,7 @@ Microsoft-provided SDKs usually handle transient faults. Because you host your o
4949

5050
[!INCLUDE [AZ support description](includes/reliability-availability-zone-description-include.md)]
5151

52-
Azure App Service can be configured as *zone redundant*, which means that your resources are spread across multiple [availability zones](../reliability/availability-zones-overview.md). Spreading across multiple zones helps your production workloads achieve resiliency and reliability. <!-- Not sure what this means -->Availability zone support is a property of the App Service plan.
52+
Azure App Service can be configured as *zone redundant*, which means that your resources are spread across multiple [availability zones](../reliability/availability-zones-overview.md). Spreading across multiple zones helps your production workloads achieve resiliency and reliability. You configure zone redundancy on App Service plans, and all apps that use the plan are made zone redundant.
5353

5454
Instance spreading with a zone-redundant deployment is determined using the following rules. These rules apply even as the app scales in and out:
5555

@@ -58,8 +58,7 @@ Instance spreading with a zone-redundant deployment is determined using the foll
5858
- Any instance counts beyond 3*N are spread across the remaining one or two zones.
5959

6060
> [!NOTE]
61-
> In some cases, your workload is hosted on a [scale unit](/azure/app-service/overview-hosting-plans#how-does-my-app-run-and-scale) (also known as a stamp or VMSS compute cluster) that is deployed across two zones rather than three zones. For these cases, the instances are evenly spread across the two zones if the number of instances is divisible by two. Any instance count beyond 2*n is placed in one of the zones.
62-
>
61+
> In some cases, your workload is hosted on a scale unit (also known as a stamp, or a compute cluster) that's deployed across two availability zones rather than three zones. For these cases, the instances are evenly spread across the two zones if the number of instances is divisible by two. Any instance count beyond 2*n is placed in one of the zones.
6362
6463
When the App Service platform allocates instances for a zone-redundant App Service plan, it uses best effort zone balancing offered by the underlying Azure virtual machine scale sets. An App Service plan is *balanced* if each zone has either the same number of virtual machines, or plus or minus one, in all of the other zones. For more information, see [Zone balancing](/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-use-availability-zones#zone-balancing).
6564

@@ -89,13 +88,17 @@ To see which regions support availability zones for App Service Environment v3,
8988

9089
::: zone pivot="free-shared-basic"
9190

92-
- You must use either the [Premium v2 or Premium v3 plan types](/azure/app-service/overview-hosting-plans). To view more information, make sure that you select the appropriate tier at the top of this page.
91+
- You must use the [Premium v2, Premium v3, or Isolated v2 plan types](/azure/app-service/overview-hosting-plans). To view more information, make sure that you select the appropriate tier at the top of this page.
9392

9493
::: zone-end
9594

9695
::: zone pivot="premium,isolated"
9796

98-
- Availability zones are only supported on the newer App Service stamps. Even if you're using one of the supported regions, if availability zones aren't supported for your resource group, you receive an error. To ensure that your workloads land on a stamp that supports availability zones, you might need to create a new resource group, App Service plan, and App Service app.
97+
- You must use the [Premium v2, Premium v3, or Isolated v2 plan types](/azure/app-service/overview-hosting-plans).
98+
99+
- Availability zones are supported only on newer App Service scale units. Even if you're using one of the supported regions, if availability zones aren't supported for the scale unit you use then you receive an error when creating a zone-redundant App Service plan.
100+
101+
The scale units you're assigned to is based on the resource group you deploy an App Service plan to. To ensure that your workloads land on a scale unit that supports availability zones, you might need to create a new resource group and then create a new App Service plan and App Service app within the new resource group.
99102

100103
- You must deploy a minimum of three instances of your plan.
101104

@@ -125,54 +128,61 @@ App Service Environment v3 has a specific pricing model for zone redundancy. For
125128

126129
::: zone-end
127130

128-
129131
### Configure availability zone support
130132

133+
::: zone pivot="free-shared-standard"
134+
135+
- **Create a new App Service plan with zone redundancy.** To deploy a new zone-redundant Azure App Service plan, you must use either the [Premium v2 or Premium v3 plan types](/azure/app-service/overview-hosting-plans). To view more information, make sure that you select the appropriate tier at the top of this page.
136+
137+
::: zone-end
131138

132139
::: zone pivot="premium"
133140

134-
To deploy a new zone-redundant Azure App Service plan, select the *Zone redundant* option when you deploy the plan.
141+
- **Create a new App Service plan with zone redundancy.** To deploy a new zone-redundant Azure App Service plan, select the *Zone redundant* option when you deploy the plan.
135142

136143
::: zone-end
137144

138145
::: zone pivot="isolated"
139146

140-
To deploy a new zone-redundant Azure App Service Environment, see [Create an App Service Environment](/azure/app-service/environment/creation).
147+
- **Create a new App Service plan with zone redundancy.** To deploy a new zone-redundant Azure App Service Environment, see [Create an App Service Environment](/azure/app-service/environment/creation).
141148

142149
::: zone-end
143150

144-
Zone redundancy can only be configured when you create a new App Service plan. If you have an existing App Service plan that isn't zone-redundant, replace it with a new zone-redundant plan. You can't convert an existing App Service plan to use availability zones. Similarly, you can't disable zone redundancy on an existing App Service plan.
151+
- **Migration.** Zone redundancy can only be configured when you create a new App Service plan. If you have an existing App Service plan that isn't zone-redundant, replace it with a new zone-redundant plan. You can't convert an existing App Service plan to use availability zones.
145152

146-
::: zone pivot="premium,isolated"
153+
- **Disable zone redundancy.** You can't disable zone redundancy after you create an App Service plan. Instead, you need to create a new plan with zone redundancy disabled and delete the old one.
147154

155+
::: zone pivot="premium,isolated"
148156

149157
### Capacity planning and management
150158

151159
To prepare for availability zone failure, consider *over-provisioning* the capacity of your App Service plan. Over-provisioning allows the solution to tolerate some degree of capacity loss and still continue to function without degraded performance. To learn more about over-provisioning, see [Manage capacity with over-provisioning](./concept-redundancy-replication-backup.md#manage-capacity-with-over-provisioning).
152160

153-
154161
### Normal operations
155162

156-
**Traffic routing between zones:** During normal operations, traffic is routed between all of your available App Service plan instances across all availability zones.
163+
- **Traffic routing between zones:** During normal operations, traffic is routed between all of your available App Service plan instances across all availability zones.
164+
165+
- **Data replication between zones:** During normal operations, any state stored in your application's file system is stored in zone-redundant storage, and is synchronously replicated between availability zones.
157166

158167
### Zone-down experience
159168

160-
Applications that are deployed in a zone-redundant App Service plan continue to run and serve traffic even if multiple zones in the region suffer an outage. However, nonruntime behaviors might still be impacted during an availability zone outage. These behaviors include App Service plan scaling, application creation, application configuration, and application publishing.
169+
The following information describes what happens when you have a zone-redundant App Service plan and there's an availability zone outage:
161170

171+
- **Detection and response:** The App Service platform is responsible for detecting a failure in an availability zone and responding. You don't need to do anything to initiate a zone failover.
162172

163-
**Detection and response.** The App Service platform is responsible for detecting a failure in an availability zone and responding. You don't need to do anything to initiate a zone failover.
173+
- **Active requests:** When an availability zone is unavailable, any requests in progress that are connected to an App Service plan instance in the faulty availability zone are terminated. They need to be retried.
164174

165-
**Active requests.** When an availability zone is unavailable, any requests in progress that are connected to an App Service plan instance in the faulty availability zone are terminated. They need to be retried.
175+
- **Traffic rerouting:** When a zone is unavailable, Azure App Service detects the lost instances from that zone. It automatically attempts to find new replacement instances. Then, it spreads traffic across the new instances as needed.
166176

167-
**Traffic rerouting.** When a zone is unavailable, Azure App Service detects the lost instances from that zone. It automatically attempts to find new replacement instances. Then, it spreads traffic across the new instances as needed.
177+
If you have autoscale configured, and if it decides more instances are needed, autoscale also issues a request to App Service to add more instances. For more information, see [Scale up an app in Azure App Service](../app-service/manage-scale-up.md).
168178

169-
If you have autoscale configured, and if it decides more instances are needed, autoscale also issues a request to App Service to add more instances. For more information, see [Scale up an app in Azure App Service](../app-service/manage-scale-up.md).
179+
> [!NOTE]
180+
> [Autoscale behavior is independent of App Service platform behavior](/azure/azure-monitor/autoscale/autoscale-overview). Your autoscale instance count specification doesn't need to be a multiple of three.
170181
171-
> [!NOTE]
172-
> [Autoscale behavior is independent of App Service platform behavior](/azure/azure-monitor/autoscale/autoscale-overview). Your autoscale instance count specification doesn't need to be a multiple of three.
182+
> [!IMPORTANT]
183+
> There's no guarantee that requests for more instances in a zone-down scenario succeed. The back filling of lost instances occurs on a best-effort basis. If you need guaranteed capacity when an availability zone is lost, you should create and configure your App Service plans to account for losing a zone. You can do that by [overprovisioning the capacity of your App Service plan](#capacity-planning-and-management).
173184
174-
> [!IMPORTANT]
175-
> There's no guarantee that requests for more instances in a zone-down scenario succeed. The back filling of lost instances occurs on a best-effort basis. If you need guaranteed capacity when an availability zone is lost, you should create and configure your App Service plans to account for losing a zone. You can do that by [overprovisioning the capacity of your App Service plan](#capacity-planning-and-management).
185+
- **Nonruntime behaviors:** Applications that are deployed in a zone-redundant App Service plan continue to run and serve traffic even if multiple zones in the region suffer an outage. However, nonruntime behaviors might still be impacted during an availability zone outage. These behaviors include App Service plan scaling, application creation, application configuration, and application publishing.
176186

177187
### Failback
178188

0 commit comments

Comments
 (0)