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/durable-task-scheduler/choose-orchestration-framework.md
+16-28Lines changed: 16 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ ms.date: 05/06/2025
7
7
8
8
# Choosing an orchestration framework
9
9
10
-
Azure offers two developer-oriented orchestration frameworks you can use to build apps: **Durable Task SDKs** and **Durable Functions**. These frameworks simplify the implementation of application patterns involving complex, long-running, and multi-step operations by providing built-in state persistence and automatic retries. These frameworks ensure durable execution, meaning code can continue executing even with interruptions or infrastructure failures. Since all state information is persisted, execution continues in another process or machine from the point of failure.
10
+
Azure offers two developer-oriented orchestration frameworks you can use to build apps: **Durable Task SDKs** and **Durable Functions**. These frameworks simplify the implementation of application patterns involving complex, long-running, and multi-step operations by providing built-in state persistence and automatic retries. These frameworks ensure _durable execution_, meaning when there are interruptions or infrastructure failures, execution can continue in another process or machine since all state information is persisted.
11
11
12
12
In this article, you learn:
13
13
@@ -42,20 +42,13 @@ In this scenario, you created an intelligent trip planner. The planner:
42
42
43
43
You can implement an agent for each task and orchestrate the steps for agent invocation as a workflow.
44
44
45
-
## Orchestration framework options
46
-
47
-
Since orchestrations involve multiple or long-running steps, it's important for orchestration frameworks to maintain application statefulness so that execution can continue from the point of failure rather than the beginning. One way to ensure this statefulness is to continuously checkpoint orchestration states to a persistence layer while it runs.
48
-
49
-
Both Durable Functions and the Durable Task SDKs maintain statefulness while also handling automatic retries while you orchestrate your workflows without the burden of architecting for fault tolerance.
50
-
51
-
> [!NOTE]
52
-
> Durable Functions and the Durable Task SDKs are code-centric and available in various popular programming languages.
45
+
## Orchestration framework options
53
46
54
47
### Durable Functions
55
48
56
49
As a feature of Azure Functions, [Durable Functions](../durable-functions-overview.md) inherits numerous assets, such as:
57
50
- Integrations with other Azure services through the Functions extensions
58
-
- Local development experience
51
+
- Local development experience
59
52
- Serverless pricing model, and more.
60
53
61
54
Aside from running on the Functions platform, Durable Functions apps can also be run on Azure App Service and Azure Container Apps.
@@ -72,12 +65,12 @@ Durable Functions persists states in a [storage backend](../durable-functions-st
72
65
73
66
#### When to use Durable Functions
74
67
75
-
Consider using Durable Functions if you need to build event-driven apps with workflows. The Azure Functions extensions that provide integrations with other Azure services makes building event-driven scenarios easy. For example, with Durable Functions:
68
+
Consider using Durable Functions if you need to build event-driven apps with workflows. The Azure Functions extensions provide integrations with other Azure services make building event-driven scenarios easy. For example, with Durable Functions:
76
69
77
-
- You can easily start a Durable Functions orchestration when a message comes into your Azure Service Bus or a file uploads to Azure Blob Storage.
70
+
- You can easily start an orchestration when a message comes into your Azure Service Bus or a file uploads to Azure Blob Storage.
78
71
- You can easily build an orchestration to start periodically or in reaction to an HTTP request with the Azure Functions timer and HTTP trigger, respectively.
79
72
- Your solution benefits from using Durable Entities, since the Durable Task SDKs don't provide this feature.
80
-
- You're already writing Azure Function apps and realized that you need workflow. Since its programming model is similar to Functions, you can accelerate your developer with Durable Functions.
73
+
- You're already writing Azure Function apps and realized that you need workflow. Since its programming model is similar to Functions, you can accelerate your development with Durable Functions.
81
74
82
75
#### Try it out
83
76
@@ -88,15 +81,15 @@ Walk through one of the following quickstarts or scenarios to configure your fun
88
81
|| Quickstart | Description |
89
82
| - | ---------- | ----------- |
90
83
|**Durable Task Scheduler (preview)**|[Configure a durable functions app with Durable Task Scheduler](./quickstart-durable-task-scheduler.md)| Configure a "hello world" Durable Functions app to use the Durable Task Scheduler as the backend storage provider, test locally, and publish to Azure. |
91
-
|**Azure Storage**| Create a durable functions app with Azure Storage backend:<br>- [.NET](../durable-functions-isolated-create-first-csharp.md)<br>- [Python](../quickstart-python-vscode.md)<br>- [JavaScript/TypeScript](../quickstart-js-vscode.md)<br>- [Java](../quickstart-java.md)<br>- [PowerShell](../quickstart-powershell-vscode.md)| Locally create and test a "hello world" Durable Functions app and deploy to Azure. |
92
-
|**MSSQL**|[Configure a durable functions app with MSSQL](../quickstart-mssql.md)|Using an existing "hello world" Durable Functions app, configure the MSSQL backend storage provider, test locally, and publish to Azure. |
84
+
|**Azure Storage**| Create a "hello world" Durable Functions app with Azure Storage backend:<br>- [.NET](../durable-functions-isolated-create-first-csharp.md)<br>- [Python](../quickstart-python-vscode.md)<br>- [JavaScript/TypeScript](../quickstart-js-vscode.md)<br>- [Java](../quickstart-java.md)<br>- [PowerShell](../quickstart-powershell-vscode.md)| Locally create and test a "hello world" Durable Functions app and deploy to Azure. |
85
+
|**MSSQL**|[Configure a durable functions app with MSSQL](../quickstart-mssql.md)|Create a "hello world" Durable Functions app configured to use the MSSQL backend, test locally, and publish to Azure. |
93
86
94
87
##### Samples
95
88
96
89
|| Sample | Description |
97
90
| - | ---------- | ----------- |
98
-
|**Order processing workflow**| Create an order processing workflow with Durable Functions with Azure Storage:<br>- [.NET](/samples/azure-samples/durable-functions-order-processing/durable-func-order-processing/)<br>- [Python](/samples/azure-samples/durable-functions-order-processing-python/durable-func-order-processing-py/)|Configure a "hello world" Durable Functions app to use the Durable Task Scheduler as the backend storage provider, test locally, and publish to Azure. |
99
-
|**Intelligent PDF summarizer**| Create an intelligent application using Azure Durable Functions, Azure Storage, Azure Developer CLI, and more:<br>- [.NET](/samples/azure-samples/intelligent-pdf-summarizer-dotnet/durable-func-pdf-summarizer-csharp/)<br>- [Python](/samples/azure-samples/intelligent-pdf-summarizer/durable-func-pdf-summarizer/)|Locally create and test a "hello world" Durable Functions app and deploy to Azure.|
91
+
|**Order processing workflow**| Create an order processing workflow with Durable Functions using Azure Storage backend:<br>- [.NET](/samples/azure-samples/durable-functions-order-processing/durable-func-order-processing/)<br>- [Python](/samples/azure-samples/durable-functions-order-processing-python/durable-func-order-processing-py/)|This sample demonstrates using Durable Functions to implement an order processing workflow that includes checking inventory, processing payment, and notifying customer. |
92
+
|**Intelligent PDF summarizer**| Create an intelligent application using Azure Durable Functions, Azure Storage, Azure Developer CLI, and more:<br>- [.NET](/samples/azure-samples/intelligent-pdf-summarizer-dotnet/durable-func-pdf-summarizer-csharp/)<br>- [Python](/samples/azure-samples/intelligent-pdf-summarizer/durable-func-pdf-summarizer/)|This sample demontrates using Durable Functions to coordinate the steps for processing and summarizing a PDF. |
100
93
101
94
### Durable Task SDKs with Durable Task Scheduler (preview)
102
95
@@ -106,8 +99,8 @@ The Durable Task SDKs are client SDKs that must be used with the Durable Task Sc
106
99
- Azure App Service
107
100
- Virtual Machines (VMs) on-premises
108
101
109
-
The [Durable Task Scheduler](./durable-task-scheduler.md) (currently in preview) plays the role of both the orchestration engine and the storage backend for orchestration state persistence. The Azure-managed Durable Task Scheduler:
110
-
-Eliminates management overhead
102
+
The [Durable Task Scheduler](./durable-task-scheduler.md) (currently in preview) plays the role of both the orchestration engine and the storage backend for orchestration state persistence. The Durable Task Scheduler:
103
+
-Is fully managed by Azure, removing management overhead
111
104
- Provides high orchestration throughput
112
105
- Offers an out-of-the-box dashboard for orchestration monitoring and debugging
113
106
- Includes a local emulator
@@ -116,7 +109,7 @@ The [Durable Task Scheduler](./durable-task-scheduler.md) (currently in preview)
116
109
117
110
If your app only needs workflows, the Durable Task SDKs provide a lightweight and relatively unopinionated programming model for authoring workflows.
118
111
119
-
When you need to run apps on Azure Kubernetes Services or VMs on-premises with official Microsoft support. While Durable Functions can be run on these platforms as well, there's no official support.
112
+
When you need to run apps on Azure Kubernetes Services or VMs on-premises with official Microsoft support, you may also want to consider using the Durable Task SDKs. While Durable Functions can be run on these platforms as well, there's no official support.
120
113
121
114
#### Try it out
122
115
@@ -125,18 +118,13 @@ Walk through one of the following quickstarts to configure your applications to
125
118
|| Quickstart | Description |
126
119
| - | ---------- | ----------- |
127
120
|**Local development quickstart**|[Create an app with Durable Task SDKs and Durable Task Scheduler](./quickstart-portable-durable-task-sdks.md) using either the .NET, Python, or Java SDKs. | Run a fan-in/fan-out orchestration locally using the Durable Task Scheduler emulator and review orchestration history using the dashboard. |
128
-
|**Deploy to Azure Container Apps using Azure Developer CLI**|[Configure Durable Task SDKs in your container app with Azure Functions Durable Task Scheduler][./quickstart-container-apps-durable-task-sdk.md]|Deploy a function chaining pattern solution using the Azure Developer CLI. |
121
+
|**Hosting in Azure Container Apps**|[Deploy a Durable Task SDK app to Azure Container Apps](./quickstart-container-apps-durable-task-sdk.md)|Quickly deploy a "hello world" Durable Task SDK app to Azure Container Apps using the Azure Developer CLI. |
129
122
130
123
131
124
> [!NOTE]
132
125
> The Durable Task Framework (DTFx) is an open-source .NET orchestration framework similar to the .NET Durable Task SDK. While it *can* be used to build apps that run on platforms like Azure Kubernetes Services, **DTFx doesn't receive official Microsoft support**.
133
126
134
127
## Next steps
135
128
136
-
For Durable Task Scheduler for Durable Functions:
137
-
-[Quickstart: Configure a Durable Functions app to use Azure Functions Durable Task Scheduler](./quickstart-durable-task-scheduler.md)
138
-
-[Develop with the Azure Functions Durable Task Scheduler](./develop-with-durable-task-scheduler.md)
139
-
140
-
For Durable Task Scheduler for the Durable Task SDKs:
141
-
-[Quickstart: Create an app with Durable Task SDK and Durable Task Scheduler](./quickstart-portable-durable-task-sdks.md)
142
-
-[Quickstart: Configure a container app with Durable Task SDK and Durable Task Scheduler](./quickstart-container-apps-durable-task-sdk.md)
129
+
-[Durable Functions types and features](../durable-functions-types-features-overview.md)
130
+
-[Configure managed identity for Durable Task Scheduler](./durable-task-scheduler-identity.md)
0 commit comments