You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/container-apps/functions-overview.md
+30-22Lines changed: 30 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,14 +11,16 @@ ms.author: cshoe
11
11
12
12
# Azure Functions on Azure Container Apps overview
13
13
14
-
Azure Functions on Azure Container Apps offers a fully managed serverless hosting environment that brings together the event-driven capabilities of Azure Functions with the robust features of Container Apps. This integration includes advanced capabilities such as Kubernetes-based orchestration, built-in autoscaling powered by KEDA (Kubernetes-based Event Driven Autoscaling), Dapr (Distributed Application Runtime) integration, GPU workload support, sidecar support, virtual network (VNet) connectivity, and revision management.
14
+
Azure Functions on Azure Container Apps offers a fully managed serverless hosting environment that brings together the event-driven capabilities of Azure Functions with the robust features of Container Apps. This integration includes advanced capabilities such as Kubernetes-based orchestration, built-in autoscaling powered by KEDA (Kubernetes-based Event Driven Autoscaling), Dapr (Distributed Application Runtime) integration, GPU workload support, sidecar support, virtual network (VNet) connectivity, and revision management.
15
15
16
16
This approach is useful when you want your Functions to run alongside other containerized apps like microservices, APIs, or websites. Further, containerizing your function apps can help when you need custom dependencies or want to take advantage of scale-to-zero for cost savings. If you're running compute-heavy tasks like AI inference, Container Apps also supports GPU-based hosting through serverless GPU offering and Dedicated workload profiles.
17
17
18
-
As an integrated feature on Azure Container Apps, you can deploy Azure Functions images directly onto Azure Container Apps using the `Microsoft.App` resource provider by setting `kind=functionapp` when calling `az containerapp create`. Apps created this way have access to all Azure Container Apps features. If deploying via Azure portal, you can enable the *Optimize for Functions app* option during setup. Refer to[deployment and setup](../container-apps/functions-overview.md#deployment-and-setup) section for more details.
18
+
As an integrated feature on Azure Container Apps, you can deploy Azure Functions images directly onto Azure Container Apps using the `Microsoft.App` resource provider by setting `kind=functionapp` when calling `az containerapp create`. Apps created this way have access to all Azure Container Apps features. If deploying via Azure portal, you can enable the *Optimize for Functions app* option during setup. For more information, see[deployment and setup](../container-apps/functions-overview.md#deployment-and-setup) section for more details.
19
19
20
20
## Key benefits
21
+
21
22
The Container Apps hosting model builds on the flexibility of containerized workloads and the event-driven nature of Azure Functions. It offers the following key advantages:
23
+
22
24
-**Run Azure Functions as containers** with custom dependencies and language stacks.
23
25
-**Scale in to zero and scale out to 1000 instances** using KEDA.
24
26
-**[Secure networking](../container-apps/networking.md)** with full [VNet integration](../container-apps/custom-virtual-networks.md).
@@ -31,9 +33,9 @@ The following table helps you compare the features of Functions on Container App
31
33
| Feature | Container Apps | Flex Consumption Plan |
32
34
| --- | --- | --- |
33
35
| Scale to zero | ✅ Yes (via KEDA) | ✅ Yes |
34
-
| Max scale-out | 1,000 (default 10, configurable) |1,000 |
36
+
| Max scale-out | 1,000 (default 10, configurable) |1,000 |
| Custom container support | ✅ Yes (bring your own image) | ❌ Limited (no bring your own container) |
38
40
| GPU support | ✅ Yes (via serverless GPU dedicated workload profile) | ❌ No |
39
41
| Built-in features | Container Apps feature support. For instance, KEDA, Dapr, multi-revisions, mTLS, sidecars, ingress control and more | Functions-only features |
@@ -70,13 +72,15 @@ az containerapp create \
70
72
--kind functionapp \
71
73
--query properties.outputs.fqdn
72
74
```
75
+
73
76
This command returns the URL of your Functions app. Copy this URL and paste it into a web browser.
74
77
75
78
In the Azure portal, select the *Optimize for Azure Functions* option during container app creation to streamline the setup.
76
79
77
80
:::image type="content" source="media/functions-overview/functions-create-container-app.png" alt-text="Screenshot of the Azure portal when you create a container app pre-configured for Azure Functions.":::
78
81
79
82
All standard deployment methods are supported, including:
- ARM templates / [Bicep](https://github.com/Azure/azure-functions-on-container-apps/tree/main/samples/ACAKindfunctionapp)
@@ -85,20 +89,23 @@ All standard deployment methods are supported, including:
85
89
For detailed steps and examples, refer to the official [getting started documentation](../container-apps/functions-usage.md).
86
90
87
91
## Pricing and billing
92
+
88
93
Azure Functions on Azure Container Apps follow the same pricing model as Azure Container Apps. Billing is based on the [plan type](../container-apps/plans.md) you select for your environment, which can be either Consumption or Dedicated.
89
-
-[Consumption plan](..//container-apps/billing.md#consumption-plan): This serverless compute option bills you only for the resources your apps use while they are running.
94
+
95
+
-[Consumption plan](..//container-apps/billing.md#consumption-plan): This serverless compute option bills you only for the resources your apps use while they're running.
90
96
-[Dedicated plan](../container-apps/billing.md#consumption-dedicated): This option provides customized compute resources, billing you for the instances allocated to each workload profile.
91
97
92
98
Your choice of plan determines how billing calculations are made. Different applications within an environment can use different plans.
93
99
94
100
Key points to note:
101
+
95
102
- No extra charges for using the Azure Functions programming model within Container Apps.
96
103
- Durable Functions and other advanced patterns are supported and billed under the same Container Apps pricing model.
97
104
For detailed billing mechanics and examples, refer to the [Billing in Azure Container Apps](../container-apps/billing.md) documentation.
98
105
99
106
## Event-driven scaling
100
107
101
-
Azure Functions on Container Apps support all major [language runtimes available in Azure Functions](../azure-functions/supported-languages.md), including: C#, JavaScript / TypeScript (Node.js), Python, Java, PowerShell, Custom containers (bring your own image).
108
+
Azure Functions on Container Apps support all major [language runtimes available in Azure Functions](../azure-functions/supported-languages.md), including C#, JavaScript / TypeScript (Node.js), Python, Java, PowerShell, and Custom containers (bring your own image).
102
109
103
110
Azure Functions running on Azure Container Apps **automatically configure scaling rules** based on the event source, eliminating the need for manual KEDA scale rule definitions. That’s why the "Add scale rules" button on the Azure portal is disabled for Functions on Container Apps. However, you can still define minimum and maximum replica counts to establish scaling boundaries and maintain control over resource allocation.
104
111
@@ -111,20 +118,21 @@ The platform automatically translates your Functions trigger parameters (from `h
111
118
- Azure Cache for Redis
112
119
- Azure SQL
113
120
114
-
**Managed identities** are supported for triggers and bindings that allow it. They are also available for:
121
+
**Managed identities** are supported for triggers and bindings that allow it. They're also available for:
-[Connecting to trigger event sources](../azure-functions/functions-reference.md#configure-an-identity-based-connection)
118
126
119
-
For unsupported triggers, use fixed replica counts (that is, set minReplicas > 0) in Azure Functions on Azure Container Apps. For more details, refer to the [Functions developer guide](../azure-functions/functions-reference.md).
127
+
For unsupported triggers, use fixed replica counts (that is, set minReplicas > 0) in Azure Functions on Azure Container Apps. For more information, see the [Functions developer guide](../azure-functions/functions-reference.md).
120
128
121
129
## Scaling and performance
122
130
123
131
Azure Functions on Container Apps scale automatically based on events using KEDA, with no need to configure scale rules manually. You can still set min/max replicas to control scaling behavior.
124
132
125
133
-**Event-driven scaling**: Automatically scales based on triggers like Event Grid, Service Bus, or HTTP.
126
134
-**Scale to zero**: Idle apps scale-in to zero to save costs.
127
-
-**Cold start control**: Learn about [reducing cold-start time on Azure Container Apps](../container-apps/cold-start.md).
135
+
-**Cold start control**: Learn about [reducing cold-start time on Azure Container Apps](../container-apps/cold-start.md).
128
136
-**Concurrency**: Each instance can process multiple events in parallel.
129
137
-**High scale**: Scale out to 1,000 instances per app (default is 10).
130
138
-**GPU support**: Run compute-heavy workloads like AI inference using GPU-backed nodes.
@@ -170,14 +178,14 @@ Keep these other considerations in mind when using Azure Functions on Azure Cont
170
178
-**Cold start latency**: When your container app scales in to zero during idle periods, the first request after inactivity experiences a cold start. Learn more about [reducing cold start times](../container-apps/cold-start.md).
171
179
-**Application insights integration**: For robust monitoring and diagnostics, link your Functions app to Application Insights. For more information, see [App Insights integration with Functions](../azure-functions/configure-monitoring.md?tabs=v2#enable-application-insights-integration).
172
180
-**Functions proxies**: Not supported. For API gateway scenarios, integrate with Azure API Management instead.
173
-
-**Deployment slots**: Staging and production slots are not available. Use [blue-green deployment strategies](../container-apps/blue-green-deployment.md) for zero-downtime releases.
174
-
-**Functions access keys**: Using the portal to generate Functions access keys is not supported. Consider using [Azure Key Vault to store keys](https://techcommunity.microsoft.com/blog/appsonazureblog/how-to-store-function-apps-function-keys-in-a-key-vault/2639181). You can also use the following options to secure HTTP endpoints in production:
175
-
-[Enable App Service Authentication/Authorization](../container-apps/authentication.md)
-[Use Azure API Management (APIM) to authenticate requests](../azure-functions/security-concepts.md#use-azure-api-management-apim-to-authenticate-requests)
178
-
-[Deploy your function app to a virtual network](../container-apps/custom-virtual-networks.md?tabs=workload-profiles-env)
181
+
-**Deployment slots**: Staging and production slots aren't available. Use [blue-green deployment strategies](../container-apps/blue-green-deployment.md) for zero-downtime releases.
182
+
-**Functions access keys**: Using the portal to generate Functions access keys isn't supported. Consider using [Azure Key Vault to store keys](https://techcommunity.microsoft.com/blog/appsonazureblog/how-to-store-function-apps-function-keys-in-a-key-vault/2639181). You can also use the following options to secure HTTP endpoints in production:
183
+
-[Enable App Service Authentication/Authorization](../container-apps/authentication.md)
-[Use Azure API Management (APIM) to authenticate requests](../azure-functions/security-concepts.md#use-azure-api-management-apim-to-authenticate-requests)
186
+
-[Deploy your function app to a virtual network](../container-apps/custom-virtual-networks.md?tabs=workload-profiles-env)
179
187
-**Quota and resource limits**: Container Apps environments have default limits on memory, CPU, and instance counts per region. For more information, see the [environment limits](../container-apps/environment.md#limits-and-quotas) and [default quotas](../container-apps/quotas.md). If your workload requires more resources, you can [request a quota increase](../container-apps/quota-requests.md).
180
-
-**Manual scale rule configuration**: The "Add scale rules" button on the Azure portal is disabled for Azure Functions hosted on Container Apps because scaling rules are automatically configured based on the event source. Manual KEDA rule definitions are not required in this setup.
188
+
-**Manual scale rule configuration**: The "Add scale rules" button on the Azure portal is disabled for Azure Functions hosted on Container Apps because scaling rules are automatically configured based on the event source. Manual KEDA rule definitions aren't required in this setup.
181
189
182
190
## Submit Feedback
183
191
@@ -187,9 +195,9 @@ Submit an issue or a feature request to the [Azure Container Apps GitHub repo](h
187
195
188
196
To continue learning and building with Azure Functions on Container Apps, explore the following resources:
189
197
190
-
-[Getting started](../container-apps/functions-usage.md) – Step-by-step guide to deploying and configuring Azure Functions in Azure Container Apps.
191
-
-[Azure Container Apps documentation](../container-apps/overview.md) – Full reference for Container Apps features including scaling, networking, Dapr, and workload profiles.
192
-
-[Azure Container Apps pricing](https://azure.microsoft.com/pricing/details/container-apps/) – Details on consumption-based billing and Dedicated plan costs.
193
-
-[Azure Functions hosting options](../azure-functions/functions-scale.md) – Comparison of hosting plans including Container Apps, Flex Consumption, Premium, and Dedicated.
194
-
-[Azure Functions developer guide](../azure-functions/functions-reference.md) – Deep dive into triggers, bindings, runtime behavior, and configuration.
195
-
198
+
-[Getting started](../container-apps/functions-usage.md): Step-by-step guide to deploying and configuring Azure Functions in Azure Container Apps.
199
+
-[Azure Container Apps documentation](../container-apps/overview.md): Full reference for Container Apps features including scaling, networking, Dapr, and workload profiles.
200
+
-[Azure Container Apps pricing](https://azure.microsoft.com/pricing/details/container-apps/): Details on consumption-based billing and Dedicated plan costs.
201
+
-[Azure Functions hosting options](../azure-functions/functions-scale.md): Comparison of hosting plans including Container Apps, Flex Consumption, Premium, and Dedicated.
202
+
-[Azure Functions developer guide](../azure-functions/functions-reference.md): Deep dive into triggers, bindings, runtime behavior, and configuration.
Copy file name to clipboardExpand all lines: articles/container-apps/get-started.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ services: container-apps
5
5
author: craigshoemaker
6
6
ms.service: azure-container-apps
7
7
ms.topic: quickstart
8
-
ms.date: 02/03/2025
8
+
ms.date: 03/26/2026
9
9
ms.author: cshoe
10
10
ms.custom: devx-track-azurecli
11
11
ms.devlang: azurecli
@@ -84,7 +84,7 @@ The following message is displayed when the container app is deployed:
84
84
If you're not going to continue to use this application, run the following command to delete the resource group along with all the resources created in this quickstart.
85
85
86
86
>[!CAUTION]
87
-
> The following command deletes the specified resource group and all resources contained within it. If resources outside the scope of this quickstart exist in the specified resource group, they will also be deleted.
87
+
> The following command deletes the specified resource group and all resources contained within it. If resources outside the scope of this quickstart exist in the specified resource group, they'll also be deleted.
0 commit comments