Skip to content

Commit def9982

Browse files
authored
Merge branch 'MicrosoftDocs:main' into cosmos-quickstarts-refresh
2 parents a43f564 + 6e725bf commit def9982

File tree

7 files changed

+200
-156
lines changed

7 files changed

+200
-156
lines changed

articles/app-service/app-service-best-practices.md

Lines changed: 66 additions & 39 deletions
Large diffs are not rendered by default.

articles/app-service/operating-system-functionality.md

Lines changed: 76 additions & 58 deletions
Large diffs are not rendered by default.

articles/app-service/resources-kudu.md

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,20 @@ ms.author: msangapu
66
ms.date: 03/17/2021
77
ms.topic: reference
88
---
9+
910
# Kudu service overview
1011

11-
Kudu is the engine behind a number of features in [Azure App Service](overview.md) related to source control based deployment, and other deployment methods like Dropbox and OneDrive sync.
12+
Kudu is the engine behind some features in [Azure App Service](overview.md) that are related to source-control-based deployment and other deployment methods, like Dropbox and OneDrive sync.
1213

1314
## Access Kudu for your app
14-
Anytime you create an app, App Service creates a companion app for it that's secured by HTTPS. This Kudu app is accessible at:
1515

16-
- App not in Isolated tier: `https://<app-name>.scm.azurewebsites.net`
17-
- Internet-facing app in Isolated tier (App Service Environment): `https://<app-name>.scm.<ase-name>.p.azurewebsites.net`
18-
- Internal app in Isolated tier (ILB App Service Environment): `https://<app-name>.scm.<ase-name>.appserviceenvironment.net`
16+
Anytime you create an app, App Service creates a companion app for it that's secured by HTTPS. This Kudu app is accessible at these URLs:
17+
18+
- App not in the Isolated tier: `https://<app-name>.scm.azurewebsites.net`
19+
- Internet-facing app in the Isolated tier (App Service Environment): `https://<app-name>.scm.<ase-name>.p.azurewebsites.net`
20+
- Internal app in the Isolated tier (App Service Environment for internal load balancing): `https://<app-name>.scm.<ase-name>.appserviceenvironment.net`
1921

20-
For more information, see [Accessing the kudu service](https://github.com/projectkudu/kudu/wiki/Accessing-the-kudu-service).
22+
For more information, see [Accessing the Kudu service](https://github.com/projectkudu/kudu/wiki/Accessing-the-kudu-service).
2123

2224
## Kudu features
2325

@@ -29,22 +31,22 @@ Kudu gives you helpful information about your App Service app, such as:
2931
- Server variables
3032
- HTTP headers
3133

32-
It also provides other features, such as:
34+
It also provides features like these:
3335

3436
- Run commands in the [Kudu console](https://github.com/projectkudu/kudu/wiki/Kudu-console).
3537
- Download IIS diagnostic dumps or Docker logs.
3638
- Manage IIS processes and site extensions.
3739
- Add deployment webhooks for Windows apps.
3840
- Allow ZIP deployment UI with `/ZipDeploy`.
39-
- Generates [custom deployment scripts](https://github.com/projectkudu/kudu/wiki/Custom-Deployment-Script).
40-
- Allows access with [REST API](https://github.com/projectkudu/kudu/wiki/REST-API).
41+
- Generate [custom deployment scripts](https://github.com/projectkudu/kudu/wiki/Custom-Deployment-Script).
42+
- Allow access with a [REST API](https://github.com/projectkudu/kudu/wiki/REST-API).
4143

4244
## RBAC permissions required to access Kudu
43-
To access Kudu in the browser with Microsoft Entra authentication, you need to be a member of a built-in or custom role.
4445

45-
- If using a built-in role, you must be a member of Website Contributor, Contributor, or Owner.
46-
- If using a custom role, you need the resource provider operation: `Microsoft.Web/sites/publish/Action`.
46+
To access Kudu in the browser by using Microsoft Entra authentication, you need to be a member of a built-in or custom role.
47+
48+
If you're using a built-in role, you must be a member of Website Contributor, Contributor, or Owner. If you're using a custom role, you need the resource provider operation: `Microsoft.Web/sites/publish/Action`.
4749

48-
## More Resources
50+
## More resources
4951

50-
Kudu is an [open source project](https://github.com/projectkudu/kudu), and has its documentation at [Kudu Wiki](https://github.com/projectkudu/kudu/wiki).
52+
Kudu is an [open-source project](https://github.com/projectkudu/kudu). It has documentation on the [Kudu wiki](https://github.com/projectkudu/kudu/wiki).
Lines changed: 37 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,81 @@
11
---
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.
44
author: msangapu-msft
55
tags: app-service
66

77
ms.topic: article
88
ms.date: 02/08/2023
99
ms.author: msangapu
1010
---
11-
# Routine (planned) maintenance for App Service
1211

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
1513

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.
1915

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.
2120

2221
## What to expect
2322

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).
2526

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.
2728

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.":::
2930

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:
3132

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.
3636

37-
## Frequently Asked Questions
37+
## Frequently asked questions
3838

3939
### Why is the maintenance taking so long?
4040

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.
4242

4343
### Why am I getting so many notifications?
4444

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.
4646

4747
### How is routine maintenance related to SLA?
4848

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.
5054

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?
5256

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).
5460

5561
### Are business hours reflected?
5662

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.
5864

5965
### What are my options to control routine maintenance?
6066

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).
6268

6369
### Can I prepare my apps better for restarts?
6470

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.
6872

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.
7074

71-
## Next steps
75+
### My applications have been online, but things are worse since these notifications started showing up. What changed?
7276

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.
7478

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
7680

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).

articles/iot-hub/iot-hub-event-grid.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ author: kgremban
77
ms.service: iot-hub
88
services: iot-hub
99
ms.topic: conceptual
10-
ms.date: 01/22/2022
10+
ms.date: 01/05/2024
1111
ms.author: kgremban
1212
ms.custom: [amqp, mqtt, 'Role: Cloud Development']
1313
---
@@ -178,10 +178,7 @@ For device telemetry events, IoT Hub will create the default [message route](iot
178178

179179
Device connected and device disconnected events are available for devices connecting using either the MQTT or AMQP protocol, or using either of these protocols over WebSockets. Requests made only with HTTPS won't trigger device connection state notifications.
180180

181-
* For devices connecting using Java, Node, or Python [Azure IoT SDKs](iot-hub-devguide-sdks.md) with the [MQTT protocol](../iot/iot-mqtt-connect-to-iot-hub.md) will have connection states sent automatically.
182-
* For devices connecting using the Java, Node, or Python [Azure IoT SDKs](iot-hub-devguide-sdks.md) with the [AMQP protocol](iot-hub-amqp-support.md), a cloud-to-device link should be created to reduce any delay in accurate connection states.
183-
* For devices connecting using the .NET [Azure IoT SDK](iot-hub-devguide-sdks.md) with the [MQTT](../iot/iot-mqtt-connect-to-iot-hub.md) or [AMQP](iot-hub-amqp-support.md) protocol won’t send a device connected event until an initial device-to-cloud or cloud-to-device message is sent/received.
184-
* Outside of the Azure IoT SDKs, in MQTT these operations equate to SUBSCRIBE or PUBLISH operations on the appropriate messaging [topics](../iot/iot-mqtt-connect-to-iot-hub.md). Over AMQP these equate to attaching or transferring a message on the [appropriate link paths](iot-hub-amqp-support.md).
181+
For information about monitoring device status with Event Grid, see [Monitor device connection status](./monitor-device-connection-state.md#event-grid).
185182

186183
### Device connection state interval
187184

0 commit comments

Comments
 (0)