Skip to content

Commit 3b08525

Browse files
Merge pull request #294031 from nzthiago/nzthiagopatch1
Small updates related to Azure Functions Flex Consumption
2 parents 1940412 + 995ffe5 commit 3b08525

File tree

2 files changed

+14
-21
lines changed

2 files changed

+14
-21
lines changed

articles/azure-functions/flex-consumption-plan.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ When deciding on which instance memory size to use with your apps, here are some
5757

5858
## Per-function scaling
5959

60-
Concurrency is a key factor that determines how Flex Consumption function apps scale. To improve the scale performance of apps with various trigger types, the Flex Consumption plan provides a more deterministic way of scaling your app on a per-function basis.
60+
[Concurrency](#concurrency) is a key factor that determines how Flex Consumption function apps scale. To improve the scale performance of apps with various trigger types, the Flex Consumption plan provides a more deterministic way of scaling your app on a per-function basis.
6161

6262
This _per-function scaling_ behavior is a part of the hosting platform, so you don't need to configure your app or change the code. For more information, see [Per-function scaling](event-driven-scaling.md#per-function-scaling) in the Event-driven scaling article.
6363

@@ -73,21 +73,21 @@ All other functions in the app are scaled individually in their own set of insta
7373

7474
## Always ready instances
7575

76-
Flex Consumption includes an _always ready_ feature that lets you choose instances that are always running and assigned to each of your per-function scale groups or functions. This is a great option for scenarios where you need to have a minimum number of instances always ready to handle requests, for example, to reduce your application's cold start latency. The default is 0 (zero).
76+
Flex Consumption includes an _always ready_ feature that lets you choose instances that are always running and assigned to each of your per-function scale groups or functions. Always ready is a great option for scenarios where you need to have a minimum number of instances always ready to handle requests. For example, to reduce your application's cold start latency. The default is 0 (zero).
7777

7878
For example, if you set always ready to 2 for your HTTP group of functions, the platform keeps two instances always running and assigned to your app for your HTTP functions in the app. Those instances are processing your function executions, but depending on concurrency settings, the platform scales beyond those two instances with on-demand instances.
7979

8080
To learn how to configure always ready instances, see [Set always ready instance counts](flex-consumption-how-to.md#set-always-ready-instance-counts).
8181

8282
## Concurrency
8383

84-
Concurrency refers to the number of parallel executions of a function on an instance of your app. You can set a maximum number of concurrent executions that each instance should handle at any given time. For more information, see [HTTP trigger concurrency](functions-concurrency.md#http-trigger-concurrency).
84+
Concurrency refers to the number of parallel executions of a function on an instance of your app. You can set a maximum number of concurrent executions that each instance should handle at any given time. Concurrency has a direct effect on how your app scales because at lower concurrency levels, you need more instances to handle the event-driven demand for a function. While you can control and fine tune the concurrency, we provide defaults that work for most cases.
8585

86-
Concurrency has a direct effect on how your app scales because at lower concurrency levels, you need more instances to handle the event-driven demand for a function. While you can control and fine tune the concurrency, we provide defaults that work for most cases. To learn how to set concurrency limits for HTTP trigger functions, see [Set HTTP concurrency limits](flex-consumption-how-to.md#set-http-concurrency-limits).
86+
To learn how to set concurrency limits for HTTP trigger functions, see [Set HTTP concurrency limits](flex-consumption-how-to.md#set-http-concurrency-limits). To learn how to set concurrency limits for non-HTTP trigger functions, see [Target Base Scaling](./functions-target-based-scaling.md).
8787

8888
## Deployment
8989

90-
Deployments in the Flex Consumption plan follow a single path. After your project code is built and zipped into an application package, it is deployed to a blob storage container. On startup, your app gets the package and runs your function code from this package. By default, the same storage account used to store internal host metadata (AzureWebJobsStorage) is also used as the deployment container. However, you can use an alternative storage account or choose your preferred authentication method by [configuring your app's deployment settings](flex-consumption-how-to.md#configure-deployment-settings). In streamlining the deployment path, there's no longer the need for app settings to influence deployment behavior.
90+
Deployments in the Flex Consumption plan follow a single path, and there's no longer the need for app settings to influence deployment behavior. After your project code is built and zipped into an application package, it's deployed to a blob storage container. On startup, your app gets the package and runs your function code from this package. By default, the same storage account used to store internal host metadata (AzureWebJobsStorage) is also used as the deployment container. However, you can use an alternative storage account or choose your preferred authentication method by [configuring your app's deployment settings](flex-consumption-how-to.md#configure-deployment-settings).
9191

9292
## Billing
9393

@@ -114,32 +114,32 @@ This table shows the language stack versions that are currently supported for Fl
114114

115115
## Regional subscription memory quotas
116116

117-
Currently, each region in a given subscription has a memory limit of `512,000 MB` for all instances of apps running on Flex Consumption plans. This means that, in a given subscription and region, you could have any combination of instance memory sizes and counts, as long as they stay under the quota limit. For example, each the following examples would mean the quota has been reached and the apps would stop scaling:
117+
Currently, each region in a given subscription has a memory limit of `512,000 MB` for all instances of apps running on Flex Consumption plans. This quota means that, in a given subscription and region, you could have any combination of instance memory sizes and counts, as long as they stay under the quota limit. For example, each the following examples would mean the quota is reached and the apps would stop scaling:
118118

119119
+ You have one 2,048 MB app scaled to 100 and a second 2,048 MB app scaled to 150 instances
120120
+ You have one 2,048 MB app that scaled out to 250 instances
121121
+ You have one 4,096 MB app that scaled out to 125 instances
122122
+ You have one 4,096 MB app scaled to 100 and one 2,048 MB app scaled to 50 instances
123123

124-
This quota can be increased to allow your Flex Consumption apps to scale further, depending on your requirements. If your apps require a larger quota please create a support ticket.
124+
Flex Consumption apps scaled to zero, or instances marked to be scaled in and deleted, don't count against the quota. This quota can be increased to allow your Flex Consumption apps to scale further, depending on your requirements. If your apps require a larger quota, create a support ticket.
125125

126126
## Deprecated properties and settings
127127

128-
In Flex Consumption, many of the standard application settings and site configuration properties used in Bicep, ARM templates, and overall control plane are deprecated or have moved and shouldn't be used when automating function app resource creation. For more information, see [Flex Consumption plan deprecations](functions-app-settings.md#flex-consumption-plan-deprecations).
128+
In Flex Consumption many of the standard application settings and site configuration properties are deprecated or have moved and shouldn't be used when automating function app resource creation. For more information, see [Flex Consumption plan deprecations](functions-app-settings.md#flex-consumption-plan-deprecations).
129129

130130
## Considerations
131131

132132
Keep these other considerations in mind when using Flex Consumption plan:
133133

134-
+ **Host**: There is a 30 second timeout for app initialization. When your function app takes longer than 30 seconds to start, you might see gRPC-related `System.TimeoutException` entries logged. You can't currently configure this timeout. For more information, see [this host work item](https://github.com/Azure/azure-functions-host/issues/10482).
134+
+ **Host**: There's a 30-second time out for app initialization. When your function app takes longer than 30 seconds to start, you might see gRPC-related `System.TimeoutException` entries logged. You can't currently configure this time out. For more information, see [this host work item](https://github.com/Azure/azure-functions-host/issues/10482).
135135
+ **Durable Functions**: Azure Storage is currently the only supported [storage provider](./durable/durable-functions-storage-providers.md) for Durable Functions when hosted in the Flex Consumption plan. See [recommendations](./durable/durable-functions-azure-storage-provider.md#flex-consumption-plan) when hosting Durable Functions in the Flex Consumption plan.
136136
+ **Virtual network integration** Ensure that the `Microsoft.App` Azure resource provider is enabled for your subscription by [following these instructions](/azure/azure-resource-manager/management/resource-providers-and-types#register-resource-provider). The subnet delegation required by Flex Consumption apps is `Microsoft.App/environments`.
137137
+ **Triggers**: All triggers are fully supported except for Kafka and Azure SQL triggers. The Blob storage trigger only supports the [Event Grid source](./functions-event-grid-blob-trigger.md). Non-C# function apps must use version `[4.0.0, 5.0.0)` of the [extension bundle](./functions-bindings-register.md#extension-bundles), or a later version.
138138
+ **Regions**: Not all regions are currently supported. To learn more, see [View currently supported regions](flex-consumption-how-to.md#view-currently-supported-regions).
139-
+ **Deployments**: Deployment slots are not currently supported.
139+
+ **Deployments**: Deployment slots aren't currently supported.
140140
+ **Scale**: The lowest maximum scale is currently `40`. The highest currently supported value is `1000`.
141141
+ **Managed dependencies**: [Managed dependencies in PowerShell](functions-reference-powershell.md#managed-dependencies-feature) aren't supported by Flex Consumption. You must instead [upload modules with app content](functions-reference-powershell.md#including-modules-in-app-content).
142-
+ **Diagnostic settings**: Diagnostic settings are not currently supported.
142+
+ **Diagnostic settings**: Diagnostic settings aren't currently supported.
143143
+ **Certificates**: Loading certificates with the WEBSITE_LOAD_CERTIFICATES app setting is currently not supported.
144144
+ **Key Vault References**: Key Vault references in app settings don't work when Key Vault is network access restricted, even if the function app has Virtual Network integration. The current workaround is to directly reference the Key Vault in code and read the required secrets.
145145

articles/azure-functions/functions-host-json.md

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -325,23 +325,16 @@ A list of functions that the job host runs. An empty array means run all functio
325325

326326
## functionTimeout
327327

328-
Indicates the timeout duration for all function executions. It follows the timespan string format.
329-
330-
| Plan type | Default (min) | Maximum (min) |
331-
| -- | -- | -- |
332-
| Consumption | 5 | 10 |
333-
| Premium<sup>1</sup> | 30 | -1 (unbounded)<sup>2</sup> |
334-
| Dedicated (App Service) | 30 | -1 (unbounded)<sup>2</sup> |
335-
336-
<sup>1</sup> Premium plan execution is only guaranteed for 60 minutes, but technically unbounded.
337-
<sup>2</sup> A value of `-1` indicates unbounded execution, but keeping a fixed upper bound is recommended.
328+
Indicates the timeout duration for all function executions. It follows the timespan string format. A value of `-1` indicates unbounded execution, but keeping a fixed upper bound is recommended.
338329

339330
```json
340331
{
341332
"functionTimeout": "00:05:00"
342333
}
343334
```
344335

336+
For more information on the default and maximum values for specific plans, see [Function app timeout duration](./functions-scale.md#timeout).
337+
345338
## healthMonitor
346339

347340
Configuration settings for [Host health monitor](https://github.com/Azure/azure-webjobs-sdk-script/wiki/Host-Health-Monitor).

0 commit comments

Comments
 (0)