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
description: Learn about the benefits of running Azure Functions on a dedicated App Service hosting plan.
4
-
ms.topic: conceptual
4
+
ms.topic: concept-article
5
5
ms.custom:
6
6
- build-2024
7
-
ms.date: 10/16/2024
7
+
ms.date: 02/23/2026
8
8
---
9
9
10
10
# Dedicated hosting plans for Azure Functions
@@ -14,7 +14,7 @@ This article is about hosting your function app with dedicated resources in an A
14
14
An App Service plan defines a set of dedicated compute resources for an app to run. These dedicated compute resources are analogous to the [_server farm_](https://wikipedia.org/wiki/Server_farm) in conventional hosting. One or more function apps can be configured to run on the same computing resources (App Service plan) as other App Service apps, such as web apps. The dedicated App Service plans supported for function app hosting include Basic, Standard, Premium, and Isolated SKUs. For details about how the App Service plan works, see the [Azure App Service plans in-depth overview](../app-service/overview-hosting-plans.md).
15
15
16
16
> [!IMPORTANT]
17
-
> Free and Shared tier App Service plans aren't supported by Azure Functions. For a lower-cost option hosting your function executions, you should instead consider the [Consumption plan](consumption-plan.md) or the [Flex Consumption plan](./flex-consumption-plan.md), where you are billed based on function executions.
17
+
> Azure functions doesn't support Free and Shared tier App Service plans. For a lower-cost option hosting your function executions, you should instead consider the [Consumption plan](consumption-plan.md) or the [Flex Consumption plan](./flex-consumption-plan.md), where you're billed based on function executions.
18
18
19
19
Consider a dedicated App Service plan in the following situations:
20
20
@@ -23,32 +23,32 @@ Consider a dedicated App Service plan in the following situations:
23
23
24
24
## Billing
25
25
26
-
You pay for function apps in an App Service Plan as you would for other App Service resources. This differs from Azure Functions [Consumption plan](consumption-plan.md) or [Premium plan](functions-premium-plan.md) hosting, which have consumption-based cost components. You are billed only for the plan, regardless of how many function apps or web apps run in the plan. To learn more, see the [App Service pricing page](https://azure.microsoft.com/pricing/details/app-service/windows/).
26
+
You pay for function apps in an App Service Plan as you would for other App Service resources. This differs from Azure Functions [Consumption plan](consumption-plan.md) or [Premium plan](functions-premium-plan.md) hosting, which have consumption-based cost components. You're billed only for the plan, regardless of how many function apps or web apps run in the plan. To learn more, see the [App Service pricing page](https://azure.microsoft.com/pricing/details/app-service/windows/).
27
27
28
28
## <aname="always-on"></a> Always On
29
29
30
30
When you run your app on an App Service plan, you should enable the **Always on** setting so that your function app runs correctly. On an App Service plan, the Functions runtime goes idle after a few minutes of inactivity. The **Always on** setting is available only on an App Service plan. In other plans, the platform activates function apps automatically. If you choose not to enable **Always on**, you can reactivate an idled app in these ways:
31
31
32
-
+ Send a request to an HTTP trigger endpoint or any other endpoint on the app. Even a failed request should wake up your app.
33
-
+ Access your app in the [Azure portal](https://portal.azure.com).
32
+
* Send a request to an HTTP trigger endpoint or any other endpoint on the app. Even a failed request should wake up your app.
33
+
* Access your app in the [Azure portal](https://portal.azure.com).
34
34
35
35
Even with **Always on** enabled, the execution timeout for individual functions is controlled by the `functionTimeout` setting in the [host.json](functions-host-json.md#functiontimeout) project file.
36
36
37
37
## Scaling
38
38
39
-
Using an App Service plan, you can manually scale out by adding more VM instances. You can also enable autoscale, though autoscale will be slower than the elastic scale of the Premium plan. For more information, see [Scale instance count manually or automatically](/azure/azure-monitor/autoscale/autoscale-get-started?toc=%2fazure%2fapp-service%2ftoc.json). You can also scale up by choosing a different App Service plan. For more information, see [Scale up an app in Azure](../app-service/manage-scale-up.md).
39
+
Using an App Service plan, you can manually scale out by adding more VM instances. You can also enable autoscale, though autoscale will be slower than the elastic scale of the Premium plan. For more information, see [Scale instance count manually or automatically](/azure/azure-monitor/autoscale/autoscale-get-started?toc=%2fazure%2fapp-service%2ftoc.json). You can also scale up by choosing a different App Service plan. For more information, see [Scale up an app in Azure](../app-service/manage-scale-up.md).
40
40
41
-
> [!NOTE]
42
-
> When running JavaScript (Node.js) functions on an App Service plan, you should choose a plan that has fewer vCPUs. For more information, see [Choose single-core App Service plans](functions-reference-node.md#choose-single-vcpu-app-service-plans).
43
-
<!-- Note: the portal links to this section via fwlink https://go.microsoft.com/fwlink/?linkid=830855 -->
41
+
> [!NOTE]
42
+
> When running JavaScript (Node.js) functions on an App Service plan, you should choose a plan that has fewer vCPUs. For more information, see [Choose single-core App Service plans](functions-reference-node.md#choose-single-vcpu-app-service-plans).
43
+
<!-- Note: the portal links to this section via fwlink https://go.microsoft.com/fwlink/?linkid=830855 -->
44
44
45
45
## App Service Environments
46
46
47
47
Running in an App Service Environment (ASE) lets you fully isolate your functions and take advantage of higher numbers of instances than an App Service Plan. To get started, see [Introduction to the App Service Environments](../app-service/environment/overview.md).
48
48
49
-
If you just want to run your function app in a virtual network, you can do this using the [Premium plan](functions-premium-plan.md). To learn more, see [Establish Azure Functions private site access](functions-create-private-site-access.md).
49
+
If you just want to run your function app in a virtual network, you can do this using the [Premium plan](functions-premium-plan.md). To learn more, see [Establish Azure Functions private site access](functions-create-private-site-access.md).
## <aname="create-an-azure-functions-project"></a>Create an Azure Functions project
46
+
## Create an Azure Functions project
47
47
48
48
In Visual Studio Code, create a local Azure Functions project.
49
49
@@ -61,7 +61,7 @@ In Visual Studio Code, create a local Azure Functions project.
61
61
| ------ | ----- | ----------- |
62
62
|**Select a language for your function app project**| Select **C#**. | Creates a local C# Functions project. |
63
63
|**Select a version**| Select **Azure Functions v4**. | You see this option only when Core Tools isn't already installed. Core Tools is installed the first time you run the app. |
64
-
|**Select a .NET runtime**| Select **.NET 8.0 isolated**. | Creates a Functions project that supports .NET 8 running in an isolated worker process and the Azure Functions Runtime 4.0. For more information, see [How to target Azure Functions runtime version](../functions-versions.md). |
64
+
|**Select a .NET runtime**| Select **.NET 8.0 isolated**. | Creates a Functions project that supports .NET 8 running in an isolated worker process and the Azure Functions Runtime 4.0. For more information, see [How to target Azure Functions runtime version](../functions-versions.md). |
65
65
|**Select a template for your project's first function**| Select **Durable Functions Orchestration**. | Creates a Durable Functions orchestration. |
66
66
|**Choose a durable storage type**| Select **Azure Storage**. | The default storage provider for Durable Functions. For more information, see [Durable Functions storage providers](./durable-functions-storage-providers.md). |
67
67
|**Provide a function name**| Enter **HelloOrchestration**. | A name for the orchestration function. |
@@ -73,7 +73,7 @@ Visual Studio Code installs Azure Functions Core Tools if it's required to creat
73
73
Another file, *HelloOrchestration.cs*, contains the basic building blocks of a Durable Functions app:
74
74
75
75
| Method | Description |
76
-
| ----- | ----------- |
76
+
| ----- | ----------- |
77
77
|`HelloOrchestration`| Defines the Durable Functions app orchestration. In this case, the orchestration starts, creates a list, and then adds the result of three functions calls to the list. When the three function calls finish, it returns the list. |
78
78
|`SayHello`| A simple function app that returns *hello*. This function contains the business logic that is orchestrated. |
79
79
|`HelloOrchestration_HttpStart`| An [HTTP-triggered function](../functions-bindings-http-webhook.md) that starts an instance of the orchestration and returns a *check status* response. |
@@ -201,9 +201,9 @@ The Azure Functions template creates a project that you can publish to a functio
201
201
202
202
:::image type="content" source="./media/durable-functions-create-first-csharp/functions-isolated-vs-new-function.png" alt-text="Screenshot of the Create a new Azure Functions Application dialog in Visual Studio.":::
| **Functions worker** | Select **.NET 8 Isolated (Long Term Support)**. | Creates an Azure Functions project that supports .NET 8 running in an isolated worker process and the Azure Functions Runtime 4.0. For more information, see [How to target the Azure Functions runtime version](../functions-versions.md). |
| **Functions worker** | Select **.NET 8 Isolated (Long Term Support)**. | Creates an Azure Functions project that supports .NET 8 running in an isolated worker process and the Azure Functions Runtime 4.0. For more information, see [How to target the Azure Functions runtime version](../functions-versions.md). |
207
207
| **Function** | Enter **Durable Functions Orchestration**. | Creates a Durable Functions orchestration. |
208
208
209
209
> [!NOTE]
@@ -217,7 +217,7 @@ The Azure Functions template creates a project that you can publish to a functio
217
217
In your app folder, a file named *Function1.cs* contains three functions. The three functions are the basic building blocks of a Durable Functions app:
218
218
219
219
| Method | Description |
220
-
| ----- | ----------- |
220
+
| ----- | ----------- |
221
221
| `RunOrchestrator` | Defines the Durable Functions app orchestration. In this case, the orchestration starts, creates a list, and then adds the result of three functions calls to the list. When the three function calls finish, it returns the list. |
222
222
| `SayHello` | A simple function app that returns *hello*. This function contains the business logic that is orchestrated. |
223
223
| `HttpStart` | An [HTTP-triggered function](../functions-bindings-http-webhook.md) that starts an instance of the orchestration and returns a *check status* response. |
0 commit comments