Skip to content

Commit 03af1c0

Browse files
committed
wrap up edits to overview
Signed-off-by: Hannah Hunter <[email protected]>
1 parent 0971dff commit 03af1c0

File tree

2 files changed

+37
-18
lines changed

2 files changed

+37
-18
lines changed

articles/azure-functions/durable-task-scheduler/TOC.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,14 @@
2323
href: durable-task-scheduler-dashboard.md
2424
- name: Durable Task Scheduler for Durable Functions
2525
items:
26-
- name: Develop
27-
href: develop-with-durable-task-scheduler.md
26+
- name: Concepts
27+
items:
28+
- name: Work item throughput
29+
href: durable-task-scheduler-work-item-throughput.md
30+
- name: How-to guides
31+
items:
32+
- name: Develop
33+
href: develop-with-durable-task-scheduler.md
2834
- name: Durable Task Scheduler for portable SDKs
2935
items:
3036
- name: Use the portable SDKs with Azure computes

articles/azure-functions/durable-task-scheduler/durable-task-scheduler.md

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Azure Functions Durable Task Scheduler (preview)
33
description: Learn about the characteristics of the Azure Functions Durable Task Scheduler backend.
44
ms.topic: conceptual
5-
ms.date: 04/10/2025
5+
ms.date: 04/11/2025
66
---
77

88
# Azure Functions Durable Task Scheduler (preview)
@@ -59,35 +59,46 @@ The Durable Task Scheduler runs in Azure as a separate resource from your app. T
5959

6060
Your apps connect to the scheduler resource via a gRPC connection, secured using TLS and authenticated by the app's identity. The endpoint address is in a format similar to `{scheduler-name}.{region}.durabletask.io`. For example, `myscheduler-123.westus2.durabletask.io`.
6161

62-
Work items are streamed from the scheduler to the app using a push model, removing the need for polling and improving end-to-end latency. Your apps can process multiple work items in parallel and send responses back to the scheduler when the corresponding orchestration, activity, or entity task is complete.
62+
Work items are streamed from the scheduler to the app using a push model, improving end-to-end latency and removing the need for polling. Your apps can process multiple work items in parallel and send responses back to the scheduler when the corresponding orchestration, activity, or entity task is complete.
6363

6464
### State management
6565

66-
The scheduler manages the state of orchestrations and entities internally. It doesn't require you to provide a separate storage account for state management. The internal state store is highly optimized for use with Durable Functions, allowing for better performance and reduced latency compared to BYO storage providers.
66+
The Durable Task Scheduler manages the state of orchestrations and entities internally, without a separate storage account for state management. The internal state store is highly optimized for use with Durable Functions and the portable SDKs, resulting in better durability and reliability and reduced latency.
6767

68-
The scheduler internally uses a combination of in-memory and persistent storage to manage state. The in-memory store is used for short-lived state, while the persistent store is used for recovery and for multi-instance query operations. This bespoke design, heavily inspired by the [Netherite storage architecture](https://www.vldb.org/pvldb/vol15/p1591-burckhardt.pdf), allows the scheduler to provide low-latency access to state while still ensuring durability and reliability.
68+
The scheduler uses a combination of in-memory and persistent internal storage to manage state.
69+
- The in-memory store is used for short-lived state.
70+
- The persistent store is used for recovery and for multi-instance query operations.
6971

7072
## Feature highlights
7173

74+
When you implement any of the Durable Task Scheduler orchestration frameworks, you benefit from several key highlights.
75+
7276
### Durable task scheduler dashboard
7377

74-
When a scheduler resource is created, a corresponding dashboard is provided out-of-the-box. The dashboard provides an overview of all orchestrations and entity instances and allows you to quickly filter by different criteria. You can easily gather data about an orchestration instance, such as status, duration, input/output, etc. You can also drill into an instance to get data about sub-orchestrations and activities.
78+
When a scheduler resource is created, a corresponding dashboard is provided out-of-the-box. The dashboard provides an overview of all orchestrations and entity instances and allows you to:
79+
- Quickly filter by different criteria.
80+
- Gather data about an orchestration instance, such as status, duration, input/output, etc.
81+
- Drill into an instance to get data about sub-orchestrations and activities.
7582

7683
Aside from monitoring, you can also perform management operations on the dashboard, such as pausing, terminating, or restarting an orchestration instance. For more information about the dashboard, see [Debug and manage orchestrations using the Durable Task Scheduler dashboard](./durable-task-scheduler-dashboard.md).
7784

78-
[Access to the dashboard](./develop-with-durable-task-scheduler.md#accessing-durable-task-scheduler-dashboard) is secured by identity and role-based access controls.
85+
Access to the dashboard is secured by identity and role-based access controls.
7986

8087
### Multiple task hubs
8188

82-
Durable function state is durably persisted in a *task hub*. A [task hub](../durable/durable-functions-task-hubs.md) is a logical container for orchestration and entity instances and provides a way to partition the state store. One scheduler instance allows for the creation of multiple task hubs, each of which can be used by different apps. Access to a task hub requires that the caller's identity has the required role-based access control (RBAC) permissions.
89+
State is durably persisted in a *task hub*. A [task hub](../durable/durable-functions-task-hubs.md) is a logical container for orchestration and entity instances and provides a way to partition the state store. With one scheduler instance, you can create multiple task hubs that can be used by different apps. To access a task hub, the caller's identity *must* have the required role-based access control (RBAC) permissions.
90+
91+
Creating multiple task hubs isolates different workloads that can be managed independently. For example, you can create a task hub for each environment (dev, test, prod) or for different teams within your organization.
8392

84-
Creating multiple task hubs allows you to isolate different workloads and manage them independently. For example, you can create a task hub for each environment (dev, test, prod) or for different teams within your organization. Creating multiple task hubs in a single scheduler instance is also a way to reduce costs, as you can share the same scheduler resources across multiple task hubs. However, task hubs under the same scheduler instance share the same resources, so if one task hub is heavily loaded, it might affect the performance of the other task hubs.
93+
Create these task hubs in a single scheduler instance as a way to reduce costs by sharing the same scheduler resources across multiple task hubs. Be aware that task hubs under the same scheduler instance share the same resources, so if one task hub is heavily loaded, it might affect the performance of the other task hubs.
8594

8695
### Emulator for local development
8796

88-
The [Durable Task Scheduler emulator](./quickstart-durable-task-scheduler.md#set-up-durable-task-scheduler-emulator) is a lightweight version of the scheduler backend that runs locally in a Docker container. It allows you to develop and test your Durable Function app without needing to deploy it to Azure. The emulator provides a local version of the management dashboard, so you can monitor and manage your orchestrations and entities just like you would in Azure.
97+
The [Durable Task Scheduler emulator](./quickstart-durable-task-scheduler.md#set-up-durable-task-scheduler-emulator) is a lightweight version of the scheduler backend that runs locally in a Docker container. With it, you can:
98+
- Develop and test your Durable Function app without needing to deploy it to Azure.
99+
- Monitor and manage your orchestrations and entities just like you would in Azure.
89100

90-
By default, the emulator exposes a single task hub named `default`. You can expose multiple task hubs by specifying the `DTS_TASK_HUB_NAMES` environment variable with a comma-separated list of task hub names when starting the emulator. For example, to enable two task hubs named `taskhub1` and `taskhub2`, you can run the following command:
101+
By default, the emulator exposes a single task hub named `default`. To expose multiple task hubs, specify the `DTS_TASK_HUB_NAMES` environment variable with a comma-separated list of task hub names when starting the emulator. For example, to enable two task hubs named `taskhub1` and `taskhub2`, you can run the following command:
91102

92103
```bash
93104
docker run -d -p 8080:8080 -e DTS_TASK_HUB_NAMES=taskhub1,taskhub2 mcr.microsoft.com/dts/dts-emulator:latest
@@ -96,13 +107,8 @@ docker run -d -p 8080:8080 -e DTS_TASK_HUB_NAMES=taskhub1,taskhub2 mcr.microsoft
96107
> [!NOTE]
97108
> The emulator internally stores orchestration and entity state in local memory, so it isn't suitable for production use.
98109
99-
100110
## Limitations and considerations
101111

102-
- **Supported hosting plans**: 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](./develop-with-durable-task-scheduler.md#auto-scaling-in-functions-premium-plan) to get auto scaling of the app.
103-
104-
The *Consumption*, *Flex Consumption*, and *Azure Container App* hosting plans aren't yet supported when using the Durable Task Scheduler.
105-
106112
- **Available regions:** Durable task scheduler resources can be created in a subset of Azure regions today. You can run the following command to get a list of the supported regions:
107113

108114
```bash
@@ -132,6 +138,13 @@ docker run -d -p 8080:8080 -e DTS_TASK_HUB_NAMES=taskhub1,taskhub2 mcr.microsoft
132138
> [!NOTE]
133139
> Feature availability is subject to change as the Durable Task Scheduler backend approaches general availability. To report problems or request new features, submit an issue in the [Durable Task Scheduler samples GitHub repository](https://github.com/Azure-Samples/Durable-Task-Scheduler/).
134140
141+
### Specific to Durable Task Scheduler for Durable Functions
142+
143+
- **Supported hosting plans**: 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](./develop-with-durable-task-scheduler.md#auto-scaling-in-functions-premium-plan) to get auto scaling of the app.
144+
145+
The *Consumption*, *Flex Consumption*, and *Azure Container App* hosting plans aren't yet supported when using the Durable Task Scheduler.
146+
135147
## Next steps
136148

137-
Try out the [Durable Functions quickstart sample](quickstart-durable-task-scheduler.md).
149+
> [!div class="nextstepaction"]
150+
> [Choose your orchestration framework](./durable-task-scheduler-framework.md)

0 commit comments

Comments
 (0)