|
1 | 1 | ---
|
2 |
| -title: App Service routine maintenance |
3 |
| -description: Learn more about the routine, planned maintenance to keep the App Service platform up-to-date and secure. |
| 2 | +title: Routine maintenance for Azure App Service |
| 3 | +description: Learn more about routine, planned maintenance to help keep the App Service platform up to date and secure. |
4 | 4 | author: msangapu-msft
|
5 | 5 | tags: app-service
|
6 | 6 |
|
7 | 7 | ms.topic: article
|
8 | 8 | ms.date: 02/08/2023
|
9 | 9 | ms.author: msangapu
|
10 | 10 | ---
|
11 |
| -# Routine (planned) maintenance for App Service |
12 | 11 |
|
13 |
| -Routine maintenance covers behind the scenes updates to the Azure App Service platform. Types of maintenance can be performance improvements, bug fixes, |
14 |
| -new features, or security updates. App Service maintenance can be on App Service itself or the underlying operating system. |
| 12 | +# Routine (planned) maintenance for Azure App Service |
15 | 13 |
|
16 |
| ->[!IMPORTANT] |
17 |
| ->A breaking change or deprecation of functionality is not a part of routine maintenance (see [Modern Lifecycle Policy - Microsoft Lifecycle | Microsoft Learn](/lifecycle/policies/modern) for deprecation topic for details). |
18 |
| -> |
| 14 | +Routine maintenance covers behind-the-scenes updates to Azure App Service. Types of maintenance can be performance improvements, bug fixes, new features, or security updates. App Service maintenance can be on the service itself or the underlying operating system. |
19 | 15 |
|
20 |
| -Our service quality and uptime guarantees continue to apply during maintenance periods. Maintenance periods are mentioned to help customers to get visibility into platform changes. |
| 16 | +> [!IMPORTANT] |
| 17 | +> A breaking change or deprecation of functionality is not a part of routine maintenance. For more information, see [Modern Lifecycle Policy](/lifecycle/policies/modern). |
| 18 | +
|
| 19 | +Microsoft service quality and uptime guarantees continue to apply during maintenance periods. Notifications mention maintenance periods to help customers get visibility into platform changes. |
21 | 20 |
|
22 | 21 | ## What to expect
|
23 | 22 |
|
24 |
| -Like security updates on personal computers, mobile phones and other devices, even machines in the cloud need the latest updates. Unlike physical devices, cloud solutions like Azure App Service provide ways to overcome these routines with more ease. There's no need to "stop working" for a certain period and wait until patches are installed. Any workload can be shifted to different hardware in a matter of seconds and while updates are installed. The updates are made monthly, but can vary on the needs and other factors. |
| 23 | +Like personal computers, mobile phones, and other devices, machines in the cloud need the latest updates. Unlike physical devices, cloud solutions like Azure App Service provide ways to handle routine maintenance with more ease. There's no need to stop working and wait until patches are installed. Any workload can be shifted to different hardware in a matter of seconds and while updates are installed. The updates happen monthly but can vary, depending on your organization's needs and other factors. |
| 24 | + |
| 25 | +Because a typical cloud solution consists of multiple applications, databases, storage accounts, functions, and other resources, parts of your solutions can undergo maintenance at different times. Some of this coordination is related to geography, region, datacenters, and availability zones. It can also be due to the cloud, where not everything is touched simultaneously. For more information, see [Safe deployment practices](/devops/operate/safe-deployment-practices). |
25 | 26 |
|
26 |
| -Since a typical cloud solution consists of multiple applications, databases, storage accounts, functions, and other resources, various parts of your solutions can be undergoing maintenance at different times. Some of this coordination is related to geography, region, data centers, and availability zones. It can also be due to the cloud where not everything is touched simultaneously. |
| 27 | +The following screenshot shows an example of a maintenance event. |
27 | 28 |
|
28 |
| -[Safe deployment practices - Azure DevOps | Microsoft Learn](/devops/operate/safe-deployment-practices) |
| 29 | +:::image type="content" source="./media/routine-maintenance/routine-maintenance.png" alt-text="Screenshot of a maintenance event in the Azure portal."::: |
29 | 30 |
|
30 |
| -:::image type="content" source="./media/routine-maintenance/routine-maintenance.png" alt-text="Screenshot of a maintenance event in the Azure Portal."::: |
| 31 | +In order from top to bottom, the example shows: |
31 | 32 |
|
32 |
| -In order from top to bottom we see: |
33 |
| -- A descriptive title of the maintenance event |
34 |
| -- Impacted regions and subscriptions |
35 |
| -- Expected maintenance window |
| 33 | +- A descriptive title of the maintenance event. |
| 34 | +- Affected regions and subscriptions. |
| 35 | +- The expected maintenance window. |
36 | 36 |
|
37 |
| -## Frequently Asked Questions |
| 37 | +## Frequently asked questions |
38 | 38 |
|
39 | 39 | ### Why is the maintenance taking so long?
|
40 | 40 |
|
41 |
| -The maintenance fundamentally represents delivering latest updates to the platform and service. It's difficult to predict when individual apps would be affected down to a specific time, so more generic notifications are sent out. The time ranges in those notifications don't reflect the experiences at the app level, but the overall operation across all resources. Apps which undergo maintenance instantly restart on freshly updated machines and continue working. There's no downtime when requests/traffic aren't served. |
| 41 | +Fundamentally, routine maintenance delivers the latest updates to the platform and service. It's hard to predict how the maintenance will affect individual apps down to a specific time, so notifications tend to be more general. The time ranges in notifications don't reflect the experiences at the app level, but rather the overall operation across all resources. Apps that undergo maintenance instantly restart on freshly updated machines and continue working. There's no downtime when requests and traffic aren't served. |
42 | 42 |
|
43 | 43 | ### Why am I getting so many notifications?
|
44 | 44 |
|
45 |
| -A typical scenario is that customers have multiple applications, and they are upgraded at different times. To avoid sending notifications for each of them, a more generic notification is sent that captures multiple resources. The notification is sent at the beginning and throughout the maintenance window. Due to the time window being longer, you can receive multiple reminders for the same rollout so you can easier correlate any restart/interruption/issue in case it is needed. |
| 45 | +A typical scenario is that customers have multiple applications that are upgraded at different times. To avoid sending notifications for each of them, we send one notification that captures multiple resources. We send the notification at the beginning and throughout the maintenance window. You might receive multiple reminders for the same rollout if the time window is long, so you can more easily correlate any restarts, interruptions, or other issues. |
46 | 46 |
|
47 | 47 | ### How is routine maintenance related to SLA?
|
48 | 48 |
|
49 |
| -Platform maintenance isn't expected to impact application uptime or availability. Applications continue to stay online while platform maintenance occurs. Platform maintenance may cause applications to be cold started on new virtual machines, which can lead to cold start delays. An application is still considered to be online, even while cold-starting. For best practices to minimize/avoid cold starts, consider using [local cache for Windows apps](overview-local-cache.md) as well as [Health check](monitor-instances-health-check.md). It's not expected that sites would incur any SLA violation during maintenance windows. |
| 49 | +Platform maintenance shouldn't affect application uptime or availability. Applications continue to stay online while platform maintenance occurs. |
| 50 | + |
| 51 | +Platform maintenance might cause applications to be cold started on new virtual machines, which can lead to delays. An application is still considered to be online while it's cold starting. To minimize or avoid cold starts, consider using [local cache for Windows apps](overview-local-cache.md) and [health check](monitor-instances-health-check.md). |
| 52 | + |
| 53 | +We don't expect sites to incur any service-level agreement (SLA) violations during the maintenance windows. |
50 | 54 |
|
51 |
| -### How does the upgrade work how does it ensure the smooth operation of my apps? |
| 55 | +### How does the upgrade ensure the smooth operation of my apps? |
52 | 56 |
|
53 |
| -Azure App Service represents a fleet of scale units, which provide hosting of web applications/solutions to the customers. Each scale unit is further divided into smaller pieces and sliced into a concept of upgrade domains and availability zones. This is to optimize placements of bigger App Service Plans and smooth deployments since not all machines in each scale unit are updated at once. Fleet upgrades machines iteratively while monitoring the health of the fleet so any time there is an issue, the system can stop the rollout. This process is described in detail at [Demystifying the magic behind App Service OS updates - Azure App Service](https://azure.github.io/AppService/2018/01/18/Demystifying-the-magic-behind-App-Service-OS-updates.html). |
| 57 | +Azure App Service represents a fleet of scale units that provide hosting of web applications and solutions to customers. Each scale unit is divided into upgrade domains and availability zones. This division optimizes placements of bigger App Service plans and smooth deployments, because not all machines in each scale unit are updated at once. |
| 58 | + |
| 59 | +Maintenance operations upgrade machines iteratively while App Service monitors the health of the fleet. If there's a problem, the system can stop the rollout. For more information about this process, see the blog post [Demystifying the magic behind App Service OS updates](https://azure.github.io/AppService/2018/01/18/Demystifying-the-magic-behind-App-Service-OS-updates.html). |
54 | 60 |
|
55 | 61 | ### Are business hours reflected?
|
56 | 62 |
|
57 |
| -Maintenance operations are optimized to start outside standard business hours (9-5pm) as statistically that is a better timing for any interruptions and restarts of workloads as there is a less stress on the system (in customer applications and transitively also on the platform itself). For App Service Plan and App Service Environment v2, maintenance can continue into business hours during longer maintenance events. |
| 63 | +Maintenance operations are optimized to start outside the standard business hours of 9 AM to 5 PM. Statistically, that's the best time for any interruptions and restarts of workloads because there's less stress on the system (in customer applications and transitively on the platform itself). For App Service plans and App Service Environment v2, maintenance can continue into business hours during longer maintenance events. |
58 | 64 |
|
59 | 65 | ### What are my options to control routine maintenance?
|
60 | 66 |
|
61 |
| -If you run your workloads in Isolated SKU via App Service Environment v3, you can also schedule the upgrades when needed. This is described with details at Control and automate planned maintenance for App Service Environment v3 - Azure App Service. |
| 67 | +If you run your workloads in an isolated product via App Service Environment v3, you can schedule the upgrades if necessary. For more information about this capability, see the blog post [Control and automate planned maintenance for App Service Environment v3](https://azure.github.io/AppService/2022/09/15/Configure-automation-for-upgrade-preferences-in-App-Service-Environment.html). |
62 | 68 |
|
63 | 69 | ### Can I prepare my apps better for restarts?
|
64 | 70 |
|
65 |
| -If your applications need extra time during restarts to come online (a typical pattern would be heavy dependency on external resources during application warm-up/start-up), consider using [Health Check](monitor-instances-health-check.md). You can use this to communicate with the platform that your application is not ready to receive requests yet and the system can use that information to route requests to other instances in your App Service Plan. For such case, it's recommended to have at least two instances in the plan. |
66 |
| - |
67 |
| -### My applications have been online, but since these notifications started showing up things are worse. What changed? |
| 71 | +If your applications need extra time during restarts to come online, consider using [health check](monitor-instances-health-check.md). A typical pattern for needing extra time is heavy dependency on external resources during application warmup or startup. |
68 | 72 |
|
69 |
| -Updates and maintenance events have been happening to the platform since its inception. The frequency of updates decreased over time, so the number of interruptions also decreased and uptime increases. However, there is an increased level of visibility into all changes which can cause the perception that more changes are being made. |
| 73 | +You can use health check to inform the platform that your application isn't ready to receive requests yet. The system can use that information to route requests to other instances in your App Service plan. For such cases, we recommend that you have at least two instances in the plan. |
70 | 74 |
|
71 |
| -## Next steps |
| 75 | +### My applications have been online, but things are worse since these notifications started showing up. What changed? |
72 | 76 |
|
73 |
| -[Control and automate planned maintenance for App Service Environment v3 - Azure App Service](https://azure.github.io/AppService/2022/09/15/Configure-automation-for-upgrade-preferences-in-App-Service-Environment.html) |
| 77 | +Updates and maintenance events have been happening to the platform since its inception. The frequency of updates decreased over time, so the number of interruptions also decreased and uptime increased. However, you now have more visibility into all changes. Increased visibility might cause the perception that more changes are happening. |
74 | 78 |
|
75 |
| -[Demystifying the magic behind App Service OS updates - Azure App Service](https://azure.github.io/AppService/2018/01/18/Demystifying-the-magic-behind-App-Service-OS-updates.html) |
| 79 | +## Next steps |
76 | 80 |
|
77 |
| -[Routine Planned Maintenance Notifications for Azure App Service - Azure App Service](https://azure.github.io/AppService/2022/02/01/App-Service-Planned-Notification-Feature.html) |
| 81 | +Get more information about maintenance notifications by reading the blog post [Routine Planned Maintenance Notifications for Azure App Service](https://azure.github.io/AppService/2022/02/01/App-Service-Planned-Notification-Feature.html). |
0 commit comments