Skip to content

Commit 26b1ad7

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into transition-guide-ii
2 parents 848fa23 + 145a045 commit 26b1ad7

File tree

744 files changed

+14238
-8124
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

744 files changed

+14238
-8124
lines changed

.openpublishing.redirection.json

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@
227227
},
228228
{
229229
"source_path": "articles/databox-online/azure-stack-edge-2301-release-notes.md",
230-
"redirect_url": "/previous-versions/azure/databox-online/azure-stack-edge-2301-release-notes",
230+
"redirect_url": "/previous-versions/azure/databox-online/azure-stack-edge-2301-release-notes"
231231
},
232232
{
233233
"source_path": "articles/network-watcher/nsg-flow-logs-rest.md",
@@ -2393,7 +2393,7 @@
23932393
"source_path_from_root": "/articles/app-service/manage-disaster-recovery.md",
23942394
"redirect_url": "/azure/architecture/web-apps/guides/multi-region-app-service/multi-region-app-service",
23952395
"redirect_document_id": false
2396-
},
2396+
},
23972397
{
23982398
"source_path_from_root": "/articles/public-multi-access-edge-compute-mec/tutorial-create-vm-using-python-sdk.md",
23992399
"redirect_url": "/previous-versions/azure/public-multi-access-edge-compute-mec/tutorial-create-vm-using-python-sdk",
@@ -6875,49 +6875,49 @@
68756875
"redirect_document_id": false
68766876
},
68776877
{
6878-
"source_path": "articles/storage/files/storage-files-enable-soft-delete.md",
6878+
"source_path": "articles/storage/files/storage-files-enable-soft-delete.md",
68796879
"redirect_url": "/azure/storage/files/storage-files-prevent-file-share-deletion",
68806880
"redirect_document_id": false
6881-
},
6882-
{
6881+
},
6882+
{
68836883
"source_path": "articles/defender-for-iot/organizations/release-notes-archive.md",
68846884
"redirect_url": "/azure/defender-for-iot/organizations/release-notes-ot-monitoring-sensor-archive",
6885-
"redirect_document_id": false
6886-
},
6887-
{
6885+
"redirect_document_id": false
6886+
},
6887+
{
68886888
"source_path": "articles/nat-gateway/quickstart-create-nat-gateway-portal.md",
68896889
"redirect_url": "/azure/nat-gateway/quickstart-create-nat-gateway",
6890-
"redirect_document_id": false
6891-
},
6892-
{
6890+
"redirect_document_id": false
6891+
},
6892+
{
68936893
"source_path": "articles/nat-gateway/quickstart-create-nat-gateway-powershell.md",
68946894
"redirect_url": "/azure/nat-gateway/quickstart-create-nat-gateway",
6895-
"redirect_document_id": false
6896-
},
6897-
{
6895+
"redirect_document_id": false
6896+
},
6897+
{
68986898
"source_path": "articles/nat-gateway/quickstart-create-nat-gateway-cli.md",
68996899
"redirect_url": "/azure/nat-gateway/quickstart-create-nat-gateway",
6900-
"redirect_document_id": false
6901-
},
6902-
{
6900+
"redirect_document_id": false
6901+
},
6902+
{
69036903
"source_path": "articles/nat-gateway/quickstart-create-nat-gateway-template.md",
69046904
"redirect_url": "/azure/nat-gateway/quickstart-create-nat-gateway",
6905-
"redirect_document_id": false
6906-
},
6907-
{
6905+
"redirect_document_id": false
6906+
},
6907+
{
69086908
"source_path": "articles/nat-gateway/quickstart-create-nat-gateway-terraform.md",
69096909
"redirect_url": "/azure/nat-gateway/quickstart-create-nat-gateway",
6910-
"redirect_document_id": false
6911-
},
6912-
{
6910+
"redirect_document_id": false
6911+
},
6912+
{
69136913
"source_path": "articles/nat-gateway/quickstart-create-nat-gateway-bicep.md",
69146914
"redirect_url": "/azure/nat-gateway/quickstart-create-nat-gateway",
6915-
"redirect_document_id": false
6916-
},
6917-
{
6915+
"redirect_document_id": false
6916+
},
6917+
{
69186918
"source_path": "articles/defender-for-iot/organizations/eiot-sensor.md",
69196919
"redirect_url": "/azure/defender-for-iot/organizations/concept-enterprise",
69206920
"redirect_document_id": false
69216921
}
69226922
]
6923-
}
6923+
}

articles/api-management/integrate-vnet-outbound.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ If you want to inject a Premium v2 (preview) API Management instance into a virt
4848

4949
### Network security group
5050

51-
A network security group must be associated with the subnet. Configure any network security group rules that you need for the gateway to access your API backends. To set up a network security group, see [Create a network security group](../virtual-network/manage-network-security-group.md).
51+
A network security group must be associated with the subnet. Configure any network security group rules that you need for the gateway to access your API backends. Network security groups (NSG) can also be used to block outbound traffic to the internet and access only resources in your virtual network. To set up a network security group, see [Create a network security group](../virtual-network/manage-network-security-group.md).
5252

5353
### Subnet delegation
5454

articles/app-service/configure-basic-auth-disable.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ The following table shows how various deployment methods behave when basic authe
6868

6969
| Deployment method | When basic authentication is disabled |
7070
|-|-|
71-
| Visual Studio deployment | Doesn't work. |
71+
| Visual Studio deployment | Deployment with Microsoft Entra authentication requires Visual Studio 2022 version 17.12 or later. |
7272
| [FTP](deploy-ftp.md) | Doesn't work. |
7373
| [Local Git](deploy-local-git.md) | Doesn't work. |
7474
| Azure CLI | In the Azure CLI 2.48.1 or higher, the following commands fall back to Microsoft Entra authentication:<br/>[`az webapp up`](/cli/azure/webapp#az-webapp-up).<br/>[`az webapp deploy`](/cli/azure/webapp#az-webapp-deploy).<br/>[`az webapp log deployment show`](/cli/azure/webapp/log/deployment#az-webapp-log-deployment-show).<br/>[`az webapp log deployment list`](/cli/azure/webapp/log/deployment#az-webapp-log-deployment-list).<br/>[`az webapp log download`](/cli/azure/webapp/log#az-webapp-log-download).<br/>[`az webapp log tail`](/cli/azure/webapp/log#az-webapp-log-tail).<br/>[`az webapp browse`](/cli/azure/webapp#az-webapp-browse).<br/>[`az webapp create-remote-connection`](/cli/azure/webapp#az-webapp-create-remote-connection).<br/>[`az webapp ssh`](/cli/azure/webapp#az-webapp-ssh).<br/>[`az functionapp deploy`](/cli/azure/functionapp#az-functionapp-deploy).<br/>[`az functionapp log deployment list`](/cli/azure/functionapp/log/deployment#az-functionapp-log-deployment-list).<br/>[`az functionapp log deployment show`](/cli/azure/functionapp/log/deployment#az-functionapp-log-deployment-show).<br/>[`az functionapp deployment source config-zip`](/cli/azure/functionapp/deployment/source#az-functionapp-deployment-source-config-zip). |

articles/app-service/deploy-authentication-types.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ With Azure App Service, you have multiple options for deploying your web applica
2222
| SCM/Kudu/OneDeploy REST endpoint | Basic authentication<br/><br/>Microsoft Entra | [Deploy files to App Service](deploy-zip.md) |
2323
| Kudu UI | Basic authentication<br/><br/>Microsoft Entra | [Deploy files to App Service](deploy-zip.md) |
2424
| FTP/FTPS | Basic authentication | [Deploy your app to Azure App Service by using FTP/S](deploy-ftp.md) |
25-
| Visual Studio | Basic authentication  | [Quickstart: Deploy an ASP.NET web app](quickstart-dotnetcore.md)<br/><br/>[Develop and deploy WebJobs by using Visual Studio](webjobs-dotnet-deploy-vs.md)<br/><br/>[Troubleshoot an app in Azure App Service by using Visual Studio](troubleshoot-dotnet-visual-studio.md)<br/><br/>[GitHub Actions integration in Visual Studio](/visualstudio/azure/overview-github-actions)<br/><br/>[Deploy your application to Azure by using GitHub Actions workflows created by Visual Studio](/visualstudio/deployment/azure-deployment-using-github-actions) |
25+
| Visual Studio | Basic authentication<br/><br/>Microsoft Entra  | [Quickstart: Deploy an ASP.NET web app](quickstart-dotnetcore.md)<br/><br/>[Develop and deploy WebJobs by using Visual Studio](webjobs-dotnet-deploy-vs.md)<br/><br/>[Troubleshoot an app in Azure App Service by using Visual Studio](troubleshoot-dotnet-visual-studio.md)<br/><br/>[GitHub Actions integration in Visual Studio](/visualstudio/azure/overview-github-actions)<br/><br/>[Deploy your application to Azure by using GitHub Actions workflows created by Visual Studio](/visualstudio/deployment/azure-deployment-using-github-actions) |
2626
| Visual Studio Code | Microsoft Entra | [Quickstart: Deploy an ASP.NET web app](quickstart-dotnetcore.md)<br/><br/>[Working with GitHub in VS Code](https://code.visualstudio.com/docs/sourcecontrol/github) |
2727
| GitHub with GitHub Actions | Publish profile (basic authentication)<br/><br/>Service principal (Microsoft Entra)<br/><br/>OpenID Connect (Microsoft Entra) | [Deploy to App Service by using GitHub Actions](deploy-github-actions.md) |
2828
| GitHub with the App Service build service as a build engine | Basic authentication | [Continuous deployment to Azure App Service](deploy-continuous-deployment.md) |
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
author: cephalin
3+
ms.service: azure-app-service
4+
ms.topic: include
5+
ms.date: 05/07/2025
6+
ms.author: cephalin
7+
---
8+
9+
Hosting your own small language model (SLM) offers several advantages:
10+
11+
- Full control over your data. Sensitive information isn't exposed to external services, which is critical for industries with strict compliance requirements.
12+
- Self-hosted models can be fine-tuned to meet specific use cases or domain-specific requirements.
13+
- Minimized network latency and faster response times for a better user experience.
14+
- Full control over resource allocation, ensuring optimal performance for your application.
15+
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
---
2+
author: cephalin
3+
ms.service: azure-app-service
4+
ms.topic: include
5+
ms.date: 05/07/2025
6+
ms.author: cephalin
7+
---
8+
9+
## Frequently asked questions
10+
11+
### How does pricing tier affect the performance of the SLM sidecar?
12+
13+
Since AI models consume considerable resources, choose the pricing tier that gives you sufficient vCPUs and memory to run your specific model. For this reason, the built-in AI sidecar extensions only appear when the app is in a suitable pricing tier. If you build your own SLM sidecar container, you should also use a CPU-optimized model, since the App Service pricing tiers are CPU-only tiers.
14+
15+
For example, the [Phi-3 mini model with a 4K context length from Hugging Face](https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-onnx) is designed to run with limited resources and provides strong math and logical reasoning for many common scenarios. It also comes with a CPU-optimized version. In App Service, we tested the model on all premium tiers and found it to perform well in the [P2mv3](https://azure.microsoft.com/pricing/details/app-service/linux/) tier or higher. If your requirements allow, you can run it on a lower tier.
16+
17+
### How to use my own SLM sidecar?
18+
19+
The sample repository contains a sample SLM container that you can use as a sidecar. It runs a FastAPI application that listens on port 8000, as specified in its [Dockerfile](https://github.com/Azure-Samples/ai-slm-in-app-service-sidecar/blob/main/bring_your_own_slm/src/phi-3-sidecar/Dockerfile). The application uses [ONNX Runtime](https://onnxruntime.ai/docs/) to load the Phi-3 model, then forwards the HTTP POST data to the model and streams the response from the model back to the client. For more information, see [model_api.py](https://github.com/Azure-Samples/ai-slm-in-app-service-sidecar/blob/main/src/phi-3-sidecar/model_api.py).
20+
21+
To build the sidecar image yourself, you need to install Docker Desktop locally on your machine.
22+
23+
1. Clone the repository locally.
24+
25+
```bash
26+
git clone https://github.com/Azure-Samples/ai-slm-in-app-service-sidecar
27+
cd ai-slm-in-app-service-sidecar
28+
```
29+
30+
1. Change into the Phi-3 image's source directory and download the model locally using the [Huggingface CLI](https://huggingface.co/docs/huggingface_hub/guides/cli).
31+
32+
```bash
33+
cd bring_your_own_slm/src/phi-3-sidecar
34+
huggingface-cli download microsoft/Phi-3-mini-4k-instruct-onnx --local-dir ./Phi-3-mini-4k-instruct-onnx
35+
```
36+
37+
The [Dockerfile](https://github.com/Azure-Samples/ai-slm-in-app-service-sidecar/blob/main/src/phi-3-sidecar/Dockerfile) is configured to copy the model from *./Phi-3-mini-4k-instruct-onnx*.
38+
39+
1. Build the Docker image. For example:
40+
41+
```bash
42+
docker build --tag phi-3 .
43+
```
44+
45+
1. Upload the built image to Azure Container Registry with [Push your first image to your Azure container registry using the Docker CLI](/azure/container-registry/container-registry-get-started-docker-cli).
46+
47+
1. In the **Deployment Center** > **Containers (new)** tab, select **Add** > **Custom container** and configure the new container as follows:
48+
- **Name**: *phi-3*
49+
- **Image source**: **Azure Container Registry**
50+
- **Registry**: your registry
51+
- **Image**: the uploaded image
52+
- **Tag**: the image tag you want
53+
- **Port**: *8000*
54+
1. Select **Apply**.
55+
56+
See [bring_your_own_slm/src/webapp](https://github.com/Azure-Samples/ai-slm-in-app-service-sidecar/blob/main/bring_your_own_slm/src/webapp) for a sample application that interacts with this custom sidecar container.
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
author: cephalin
3+
ms.service: azure-app-service
4+
ms.topic: include
5+
ms.date: 05/07/2025
6+
ms.author: cephalin
7+
---
8+
9+
## Add the Phi-3 sidecar extension
10+
11+
In this section, you add the Phi-3 sidecar extension to your ASP.NET Core application hosted on Azure App Service.
12+
13+
1. Navigate to the Azure portal and go to your app's management page.
14+
2. In the left-hand menu, select **Deployment** > **Deployment Center**.
15+
3. On the **Containers** tab, select **Add** > **Sidecar extension**.
16+
4. In the sidecar extension options, select **AI: phi-3-mini-4k-instruct-q4-gguf (Experimental)**.
17+
5. Provide a name for the sidecar extension.
18+
6. Select **Save** to apply the changes.
19+
7. Wait a few minutes for the sidecar extension to deploy. Keep selecting **Refresh** until the **Status** column shows **Running**.
20+
21+
This Phi-3 sidecar extension uses a [chat completion API like OpenAI](https://platform.openai.com/docs/api-reference/chat/create) that can respond to chat completion response at `http://localhost:11434/v1/chat/completions`. For more information on how to interact with the API, see:
22+
23+
- [OpenAI documentation: Create chat completion](https://platform.openai.com/docs/api-reference/chat/create)
24+
- [OpenAI documentation: Streaming](https://platform.openai.com/docs/api-reference/chat-streaming)
25+
26+
## Test the chatbot
27+
28+
1. In your app's management page, in the left-hand menu, select **Overview**.
29+
1. Under **Default domain**, select the URL to open your web app in a browser.
30+
1. Verify that the chatbot application is running and responding to user inputs.
31+
32+
:::image type="content" source="../../media/tutorial-ai-slm-dotnet/fashion-store-assistant-live.png" alt-text="Screenshot showing the fashion assistant app running in the browser.":::
33+
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
author: cephalin
3+
ms.service: azure-app-service
4+
ms.topic: include
5+
ms.date: 05/08/2025
6+
ms.author: cephalin
7+
---
8+
9+
### How do sidecar containers handle internal communication?
10+
11+
Sidecar containers share the same network host as the main container, so the main container (and other sidecar containers) can reach any port on the sidecar with `localhost:<port>`. The example *startup.sh* uses `localhost:4318` to access port 4318 on the **otel-collector** sidecar.
12+
13+
In the **Edit container** dialog, the **Port** box isn't currently used by App Service. You can use it as part of the sidecar metadata, such as to indicate which port the sidecar is listening to.
14+
15+
### Can a sidecar container receive internet requests?
16+
17+
No. App Service routes internet requests only to the main container. For code-based Linux apps, the built-in Linux container is the main container, and any sidecar container ([sitecontainers](/azure/templates/microsoft.web/sites/sitecontainers)) should be added with `IsMain=false`. For custom containers, all but one of the [sitecontainers](/azure/templates/microsoft.web/sites/sitecontainers) should have `IsMain=false`.
18+
19+
For more information on configuring `IsMain`, see [Microsoft.Web sites/sitecontainers](/azure/templates/microsoft.web/sites/sitecontainers).
20+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
author: cephalin
3+
ms.service: azure-app-service
4+
ms.topic: include
5+
ms.date: 05/08/2025
6+
ms.author: cephalin
7+
---
8+
9+
## What's a sidecar container?
10+
11+
In Azure App Service, you can add up to nine sidecar containers for each Linux app. Sidecar containers let you deploy extra services and features to your Linux apps without making them tightly coupled to the main container (built-in or custom). For example, you can add monitoring, logging, configuration, and networking services as sidecar containers. An OpenTelemetry collector sidecar is one such monitoring example.
12+
13+
The sidecar containers run alongside the main application container in the same App Service plan.
97.7 KB
Loading

0 commit comments

Comments
 (0)