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
+75-10Lines changed: 75 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,23 +11,48 @@ ms.author: cshoe
11
11
12
12
# Azure Functions on Azure Container Apps overview
13
13
14
-
Azure Functions provides integrated support for developing, deploying, and managing containerized function apps on Azure Container Apps. Use Azure Container Apps for your Functions apps when you need to run in the same environment as other microservices, APIs, websites, workflows, or any container hosted programs.
14
+
Azure Functions provides integrated support for developing, deploying, and managing containerized Functions apps on Azure Container Apps. Use Azure Container Apps for your Functions apps when you need to run in the same environment as other microservices, APIs, websites, workflows, or any container hosted programs.
15
15
16
-
Container Apps hosting lets you run your functions in a fully supported and managed, container-based environment with built-in support for open-source monitoring, mTLS, Dapr, and Kubernetes Event-driven Autoscaling (KEDA).
16
+
Container Apps hosting lets you run your Functions in a fully supported and managed, container-based environment with built-in support for open-source monitoring, mTLS, Dapr, and Kubernetes Event-driven Autoscaling (KEDA).
17
17
18
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.
19
19
20
20
This article shows you how to create and deploy an Azure Functions app that runs within Azure Container Apps. You learn how to:
21
21
22
22
- Set up a containerized Functions app with preconfigured auto scaling rules
23
23
- Deploy your application using either the Azure portal or Azure CLI
24
-
- Verify your deployed function with an HTTP trigger
24
+
- Verify your deployed Functions with an HTTP trigger
25
25
26
26
By running Functions in Container Apps, you benefit from automatic scaling, easy configuration, and a fully managed container environment—all without having to manage the underlying infrastructure yourself.
27
27
28
+
## Key benefits
29
+
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:
30
+
-**Run Functions as containers** with custom dependencies and language stacks.
31
+
-**Scale in to zero and scale out to 1000 instances** using KEDA.
32
+
-**[Secure networking](../container-apps/networking.md)** with full [VNet integration](../container-apps/custom-virtual-networks.md).
33
+
-**Advanced [Container App features](../container-apps/overview.md#features)** like multi-revisions, traffic splitting, [Dapr integration](../container-apps/dapr-overview.md) and [observability components](../container-apps/observability.md).
34
+
-**[Serverless and Dedicated GPU](../container-apps/gpu-serverless-overview.md)** support for compute-intensive workloads.
35
+
-**Unified Container Apps environment** to run Functions alongside microservices, APIs, and background jobs.
36
+
37
+
The following table helps you compare the features of Functions on Container Apps with [Flex consumption plan](../azure-functions/flex-consumption-plan.md).
38
+
39
+
| Feature | Container Apps | Flex Consumption Plan |
| Custom container support | ✅ Yes (bring your own image) | ❌ Limited (no bring your own container) |
46
+
| GPU support | ✅ Yes (via serverless GPU dedicated workload profile) | ❌ No |
47
+
| Built-in features | Container Apps feature support. For instance, KEDA, Dapr, multi-revisions, mTLS, sidecars, ingress control and more | Functions-only features |
48
+
| Billing model | Container Apps pricing: Consumption plan (vCPU, memory, requests) & Dedicated plan (workload profile based) | Execution-time + always-ready instances |
49
+
50
+
For a complete comparison of the Functions on Container Apps against Flex Consumption plan and all other plan and hosting types, see [Functions scale and hosting options](../azure-functions/functions-scale.md).
51
+
28
52
## Scenarios
29
53
30
-
Azure Functions on Container Apps provide a versatile combination of services to meet the needs of your applications. The following scenarios are representative of the types of situations where pairing Azure Container Apps with Azure Functions gives you the control and scaling features you need.
54
+
55
+
Azure Functions on Azure Container Apps provide a versatile combination of services to meet the needs of your applications. The following scenarios are representative of the types of situations where paring Azure Container Apps with Azure Functions gives you the control and scaling features you need.
31
56
32
57
-**Line-of-business APIs**: Package custom libraries, packages, and APIs with Functions for line-of-business applications.
33
58
@@ -37,7 +62,19 @@ Azure Functions on Container Apps provide a versatile combination of services to
37
62
38
63
-**Serverless workloads**: Serverless workload processing of videos, images, transcripts, or any other processing intensive tasks that required GPU compute resources.
39
64
40
-
-**Common Azure Functions scenarios**: All common Azure Functions scenarios like processing file uploads, running scheduled tasks, responding to database changes, machine learning/AI and others detailed in [Azure Functions scenarios](/azure/azure-functions/functions-scenarios?pivots=programming-language-csharp).
65
+
-**Common Azure Functions scenarios**: All common Azure Functions scenarios like processing file uploads, running scheduled tasks, responding to database changes, machine learning/AI and others detailed in [Azure Functions scenarios](/azure/azure-functions/functions-scenarios?pivots=programming-language-csharp).
66
+
67
+
## Pricing and billing
68
+
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.
69
+
-[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.
70
+
-[Dedicated plan](../container-apps/billing.md#consumption-dedicated): This option provides customized compute resources, billing you for the instances allocated to each workload profile.
71
+
72
+
Your choice of plan determines how billing calculations are made. Different applications within an environment can use different plans.
73
+
74
+
Key points to note:
75
+
- There are no additional charges for using the Azure Functions programming model within Container Apps.
76
+
- Durable Functions and other advanced patterns are supported and billed under the same Container Apps pricing model.
77
+
For detailed billing mechanics and examples, refer to the [Billing in Azure Container Apps](../container-apps/billing.md) documentation.
41
78
42
79
## Event-driven scaling
43
80
@@ -49,16 +86,15 @@ All Functions triggers are available in your containerized Functions app. Howeve
Azure Functions on Container Apps are designed to configure the scale parameters and rules as per the event target. You don't need to worry about configuring the KEDA scaled objects. You can still set minimum and maximum replica count when creating or modifying your function app.
58
-
59
-
Auto scaling for Azure Cosmos DB trigger and Durable functions is currently supported using connection strings only.
95
+
Azure Functions on Azure Container Apps are designed to configure the scale parameters and rules as per the event target. You don't need to worry about configuring the KEDA scaled objects. You can still set minimum and maximum replica count when creating or modifying your Functions app.
60
96
61
-
You can write your function code in any [language stack supported](/azure/azure-functions/supported-languages?tabs=isolated-process%2Cv4&pivots=programming-language-csharp) by Azure Functions. You can use the same Functions triggers and bindings with event-driven scaling.
97
+
You can write your Functions code in any [language stack supported](/azure/azure-functions/supported-languages?tabs=isolated-process%2Cv4&pivots=programming-language-csharp) by Azure Functions. You can use the same Functions triggers and bindings with event-driven scaling.
62
98
63
99
## Managed identity authorization
64
100
@@ -74,12 +110,41 @@ Managed identities are available for the following connections:
74
110
75
111
For other bindings, use fixed replicas when using managed identity authentication. For more information, see the [Functions developer guide](/azure/azure-functions/functions-reference).
76
112
113
+
## Scaling and performance
114
+
115
+
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.
116
+
117
+
-**Event-driven scaling**: Automatically scales based on triggers like Event Grid, Service Bus, or HTTP.
118
+
-**Scale to zero**: Idle apps scale-in to zero to save costs.
-**Concurrency**: Each instance can process multiple events in parallel.
121
+
-**High scale**: Scale out to 1,000 instances per app (default is 10).
122
+
-**GPU support**: Run compute-heavy workloads like AI inference using GPU-backed nodes.
123
+
124
+
This makes Container Apps ideal for both bursty and steady-state workloads. To learn more, see [Set scaling rules in Azure Container Apps](../container-apps/scale-app.md)
125
+
126
+
## Networking and security
127
+
128
+
Azure Functions on Container Apps benefit from Container Apps’ robust [networking](../container-apps/networking.md) and [security features](../container-apps/security.md) for secure, scalable deployments:
129
+
130
+
-**VNet integration**: Access private resources securely via internal endpoints and private databases.
131
+
-**Managed identity**: Authenticate with Azure services using system/user-assigned identities—no secrets or connection strings needed.
132
+
-**Dapr support**: Enable pub/sub, state management, and secure service invocation via Dapr sidecars. For more information, see [Microservice APIs powered by Dapr](../container-apps/dapr-overview.md).
133
+
-**Ingress and TLS**: Expose secure HTTP endpoints with TLS/mTLS, custom domains, or keep them internal.
These capabilities make Container Apps-hosted Functions ideal for enterprise-grade, secure serverless applications.
137
+
77
138
## Application logging
78
139
79
-
You can monitor your containerized function app hosted in Container Apps using Azure Monitor Application Insights in the same way you do with apps hosted by Azure Functions. For more information, see [Monitor Azure Functions](/azure/azure-functions/monitor-functions).
140
+
You can monitor your containerized Functions app hosted in Container Apps using Azure Monitor Application Insights in the same way you do with apps hosted by Azure Functions. For more information, see [Monitor Azure Functions](/azure/azure-functions/monitor-functions).
80
141
81
142
For bindings that support event-driven scaling, scale events are logged as `FunctionsScalerInfo` and `FunctionsScalerError` events in your Log Analytics workspace. For more information, see [Application Logging in Azure Container Apps](./logging.md).
82
143
144
+
## Submit Feedback
145
+
146
+
Submit an issue or a feature request to the [Azure Container Apps GitHub repo](https://github.com/microsoft/azure-container-apps/issues).
0 commit comments