Skip to content

Commit d5c5f93

Browse files
Merge pull request #299434 from hhunter-ms/release-dts
Copyedit/accuracy pass
2 parents a2b38f9 + 94512e5 commit d5c5f93

17 files changed

+395
-315
lines changed

articles/azure-functions/durable/TOC.yml

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@
3535
- name: Create a Durable Functions app - Java
3636
displayName: get started, chaining
3737
href: quickstart-java.md
38-
- name: Create an app with Durable Task SDK and Durable Task Scheduler
39-
displayName: get started, durable task scheduler
40-
href: ./durable-task-scheduler/quickstart-portable-durable-task-sdks.md
4138
- name: Configure Durable Functions app with Durable Task Scheduler
4239
displayName: get started, durable task scheduler
4340
href: ./durable-task-scheduler/quickstart-durable-task-scheduler.md
44-
- name: Configure a container app with Durable Task SDK and Durable Task Scheduler
41+
- name: Create an app with Durable Task SDK and Durable Task Scheduler
42+
displayName: get started, durable task scheduler
43+
href: ./durable-task-scheduler/quickstart-portable-durable-task-sdks.md
44+
- name: Host a Durable Task SDK app on Azure Container Apps
4545
displayName: get started, durable task scheduler
4646
href: ./durable-task-scheduler/quickstart-container-apps-durable-task-sdk.md
4747
- name: Configure Durable Functions app with MSSQL
@@ -116,28 +116,24 @@
116116
href: ./durable-task-scheduler/durable-task-scheduler.md
117117
- name: Choosing an orchestration framework
118118
href: ./durable-task-scheduler/choose-orchestration-framework.md
119-
- name: Concepts
120-
items:
121-
- name: Identity
122-
href: ./durable-task-scheduler/durable-task-scheduler-identity.md
123-
- name: Monitoring dashboard
124-
href: ./durable-task-scheduler/durable-task-scheduler-dashboard.md
125-
- name: Auto-purge
126-
href: ./durable-task-scheduler/durable-task-scheduler-auto-purge.md
119+
- name: Create Durable Task Scheduler resources
120+
href: ./durable-task-scheduler/develop-with-durable-task-scheduler.md
121+
- name: Identity
122+
href: ./durable-task-scheduler/durable-task-scheduler-identity.md
123+
- name: Monitoring dashboard
124+
href: ./durable-task-scheduler/durable-task-scheduler-dashboard.md
125+
- name: Auto-purge
126+
href: ./durable-task-scheduler/durable-task-scheduler-auto-purge.md
127127
- name: Durable Functions
128128
items:
129129
- name: Throughput benchmark
130130
href: ./durable-task-scheduler/durable-task-scheduler-work-item-throughput.md
131-
- name: How-to guides
132-
items:
133-
- name: Create Durable Task Scheduler
134-
href: ./durable-task-scheduler/develop-with-durable-task-scheduler.md
131+
- name: Durable Task Scheduler in Durable Functions
132+
href: ./durable-task-scheduler/develop-with-durable-task-scheduler-functions.md
135133
- name: Durable Task SDKs
136134
items:
137-
- name: How-to guides
138-
items:
139-
- name: Autoscaling with the Durable Task SDKs in Azure Container Apps
140-
href: ./durable-task-scheduler/durable-task-scheduler-auto-scaling.md
135+
- name: Configure autoscale for Azure Container Apps hosting
136+
href: ./durable-task-scheduler/durable-task-scheduler-auto-scaling.md
141137
- name: Billing
142138
href: ./durable-task-scheduler/durable-task-scheduler-dedicated-sku.md
143139
- name: Troubleshoot
@@ -170,8 +166,8 @@
170166
items:
171167
- name: Durable Functions
172168
href: /python/api/azure-functions-durable/azure.durable_functions
173-
- name: Durable Task SDK
174-
href: /python/api/azure-functions-durable/azure.durable_functions #placeholder
169+
- name: Durable Task SDK - Management APIs
170+
href: /python/api/azure-mgmt-durabletask/azure.mgmt.durabletask
175171
- name: Java API
176172
items:
177173
- name: Durable Functions

articles/azure-functions/durable/durable-functions-mssql-container-apps-hosting.md

Lines changed: 178 additions & 120 deletions
Large diffs are not rendered by default.

articles/azure-functions/durable/durable-task-scheduler/choose-orchestration-framework.md

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,22 @@
22
title: Choosing an orchestration framework
33
description: Learn which orchestration framework works for your scenario.
44
ms.topic: conceptual
5-
ms.date: 05/05/2025
5+
ms.date: 05/06/2025
66
---
77

88
# Choosing an orchestration framework
99

10-
Azure offers two developer-oriented orchestration frameworks you can use to build apps: **Durable Task SDKs** and **Durable Functions**. In this article, you learn:
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.
11+
12+
In this article, you learn:
1113

1214
> [!div class="checklist"]
1315
> - The benefits of using an orchestration framework.
1416
> - Which framework works best for your scenario.
1517
1618
## Scenarios requiring orchestration
1719

18-
Application or orchestration patterns that benefit from the statefulness offered by an orchestration framework include:
20+
Application patterns that benefit from the Durable Task SDKs and Durable Functions include:
1921
- **Function chaining:** For executing sequential workflow steps in order, passing data between steps with data transformations at each step, and building pipelines where each activity builds on the previous one.
2022
- **Fan-out/fan-in:** For batch jobs, ETL (extract, transfer, and load), and any scenario that requires parallel processing.
2123
- **Human interactions:** For two-factor authentication, workflows that require human approval.
@@ -125,12 +127,16 @@ Walk through one of the following quickstarts to configure your applications to
125127
| **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. |
126128
| **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. |
127129

128-
## Limitations
129-
130-
- **The Durable Task Framework (DTFx) support**
131-
- 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**.
130+
131+
> [!NOTE]
132+
> 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**.
132133
133134
## Next steps
134135

135-
> [!div class="nextstepaction"]
136-
> [Learn more about the Durable Task Scheduler](./durable-task-scheduler.md)
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)
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
---
2+
title: Azure Functions Durable Task Scheduler in Durable Functions (preview)
3+
description: Learn how to develop with the Azure Functions Durable Task Scheduler for Durable Functions.
4+
ms.topic: how-to
5+
ms.date: 05/06/2025
6+
---
7+
8+
# Durable Task Scheduler in Durable Functions (preview)
9+
10+
The Azure Functions Durable Task Scheduler is a highly performant, fully managed backend provider for Durable Functions with an [out-of-the-box monitoring dashboard](./durable-task-scheduler-dashboard.md). Azure Functions extensions built into Durable Functions makes building event-driven scenarios easy. In this article, you learn how to:
11+
12+
> [!div class="checklist"]
13+
> * Create a scheduler and task hub.
14+
> * Configure identity-based authentication for your application to access Durable Task Scheduler.
15+
> * Monitor the status of your app and task hub on the Durable Task Scheduler dashboard.
16+
17+
Learn more about Durable Task Scheduler [features](./durable-task-scheduler.md#feature-highlights), [supported regions](./durable-task-scheduler.md#limitations-and-considerations), and [plans](./durable-task-scheduler.md#limitations-and-considerations).
18+
19+
## Create a scheduler and task hub
20+
21+
You can create a scheduler and task hub on Azure portal via two ways:
22+
- **Function app integrated creation:** *(recommended)* automatically creates the managed identity resource and RBAC assignment, plus configures required environment variables for your app to access Durable Task Scheduler.
23+
- **Top-level creation:** Requires you to [manually assign RBAC permission](#configure-identity-based-authentication-for-app-to-access-durable-task-scheduler) to configure scheduler access for your app.
24+
25+
> [!NOTE]
26+
> Durable Task Scheduler currently supports apps hosted in the **App Service** and **Functions Premium** plans, so this experience is available only when either of these plan types is picked.
27+
28+
# [Function app integrated creation](#tab/function-app-integrated-creation)
29+
30+
You can create a scheduler and a task hub as part of the Function app creation on Azure portal.
31+
32+
[!INCLUDE [function-app-integrated-creation](./includes/function-app-integrated-creation.md)]
33+
34+
# [Top-level creation](#tab/top-level-creation)
35+
36+
1. In the Azure portal, search for **Durable Task Scheduler** and select it from the results.
37+
38+
:::image type="content" source="media/create-durable-task-scheduler/search-for-durable-task-scheduler.png" alt-text="Screenshot of searching for the Durable Task Scheduler in the portal.":::
39+
40+
1. Click **Create** to open the **Azure Functions: Durable Task Scheduler (preview)** pane.
41+
42+
:::image type="content" source="media/create-durable-task-scheduler/top-level-create-form.png" alt-text="Screenshot of the create page for the Durable Task Scheduler.":::
43+
44+
1. Fill out the fields in the **Basics** tab. Click **Review + create**. Once the validation passes, click **Create**.
45+
46+
Deployment may take around 15 to 20 minutes.
47+
48+
---
49+
50+
## View all Durable Task Scheduler resources in a subscription
51+
52+
In the Azure portal, search for **Durable Task Scheduler** and select it from the results.
53+
54+
:::image type="content" source="media/create-durable-task-scheduler/search-for-durable-task-scheduler.png" alt-text="Screenshot of searching for the Durable Task Scheduler service in the portal.":::
55+
56+
You can see the list of scheduler resources created in all subscriptions you have access to.
57+
58+
## View all task hubs in a Durable Task Scheduler
59+
60+
You can see all the task hubs created in a scheduler on the **Overview** of the resource on Azure portal.
61+
62+
:::image type="content" source="media/create-durable-task-scheduler/durable-task-scheduler-overview-portal.png" alt-text="Screenshot of overview tab of Durable Task Scheduler in the portal.":::
63+
64+
## Delete the scheduler and task hub
65+
66+
1. Open the scheduler resource on Azure portal and click **Delete**:
67+
68+
:::image type="content" source="media/create-durable-task-scheduler/durable-task-scheduler-delete-portal.png" alt-text="Screenshot of scheduler resource in the portal highlighting delete button.":::
69+
70+
1. Find the scheduler with the task hub you want to delete, then click into that task hub. Click **Delete**:
71+
72+
:::image type="content" source="media/create-durable-task-scheduler/task-hub-delete-portal.png" alt-text="Screenshot of task hub resource in the portal highlighting delete button.":::
73+
74+
## Configure identity-based authentication for app to access Durable Task Scheduler
75+
76+
Durable Task Scheduler **only** supports either *user-assigned* or *system-assigned* managed identity authentication. **User-assigned identities are recommended,** as they aren't tied to the lifecycle of the app and can be reused after the app is deprovisioned.
77+
78+
If you haven't already, [configure managed identity for your Durable Functions app](./durable-task-scheduler-identity.md).
79+
80+
## Access the Durable Task Scheduler dashboard
81+
82+
[Assign the required role to your *developer identity (email)*](./durable-task-scheduler-dashboard.md#access-the-durable-task-scheduler-dashboard) to gain access to the Durable Task Scheduler dashboard.
83+
84+
## Auto scaling in Functions Premium plan
85+
86+
For Durable Functions apps on the Functions Premium plan, you can enable autoscaling using the *Runtime Scale Monitoring* setting.
87+
88+
1. In the portal overview of your function app, navigate to **Settings** > **Configuration**.
89+
90+
1. Under the **Function runtime settings** tab, turn on **Runtime Scale Monitoring**.
91+
92+
:::image type="content" source="media/develop-with-durable-task-scheduler/runtime-scale-monitoring.png" alt-text="Screenshot of searching for Durable Task Scheduler in the portal.":::
93+
94+
You can also set autoscaling using the Azure CLI.
95+
96+
```azurecli
97+
az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.functionsRuntimeScaleMonitoringEnabled=1 --resource-type Microsoft.Web/sites
98+
```
99+
100+
## Limitations
101+
102+
- **Supported hosting plans:**
103+
104+
The Durable Task Scheduler currently only supports Durable Functions running on *Functions Premium* and *App Service* plans. For apps running on the Functions Premium plan, you must [enable the *Runtime Scale Monitoring* setting](#auto-scaling-in-functions-premium-plan) to get auto scaling of the app.
105+
106+
The *Consumption*, *Flex Consumption*, and *Azure Container App* hosting plans aren't yet supported when using the Durable Task Scheduler.
107+
108+
- **Migrating [task hub data](../durable-functions-task-hubs.md) across backend providers:**
109+
110+
Currently, migrating across providers isn't supported. Function apps that have existing runtime data need to start with a fresh, empty task hub after they switch to the Durable Task Scheduler. Similarly, the task hub contents that are created by using the scheduler resource can't be preserved if you switch to a different backend provider.
111+
112+
## Next steps
113+
114+
> [!div class="nextstepaction"]
115+
> [Run and deploy your Durable Functions app using the Durable Task Scheduler](./quickstart-durable-task-scheduler.md)

0 commit comments

Comments
 (0)