Skip to content

Commit 92fd089

Browse files
authored
Merge pull request #278469 from ggailey777/patch-3
[Functions][ACA] Add ACA info to the hosting tables and service limits
2 parents c4fabc1 + a0b1a4c commit 92fd089

File tree

4 files changed

+61
-45
lines changed

4 files changed

+61
-45
lines changed

articles/azure-functions/functions-scale.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Azure Functions scale and hosting
33
description: Compare the various options you need to consider when choosing a hosting plan in which to run your function app in Azure Functions.
44
ms.assetid: 5b63649c-ec7f-4564-b168-e0a74cb7e0f3
55
ms.topic: limits-and-quotas
6-
ms.date: 05/10/2024
6+
ms.date: 06/27/2024
77
ms.custom: H1Hack27Feb2017, devdivchpfy22, build-2023, build-2024
88
---
99
# Azure Functions hosting options
@@ -55,8 +55,8 @@ This table shows operating system support for the hosting options.
5555
| **[Dedicated plan]** | ✅ Code-only<br/>✅ Container | ✅ Code-only |
5656
| **[Container Apps]** | ✅ Container-only | ❌ Not supported |
5757

58-
<sup>1</sup> Linux is the only supported operating system for the [Python runtime stack](./functions-reference-python.md).
59-
<sup>2</sup> Windows deployments are code-only. Functions doesn't currently support Windows containers.
58+
1. Linux is the only supported operating system for the [Python runtime stack](./functions-reference-python.md).
59+
2. Windows deployments are code-only. Functions doesn't currently support Windows containers.
6060

6161
[!INCLUDE [Timeout Duration section](../../includes/functions-timeout-duration.md)]
6262

@@ -75,20 +75,22 @@ Maximum instances are given on a per-function app (Consumption) or per-plan (Pre
7575
| **[Flex Consumption plan]** | [Per-function scaling](./flex-consumption-plan.md#per-function-scaling). Event-driven scaling decisions are calculated on a per-function basis, which provides a more deterministic way of scaling the functions in your app. With the exception of HTTP, Blob storage (Event Grid), and Durable Functions, all other function trigger types in your app scale on independent instances. All HTTP triggers in your app scale together as a group on the same instances, as do all Blob storage (Event Grid) triggers. All Durable Functions triggers also share instances and scale together. | Limited only by total memory usage of all instances across a given region. For more information, see [Instance memory](flex-consumption-plan.md#instance-memory). |
7676
| **[Premium plan]** | [Event driven](event-driven-scaling.md). Scale out automatically, even during periods of high load. Azure Functions infrastructure scales CPU and memory resources by adding more instances of the Functions host, based on the number of events that its functions are triggered on. | **Windows:** 100<br/>**Linux:** 20-100<sup>2</sup>|
7777
| **[Dedicated plan]**<sup>3</sup> | Manual/autoscale |10-30<br/>100 (ASE)|
78+
| **[Container Apps]** | [Event driven](event-driven-scaling.md). Scale out automatically, even during periods of high load. Azure Functions infrastructure scales CPU and memory resources by adding more instances of the Functions host, based on the number of events that its functions are triggered on. | 10-300<sup>4</sup> |
7879

79-
80-
<sup>1</sup> During scale-out, there's currently a limit of 500 instances per subscription per hour for Linux apps on a Consumption plan. <br/>
81-
<sup>2</sup> In some regions, Linux apps on a Premium plan can scale to 100 instances. For more information, see the [Premium plan article](functions-premium-plan.md#region-max-scale-out). <br/>
82-
<sup>3</sup> For specific limits for the various App Service plan options, see the [App Service plan limits](../azure-resource-manager/management/azure-subscription-service-limits.md#app-service-limits).
80+
1. During scale-out, there's currently a limit of 500 instances per subscription per hour for Linux apps on a Consumption plan. <br/>
81+
2. In some regions, Linux apps on a Premium plan can scale to 100 instances. For more information, see the [Premium plan article](functions-premium-plan.md#region-max-scale-out). <br/>
82+
3. For specific limits for the various App Service plan options, see the [App Service plan limits](../azure-resource-manager/management/azure-subscription-service-limits.md#app-service-limits).
83+
4. On Container Apps, you can set the [maximum number of replicas](../container-apps/scale-app.md#scale-definition), which is honored as long as there's enough cores quota available.
8384

8485
## Cold start behavior
8586

8687
| Plan | Details |
8788
| -- | -- |
88-
| **[Consumption plan]** | Apps can scale to zero when idle, meaning some requests might have more latency at startup. The consumption plan does have some optimizations to help decrease cold start time, including pulling from prewarmed placeholder functions that already have the function host and language processes running. |
89+
| **[Consumption plan]** | Apps can scale to zero when idle, meaning some requests might have more latency at startup. The consumption plan does have some optimizations to help decrease cold start time, including pulling from prewarmed placeholder functions that already have the host and language processes running. |
8990
| **[Flex Consumption plan]** | Supports [always ready instances](./flex-consumption-plan.md#always-ready-instances) to reduce the delay when provisioning new instances. |
9091
| **[Premium plan]** | Supports [always ready instances](./functions-premium-plan.md#always-ready-instances) to avoid cold starts by letting you maintain one or more _perpetually warm_ instances. |
9192
| **[Dedicated plan]** | When running in a Dedicated plan, the Functions host can run continuously on a prescribed number of instances, which means that cold start isn't really an issue. |
93+
| **[Container Apps]** | Depends on the [minimum number of replicas](../container-apps/scale-app.md#scale-definition):<br/> • When set to zero: apps can scale to zero when idle and some requests might have more latency at startup.<br/>• When set to one or more: the host process runs continuously, which means that cold start isn't an issue. |
9294

9395
## Service limits
9496

@@ -106,6 +108,7 @@ Maximum instances are given on a per-function app (Consumption) or per-plan (Pre
106108
| **[Flex Consumption plan]** | Billing is based on number of executions, the memory of instances when they're actively executing functions, plus the cost of any [always ready instances](./flex-consumption-plan.md#always-ready-instances). For more information, see [Flex Consumption plan billing](flex-consumption-plan.md#billing).
107109
| **[Premium plan]** | Premium plan is based on the number of core seconds and memory used across needed and prewarmed instances. At least one instance per plan must always be kept warm. This plan provides the most predictable pricing. |
108110
| **[Dedicated plan]** | You pay the same for function apps in an App Service Plan as you would for other App Service resources, like web apps.<br/><br/>For an ASE, there's a flat monthly rate that pays for the infrastructure and doesn't change with the size of the environment. There's also a cost per App Service plan vCPU. All apps hosted in an ASE are in the Isolated pricing SKU. For more information, see the [ASE overview article](../app-service/environment/overview.md#pricing). |
111+
| **[Container Apps]** | Billing in Azure Container Apps is based on your plan type. For more information, see [Billing in Azure Container Apps](../container-apps/billing.md).|
109112

110113
For a direct cost comparison between dynamic hosting plans (Consumption, Flex Consumption, and Premium), see the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/). For pricing of the various Dedicated plan options, see the [App Service pricing page](https://azure.microsoft.com/pricing/details/app-service). For pricing Container Apps hosting, see [Azure Container Apps pricing](https://azure.microsoft.com/pricing/details/container-apps/).
111114

includes/functions-limits.md

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,26 @@ ms.service: azure-functions
44
ms.custom:
55
- build-2024
66
ms.topic: include
7-
ms.date: 05/10/2024
7+
ms.date: 06/17/2024
88
ms.author: glenga
99
---
10-
| Resource |[Consumption plan](/azure/azure-functions/consumption-plan)|[Flex Consumption plan](/azure/azure-functions/flex-consumption-plan)<sup>12</sup>|[Premium plan](/azure/azure-functions/functions-premium-plan)|[Dedicated plan](/azure/azure-functions/dedicated-plan)/[ASE](/azure/app-service/environment/intro)|
11-
| --- | --- | --- | --- | --- |
12-
| Default [timeout duration](/azure/azure-functions/functions-scale#timeout) (min) |5 | 30 | 30 |30<sup>1</sup> |
13-
| Max [timeout duration](/azure/azure-functions/functions-scale#timeout) (min) |10 | unbounded<sup>15</sup> | unbounded<sup>7</sup> | unbounded<sup>2</sup> |
14-
| Max outbound connections (per instance) | 600 active (1200 total) | unbounded | unbounded | unbounded |
15-
| Max request size (MB)<sup>3</sup> | 100 | 100 | 100 | 100 |
16-
| Max query string length<sup>3</sup> | 4096 | 4096 | 4096 | 4096 |
17-
| Max request URL length<sup>3</sup> | 8192 | 8192 | 8192 | 8192 |
18-
|[ACU](/azure/virtual-machines/acu) per instance | 100 | varies | 210-840 | 100-840/210-250<sup>8</sup> |
19-
| Max memory (GB per instance) | 1.5 | 4<sup>13</sup> | 3.5-14 | 1.75-14/3.5-14 |
20-
| Max instance count (Windows/Linux) | 200/100 | 1000 <sup>14</sup> | 100/20 | varies by SKU/100<sup>9</sup> |
21-
| Function apps per plan<sup>11</sup> | 100 | 100 | 100 | unbounded<sup>4</sup> |
22-
| [App Service plans](/azure/app-service/overview-hosting-plans) | 100 per [region](https://azure.microsoft.com/global-infrastructure/regions/) | n/a | 100 per resource group |100 per resource group |
23-
| [Deployment slots](/azure/azure-functions/functions-deployment-slots) per app<sup>10</sup> | 2 | n/a | 3 | 1-20<sup>9</sup> |
24-
| Storage<sup>5</sup> | 5 GB | 250 GB | 250 GB |50-1000 GB |
25-
| Custom domains per app</a> |500<sup>6</sup> | 500 | 500 | 500 |
26-
| Custom domain [SSL support](/azure/app-service/configure-ssl-bindings) |unbounded SNI SSL connection included | unbounded SNI SSL and 1 IP SSL connections included | unbounded SNI SSL and 1 IP SSL connections included |unbounded SNI SSL and 1 IP SSL connections included |
10+
| Resource |[Consumption plan](/azure/azure-functions/consumption-plan)|[Flex Consumption plan](/azure/azure-functions/flex-consumption-plan)<sup>12</sup>|[Premium plan](/azure/azure-functions/functions-premium-plan)|[Dedicated plan](/azure/azure-functions/dedicated-plan)/[ASE](/azure/app-service/environment/intro)| [Container Apps](/azure/azure-functions/functions-container-apps-hosting)|
11+
| --- | --- | --- | --- | --- | --- |
12+
| Default [timeout duration](/azure/azure-functions/functions-scale#timeout) (min) |5 | 30 | 30 |30<sup>1</sup> | 30<sup>16</sup> |
13+
| Max [timeout duration](/azure/azure-functions/functions-scale#timeout) (min) |10 | unbounded<sup>15</sup> | unbounded<sup>7</sup> | unbounded<sup>2</sup> | unbounded<sup>17</sup> |
14+
| Max outbound connections (per instance) | 600 active (1200 total) | unbounded | unbounded | unbounded | unbounded |
15+
| Max request size (MB)<sup>3</sup> | 100 | 100 | 100 | 100 | 100 |
16+
| Max query string length<sup>3</sup> | 4096 | 4096 | 4096 | 4096 | 4096 |
17+
| Max request URL length<sup>3</sup> | 8192 | 8192 | 8192 | 8192 | 8192 |
18+
|[ACU](/azure/virtual-machines/acu) per instance | 100 | varies | 210-840 | 100-840/210-250<sup>8</sup> | [varies](/azure/container-apps/billing) |
19+
| Max memory (GB per instance) | 1.5 | 4<sup>13</sup> | 3.5-14 | 1.75-14/3.5-14 | [varies](/azure/container-apps/billing) |
20+
| Max instance count (Windows/Linux) | 200/100 | 1000 <sup>14</sup> | 100/20 | varies by SKU/100<sup>9</sup> | 10-300<sup>18</sup> |
21+
| Function apps per plan<sup>11</sup> | 100 | 100 | 100 | unbounded<sup>4</sup> | unbounded<sup>4</sup> |
22+
| [App Service plans](/azure/app-service/overview-hosting-plans) | 100 per [region](https://azure.microsoft.com/global-infrastructure/regions/) | n/a | 100 per resource group |100 per resource group | n/a |
23+
| [Deployment slots](/azure/azure-functions/functions-deployment-slots) per app<sup>10</sup> | 2 | n/a | 3 | 1-20<sup>9</sup> | not supported |
24+
| Storage<sup>5</sup> | 5 GB | 250 GB | 250 GB |50-1000 GB | n/a |
25+
| Custom domains per app</a> |500<sup>6</sup> | 500 | 500 | 500 | not supported |
26+
| Custom domain [SSL support](/azure/app-service/configure-ssl-bindings) |unbounded SNI SSL connection included | unbounded SNI SSL and 1 IP SSL connections included | unbounded SNI SSL and 1 IP SSL connections included |unbounded SNI SSL and 1 IP SSL connections included | not supported |
2727

2828
Notes on service limits:
2929

@@ -40,5 +40,8 @@ Notes on service limits:
4040
11. There's currently a limit of 5000 function apps in a given subscription.
4141
12. The Flex Consumption plan is currently in preview.
4242
13. Flex Consumption plan instance sizes are currently defined as either 2,048 MB or 4,096 MB. For more information, see [Instance memory](/azure/azure-functions/flex-consumption-plan#instance-memory).
43-
14. Flex Consumption plan during preview has a regional subscription quota that limits the total memory usage of all instances across a given region. For more information, see [Instance memory](/azure/azure-functions/flex-consumption-plan#instance-memory).
44-
15. In a Flex Consumption plan, the host doesn't enforce an execution time limit. However, there are currently no guarantees because the platform might need to terminate your instances during scale-in, deployments, or to apply updates.
43+
14. Flex Consumption plan during preview has a regional subscription quota that limits the total memory usage of all instances across a given region. For more information, see [Instance memory](/azure/azure-functions/flex-consumption-plan#instance-memory).
44+
15. In a Flex Consumption plan, the host doesn't enforce an execution time limit. However, there are currently no guarantees because the platform might need to terminate your instances during scale-in, deployments, or to apply updates.
45+
16. When the [minimum number of replicas](/azure/container-apps/scale-app#scale-definition) is set to zero, the default timeout depends on the specific triggers used in the app.
46+
17. When the [minimum number of replicas](../articles/container-apps/scale-app.md#scale-definition) is set to one or more.
47+
18. On Container Apps, you can set the [maximum number of replicas](/azure/container-apps/scale-app#scale-definition), which is honored as long as there's enough cores quota available.
Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,20 @@
11
---
2+
author: ggailey777
3+
ms.service: azure-functions
24
ms.custom:
35
- build-2024
6+
ms.topic: include
7+
ms.date: 06/27/2024
8+
ms.author: glenga
49
---
5-
| Feature |[Consumption plan](../articles/azure-functions/consumption-plan.md)|[Flex Consumption plan](../articles/azure-functions/flex-consumption-plan.md)|[Premium plan](../articles/azure-functions/functions-premium-plan.md)|[Dedicated plan](../articles/azure-functions/dedicated-plan.md)/[ASE](../articles/app-service/environment/intro.md)|
6-
|----------------|-----------|----------------|---------|-----------------------| ---|
7-
|[Inbound IP restrictions](../articles/azure-functions/functions-networking-options.md#inbound-networking-features)|✅ Yes|✅ Yes|✅ Yes|✅ Yes |
8-
|[Inbound Private Endpoints](../articles/azure-functions/functions-networking-options.md#inbound-networking-features)|❌ No|✅ Yes|✅ Yes|✅ Yes|
9-
|[Virtual network integration](../articles/azure-functions/functions-networking-options.md#virtual-network-integration)|❌ No|✅ Yes (Regional) |✅ Yes (Regional)|✅ Yes (Regional and Gateway)|
10-
|[Virtual network triggers (non-HTTP)](../articles/azure-functions/functions-networking-options.md#virtual-network-triggers-non-http)|❌ No|✅ Yes | ✅ Yes |✅ Yes|
11-
|[Hybrid connections](../articles/azure-functions/functions-networking-options.md#hybrid-connections) (Windows only)|❌ No|❌ No|✅ Yes|✅ Yes|
12-
|[Outbound IP restrictions](../articles/azure-functions/functions-networking-options.md#outbound-ip-restrictions)|❌ No|✅ Yes|✅ Yes|✅ Yes|
10+
11+
| Feature |[Consumption plan](../articles/azure-functions/consumption-plan.md)|[Flex Consumption plan](../articles/azure-functions/flex-consumption-plan.md)|[Premium plan](../articles/azure-functions/functions-premium-plan.md)|[Dedicated plan](../articles/azure-functions/dedicated-plan.md)/[ASE](../articles/app-service/environment/intro.md)|[Container Apps](../articles/azure-functions/functions-container-apps-hosting.md)<sup>*</sup> |
12+
|----------------|-----------|----------------|---------|---------------| ---| --- |
13+
|[Inbound IP restrictions](../articles/azure-functions/functions-networking-options.md#inbound-networking-features)|✅Yes|✅Yes|✅Yes|✅Yes | ❌No |
14+
|[Inbound Private Endpoints](../articles/azure-functions/functions-networking-options.md#inbound-networking-features)|❌No|✅Yes|✅Yes|✅Yes| ❌No |
15+
|[Virtual network integration](../articles/azure-functions/functions-networking-options.md#virtual-network-integration)|❌No|✅Yes (Regional) |✅Yes (Regional)|✅Yes (Regional and Gateway)| ✅Yes|
16+
|[Virtual network triggers (non-HTTP)](../articles/azure-functions/functions-networking-options.md#virtual-network-triggers-non-http)|❌No|✅Yes | ✅Yes |✅Yes| ✅Yes|
17+
|[Hybrid connections](../articles/azure-functions/functions-networking-options.md#hybrid-connections) (Windows only)|❌No|❌ No |✅Yes|✅Yes| ❌No|
18+
|[Outbound IP restrictions](../articles/azure-functions/functions-networking-options.md#outbound-ip-restrictions)|❌No| ✅Yes | ✅Yes|✅Yes| ❌No|
19+
20+
<sup>*</sup>For more information, see [Networking in Azure Container Apps environment](../articles/container-apps/networking.md).

0 commit comments

Comments
 (0)