Skip to content

Commit 23cefcf

Browse files
Merge pull request #261643 from im-samz/rsm-tbs-update
RSM & TBS update
2 parents e985078 + 4e70e0e commit 23cefcf

File tree

2 files changed

+30
-20
lines changed

2 files changed

+30
-20
lines changed

articles/azure-functions/functions-networking-options.md

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ You can host function apps in several ways:
2929

3030
Use the following resources to quickly get started with Azure Functions networking scenarios. These resources are referenced throughout the article.
3131

32-
* ARM, Bicep, and Terraform templates:
32+
* ARM templates, Bicep files, and Terraform templates:
3333
* [Private HTTP triggered function app](https://github.com/Azure-Samples/function-app-with-private-http-endpoint)
3434
* [Private Event Hubs triggered function app](https://github.com/Azure-Samples/function-app-with-private-eventhub)
3535
* ARM templates only:
@@ -74,7 +74,7 @@ To learn more, see [Virtual network service endpoints](../virtual-network/virtua
7474

7575
To restrict access to a specific subnet, create a restriction rule with a **Virtual Network** type. You can then select the subscription, virtual network, and subnet that you want to allow or deny access to.
7676

77-
If service endpoints aren't already enabled with Microsoft.Web for the subnet that you selected, they are automatically enabled unless you select the **Ignore missing Microsoft.Web service endpoints** check box. The scenario where you might want to enable service endpoints on the app but not the subnet depends mainly on whether you have the permissions to enable them on the subnet.
77+
If service endpoints aren't already enabled with `Microsoft.Web` for the subnet that you selected, they're automatically enabled unless you select the **Ignore missing Microsoft.Web service endpoints** check box. The scenario where you might want to enable service endpoints on the app but not the subnet depends mainly on whether you have the permissions to enable them on the subnet.
7878

7979
If you need someone else to enable service endpoints on the subnet, select the **Ignore missing Microsoft.Web service endpoints** check box. Your app is configured for service endpoints in anticipation of having them enabled later on the subnet.
8080

@@ -212,21 +212,27 @@ Currently, you can use non-HTTP trigger functions from within a virtual network
212212

213213
### Premium plan with virtual network triggers
214214

215-
When you run a Premium plan, you can connect non-HTTP trigger functions to services that run inside a virtual network. To do this, you must enable virtual network trigger support for your function app. The **Runtime Scale Monitoring** setting is found in the [Azure portal](https://portal.azure.com) under **Configuration** > **Function runtime settings**.
215+
The [Premium plan](functions-premium-plan.md) lets you create functions that are triggered by services inside a virtual network. These non-HTTP triggers are known as _virtual network triggers_.
216216

217-
:::image type="content" source="media/functions-networking-options/virtual-network-trigger-toggle.png" alt-text="VNETToggle":::
217+
By default, virtual network triggers don't cause your function app to scale beyond their pre-warmed instance count. However, certain extensions support virtual network triggers that cause your function app to scale dynamically. You can enable this _dynamic scale monitoring_ in your function app for supported extensions in one of these ways:
218+
219+
#### [Azure portal](#tab/azure-portal)
220+
221+
1. In the [Azure portal](https://portal.azure.com), navigate to your function app.
218222

219-
### [Azure CLI](#tab/azure-cli)
223+
1. Under **Settings** select **Configuration**, then in the **Function runtime settings** tab set **Runtime Scale Monitoring** to **On**.
220224

221-
You can also enable virtual network triggers by using the following Azure CLI command:
225+
1. Select **Save** to update the function app configuration and restart the app.
226+
227+
:::image type="content" source="media/functions-networking-options/virtual-network-trigger-toggle.png" alt-text="VNETToggle":::
228+
229+
#### [Azure CLI](#tab/azure-cli)
222230

223231
```azurecli-interactive
224232
az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.functionsRuntimeScaleMonitoringEnabled=1 --resource-type Microsoft.Web/sites
225233
```
226234

227-
### [Azure PowerShell](#tab/azure-powershell)
228-
229-
You can also enable virtual network triggers by using the following Azure PowerShell command:
235+
#### [Azure PowerShell](#tab/azure-powershell)
230236

231237
```azurepowershell-interactive
232238
$Resource = Get-AzResource -ResourceGroupName <resource_group> -ResourceName <function_app_name>/config/web -ResourceType Microsoft.Web/sites
@@ -237,20 +243,24 @@ $Resource | Set-AzResource -Force
237243
---
238244

239245
> [!TIP]
240-
> Enabling virtual network triggers may have an impact on the performance of your application since your App Service plan instances will need to monitor your triggers to determine when to scale. This impact is likely to be very small.
246+
> Enabling the monitoring of virtual network triggers may have an impact on the performance of your application, though this impact is likely to be very small.
247+
248+
Support for dynamic scale monitoring of virtual network triggers isn't available in version 1.x of the Functions runtime.
249+
250+
The extensions in this table support dynamic scale monitoring of virtual network triggers. To get the best scaling performance, you should upgrade to versions that also support [target-based scaling](functions-target-based-scaling.md#premium-plan-with-runtime-scale-monitoring-enabled).
241251

242-
Virtual network triggers are supported in version 2.x and above of the Functions runtime. The following non-HTTP trigger types are supported.
252+
| Extension (minimum version) | Runtime scale monitoring only | With [target-based scaling](functions-target-based-scaling.md#premium-plan-with-runtime-scale-monitoring-enabled) |
253+
|-----------|---------|--- |
254+
|[Microsoft.Azure.WebJobs.Extensions.CosmosDB](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.CosmosDB)| > 3.0.5 | > 4.1.0 |
255+
|[Microsoft.Azure.WebJobs.Extensions.DurableTask](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask)| > 2.0.0 | n/a |
256+
|[Microsoft.Azure.WebJobs.Extensions.EventHubs](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventHubs)| > 4.1.0 | > 5.2.0 |
257+
|[Microsoft.Azure.WebJobs.Extensions.ServiceBus](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.ServiceBus)| > 3.2.0 | > 5.9.0 |
258+
|[Microsoft.Azure.WebJobs.Extensions.Storage](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage/) | > 3.0.10 | > 5.1.0<sup>*</sup> |
243259

244-
| Extension | Minimum version |
245-
|-----------|---------|
246-
|[Microsoft.Azure.WebJobs.Extensions.Storage](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.Storage/) | 3.0.10 or above |
247-
|[Microsoft.Azure.WebJobs.Extensions.EventHubs](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventHubs)| 4.1.0 or above|
248-
|[Microsoft.Azure.WebJobs.Extensions.ServiceBus](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.ServiceBus)| 3.2.0 or above|
249-
|[Microsoft.Azure.WebJobs.Extensions.CosmosDB](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.CosmosDB)| 3.0.5 or above|
250-
|[Microsoft.Azure.WebJobs.Extensions.DurableTask](https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.DurableTask)| 2.0.0 or above|
260+
<sup>*</sup> Queue storage only.
251261

252262
> [!IMPORTANT]
253-
> When you enable virtual network trigger support, only the trigger types shown in the previous table scale dynamically with your application. You can still use triggers that aren't in the table, but they're not scaled beyond their pre-warmed instance count. For the complete list of triggers, see [Triggers and bindings](./functions-triggers-bindings.md#supported-bindings).
263+
> When you enable virtual network trigger monitoring, only triggers for these extensions can cause your app to scale dynamically. You can still use triggers from extensions that aren't in this table, but they won't cause scaling beyond their pre-warmed instance count. For a complete list of all trigger and binding extensions, see [Triggers and bindings](./functions-triggers-bindings.md#supported-bindings).
254264
255265
### App Service plan and App Service Environment with virtual network triggers
256266

articles/azure-functions/functions-target-based-scaling.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ To learn more, see the [example configurations for the supported extensions](#su
7373

7474
## Premium plan with runtime scale monitoring enabled
7575

76-
In [runtime scale monitoring](functions-networking-options.md?tabs=azure-cli#premium-plan-with-virtual-network-triggers), the extensions handle target-based scaling. Hence, in addition to the function app runtime version requirement, your extension packages must meet the following minimum versions:
76+
When [runtime scale monitoring](functions-networking-options.md#premium-plan-with-virtual-network-triggers) is enabled, the extensions themselves handle dynamic scaling. This is because the [scale controller](event-driven-scaling.md#runtime-scaling) doesn't have access to services secured by a virtual network. After you enable runtime scale monitoring, you'll need to upgrade your extension packages to these minimum versions to unlock the extra target-based scaling functionality:
7777

7878
| Extension Name | Minimum Version Needed |
7979
| -------------- | ---------------------- |

0 commit comments

Comments
 (0)