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/azure-functions/durable/choose-orchestration-framework.md
+18-14Lines changed: 18 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: Choose your hosting option
2
+
title: Choose your hosting model
3
3
description: Learn how your hosting platform determines whether to use Durable Functions for Azure Functions or the standalone Durable Task SDKs for self-hosted scenarios.
4
4
author: cgillum
5
5
ms.author: cgillum
@@ -9,20 +9,24 @@ ms.topic: concept-article
9
9
ms.service: azure-functions
10
10
ms.subservice: durable
11
11
titleSuffix: Durable Task
12
-
#Customer intent: As a developer, I want to understand which Durable Task programming model to use based on my hosting platform.
12
+
#Customer intent: As a developer, I want to understand which Durable Task hosting model to use based on my hosting platform.
13
13
---
14
14
15
-
# Choose your hosting option
15
+
# Choose your hosting model
16
16
17
-
As described in [What is Durable Task?](what-is-durable-task.md), the Durable Task framework supports two hosting models: **Azure Functions** (via Durable Functions) and **self-hosted** (via the standalone Durable Task SDKs). Both hosting models provide the same core durable execution capabilities (orchestrations, activities, timers, external events, and more) but differ in how your application is hosted, scaled, and deployed.
17
+
As described in [What is Durable Task?](what-is-durable-task.md), the Durable Task framework supports two hosting models:
In general, where your application runs determines which programming model you use. If you're building on Azure Functions, you use Durable Functions. If you're building on any other compute platform, you use the standalone Durable Task SDKs.
21
+
Both hosting models provide the same core durable execution capabilities (orchestrations, activities, timers, external events, and more) but differ in how your application is hosted, scaled, and deployed.
22
+
23
+
In general, where your application runs determines which hosting model you use. If you're building on Azure Functions, you use Durable Functions. If you're building on any other compute platform, you use the standalone Durable Task SDKs.
20
24
21
25
## Choosing based on hosting platform
22
26
23
-
If you already know your application's hosting platform, the following table can help you determine which programming model to use:
27
+
If you already know your application's hosting platform, the following table can help you determine which hosting model to use:
|**Azure Container Apps** (with Azure Functions runtime) | Either |
@@ -31,11 +35,11 @@ If you already know your application's hosting platform, the following table can
31
35
|**Virtual machines or on-premises**| Standalone Durable Task SDKs |
32
36
33
37
> [!NOTE]
34
-
> Azure App Service and Azure Container Apps can both host the Azure Functions runtime, either through [fully managed Azure Functions integration](../functions-scale.md#overview-of-plans) or by deploying the Functions runtime directly. Thus, both platforms support either programming model. For more information on Azure Functions hosting options, see [Azure Functions hosting plans](../functions-scale.md).
38
+
> Azure App Service and Azure Container Apps can both host the Azure Functions runtime, either through [fully managed Azure Functions integration](../functions-scale.md#overview-of-plans) or by deploying the Functions runtime directly. Thus, both platforms support either hosting model. For more information on Azure Functions hosting models, see [Azure Functions hosting plans](../functions-scale.md).
35
39
36
-
## Comparing the programming models
40
+
## Comparing the hosting models
37
41
38
-
The following table summarizes the key differences between the two programming models:
42
+
The following table summarizes the key differences between the two hosting models:
Both programming models support the **[Durable Task Scheduler](./durable-task-scheduler/durable-task-scheduler.md)** as a state storage backend, which provides both state storage and extra monitoring capabilities. Durable Functions also supports several bring-your-own (BYO) storage options for scenarios that require them. For more information, see [Storage providers](durable-functions-storage-providers.md).
118
+
Both hosting models support the **[Durable Task Scheduler](./durable-task-scheduler/durable-task-scheduler.md)** as a state storage backend, which provides both state storage and extra monitoring capabilities. Durable Functions also supports several bring-your-own (BYO) storage options for scenarios that require them. For more information, see [Storage providers](durable-functions-storage-providers.md).
115
119
116
120
## More considerations
117
121
118
-
When choosing between the two programming models, consider the following factors:
122
+
When choosing between the two hosting models, consider the following factors:
| You want built-in Azure Functions triggers (HTTP, Queue, Timer, etc.). | You want full control over your container and its entry points. |
123
-
| You're already familiar with the Azure Functions programming model. | You prefer a lightweight SDK without the Azure Functions runtime overhead. |
127
+
| You're already familiar with the Azure Functions hosting model. | You prefer a lightweight SDK without the Azure Functions runtime overhead. |
124
128
| You want Azure portal integration for function management. | You want the same code to be portable across container platforms (AKS, App Service, etc.). |
125
129
| You need to choose from [multiple storage backends](durable-functions-storage-providers.md). | You have existing non-Functions application code to integrate with. |
126
130
| You need **serverless, event-driven apps** that scale to zero. | You need **always-on, low-latency workloads** without cold start delays. |
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-functions-overview.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
@@ -15,7 +15,7 @@ ms.subservice: durable
15
15
Durable Functions is an extension of [Azure Functions](../functions-overview.md) that lets you build stateful workflows in a serverless environment by writing orchestrator, activity, and entity functions in code. The Durable Functions runtime manages state, checkpoints, retries, and recovery so your workflows can run reliably for long periods.
16
16
17
17
> [!TIP]
18
-
> Not sure whether to use Durable Functions or the standalone Durable Task SDKs? See [Choose your hosting option](choose-orchestration-framework.md).
18
+
> Not sure whether to use Durable Functions or the standalone Durable Task SDKs? See [Choose your hosting model](choose-orchestration-framework.md).
19
19
20
20
## Supported languages
21
21
@@ -48,6 +48,6 @@ After your first workflow is running, explore [Task hubs](durable-functions-task
48
48
> [Create your first durable function (C#)](durable-functions-isolated-create-first-csharp.md)
49
49
50
50
-[What is Durable Task?](what-is-durable-task.md)
51
-
-[Choose your hosting option](choose-orchestration-framework.md)
51
+
-[Choose your hosting model](choose-orchestration-framework.md)
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-orchestration-versioning.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -437,7 +437,7 @@ Here's what to expect when you deploy your updated orchestrator function with th
437
437
-**Old worker restrictions**: Old workers can process only the orchestrations with a version equal to or lower than the version specified in their own `defaultVersion` in `host.json`, because they aren't expected to have orchestrator code compatible with newer versions.
438
438
439
439
> [!NOTE]
440
-
> Orchestration versioning doesn't affect worker lifecycle. The Azure Functions platform manages worker setup and decommissioning based on regular rules depending on hosting options.
440
+
> Orchestration versioning doesn't affect worker lifecycle. The Azure Functions platform manages worker setup and decommissioning based on regular rules depending on hosting models.
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-task-scheduler/includes/function-app-integrated-creation.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ ms.date: 03/19/2025
7
7
8
8
1. Navigate to the Function app creation blade.
9
9
10
-
:::image type="content" source="../media/create-durable-task-scheduler/function-app-hosted-app-service.png" alt-text="Screenshot of hosting options for Function apps.":::
10
+
:::image type="content" source="../media/create-durable-task-scheduler/function-app-hosted-app-service.png" alt-text="Screenshot of hosting models for Function apps.":::
11
11
12
12
1. In the **Create Function App (Flex Consumption)** blade, fill in the information in the **Basics** tab.
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/quickstart-mssql.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -84,7 +84,7 @@ For more information about these functions, see [Durable Functions types and fea
84
84
> [!NOTE]
85
85
> If you already have an MSSQL-compatible database, you can skip this section and skip the next section on setting up a Docker-based local database.
86
86
87
-
Because the MSSQL backend is designed for portability, you have several options to set up your backing database. For example, you can set up an on-premises SQL Server instance, use a fully managed instance of [Azure SQL Database](/azure/azure-sql/database/sql-database-paas-overview), or use any other SQL Server-compatible hosting option.
87
+
Because the MSSQL backend is designed for portability, you have several options to set up your backing database. For example, you can set up an on-premises SQL Server instance, use a fully managed instance of [Azure SQL Database](/azure/azure-sql/database/sql-database-paas-overview), or use any other SQL Server-compatible hosting model.
88
88
89
89
You can also do local, offline development by using [SQL Server Express](https://www.microsoft.com/sql-server/sql-server-downloads) on your local Windows computer or use a [SQL Server Docker image](https://hub.docker.com/_/microsoft-mssql-server) running in a Docker container.
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/what-is-durable-task.md
+11-6Lines changed: 11 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,10 @@ Durable Task is Microsoft's technology for building workflows and orchestrations
18
18
19
19
Workflows can run for hours, days, or even months, reliably resuming from the last completed step after any crash, restart, or redeployment. Common use cases include distributed transactions, multi-agent AI orchestration, data processing pipelines, and infrastructure management.
20
20
21
-
Durable Task encompasses the **[Durable Task SDKs](./choose-orchestration-framework.md)** for self-hosted applications, **[Durable Functions](durable-functions-overview.md)** for serverless hosting on Azure Functions, and the **[Durable Task Scheduler](./durable-task-scheduler/durable-task-scheduler.md)** - a fully managed backend service purpose-built for durable workloads.
21
+
Durable Task encompasses:
22
+
- The **[Durable Task SDKs](./durable-task-scheduler/durable-task-overview.md)** for self-hosted applications.
23
+
- The **[Durable Functions](durable-functions-overview.md)** for serverless hosting on Azure Functions
24
+
- The **[Durable Task Scheduler](./durable-task-scheduler/durable-task-scheduler.md)**, a fully managed backend service purpose-built for durable workloads.
22
25
23
26
> [!NOTE]
24
27
> *Durable execution* is an industry-wide approach to making ordinary code fault-tolerant by automatically persisting its progress. Durable Task is Microsoft's implementation of durable execution.
@@ -51,7 +54,7 @@ Durable Task supports multiple programming languages across two hosting models:
51
54
> [!NOTE]
52
55
> [Go](https://github.com/microsoft/durabletask-go) is also available as a community-supported, open-source SDK for self-hosted scenarios, but is currently in experimental stages and not yet recommended for production use.
53
56
54
-
For guidance on choosing between Azure Functions and self-hosted, see [Choose your hosting option](./choose-orchestration-framework.md).
57
+
For guidance on choosing between Azure Functions and self-hosted, see [Choose your hosting model](./choose-orchestration-framework.md).
55
58
56
59
## Architectural components
57
60
@@ -61,7 +64,7 @@ Durable Task has two main layers: an **SDK** that you use in your application co
61
64
62
65
The Durable Task SDK is what you use to author orchestrations, activities, and entities in your application code. It internally handles the mechanics of durable execution - replaying orchestrator functions, managing local execution context, and communicating with the state storage backend. Durable Task offers several SDK options for the different languages and hosting models mentioned previously.
63
66
64
-
For guidance on choosing between these options, see [Choose your hosting option](./choose-orchestration-framework.md).
67
+
For guidance on choosing between these options, see [Choose your hosting model](./choose-orchestration-framework.md).
65
68
66
69
### State storage backend
67
70
@@ -91,7 +94,9 @@ The following video highlights the benefits of Azure Durable Functions:
91
94
## Next steps
92
95
93
96
> [!div class="nextstepaction"]
94
-
> [Choose your hosting option](./choose-orchestration-framework.md)
97
+
> [Choose your hosting model](./choose-orchestration-framework.md)
95
98
96
-
> [!div class="nextstepaction"]
97
-
> [Learn about the Durable Task Scheduler](./durable-task-scheduler/durable-task-scheduler.md)
0 commit comments