Skip to content

Commit 53cfbad

Browse files
committed
acrolinx blockers
Signed-off-by: Hannah Hunter <[email protected]>
1 parent 883b0ae commit 53cfbad

8 files changed

+44
-42
lines changed

articles/azure-functions/durable/durable-functions-storage-providers.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ms.author: azfuncdf
1010

1111
# Durable Functions storage providers
1212

13-
Durable Functions is a set of Azure Functions triggers and bindings that are internally powered by the [Durable Task Framework](https://github.com/Azure/durabletask) (DTFx). DTFx supports various backend storage providers, including the Azure Storage provider used by Durable Functions. Starting in Durable Functions **v2.5.0**, users can configure their function apps to use DTFx storage providers other than the Azure Storage provider.
13+
Durable Functions is a set of Azure Functions triggers and bindings that are internally powered by the [Durable Task Framework](https://github.com/Azure/durabletask) (DTFx). DTFx supports various backend storage providers, including the Azure Storage provider used by Durable Functions. As of Durable Functions **v2.5.0**, users can configure their function apps to use DTFx storage providers other than the Azure Storage provider.
1414

1515
> [!NOTE]
1616
> The default Azure Storage provider for Durable Functions is the easiest to use since it requires no extra configuration. However, there are cost, scalability, and data management tradeoffs that may favor the use of an alternate backend provider.
@@ -22,11 +22,11 @@ Durable Functions supports two types of backend providers: "Bring your own (BYO)
2222
2323
## <a name="dts"></a>Durable task scheduler (preview)
2424

25-
The durable task scheduler is a fuly managed, high performance backend provider for Durable Functions. It was designed and built from scratch with help from Microsoft Research. This new provider aims to provide the best user experience in aspects such as management, observability, performance, and security.
25+
The durable task scheduler is a fully managed, high performance backend provider for Durable Functions. It was designed and built from scratch with help from Microsoft Research. This new provider aims to provide the best user experience in aspects such as management, observability, performance, and security.
2626

2727
The key benefits of the durable task scheduler include:
2828

29-
* Significantly lower management and operation overhead compared to BYO backend providers
29+
* Lower management and operation overhead compared to BYO backend providers
3030
* First-class observability and management [dashboard](./durable-task-scheduler/durable-task-scheduler-dashboard.md) provided out-of-the-box.
3131
* Supports the highest throughput of all backends today.
3232
* Support for authentication using managed identity.
@@ -50,15 +50,15 @@ The key benefits of the Azure Storage provider include:
5050
The source code for the DTFx components of the Azure Storage storage provider can be found in the [Azure/durabletask](https://github.com/Azure/durabletask/tree/main/src/DurableTask.AzureStorage) GitHub repo.
5151

5252
> [!NOTE]
53-
> Standard general purpose Azure Storage accounts are required when using the Azure Storage provider. All other storage account types are not supported. We highly recommend using legacy v1 general purpose storage accounts because the newer v2 storage accounts can be significantly more expensive for Durable Functions workloads. For more information on Azure Storage account types, see the [Storage account overview](../../storage/common/storage-account-overview.md) documentation.
53+
> Standard general purpose Azure Storage accounts are required when using the Azure Storage provider. All other storage account types are not supported. We highly recommend using legacy v1 general purpose storage accounts because the newer v2 storage accounts can be more expensive for Durable Functions workloads. For more information on Azure Storage account types, see the [Storage account overview](../../storage/common/storage-account-overview.md) documentation.
5454
5555
## <a name="netherite"></a>Netherite
5656

57-
The Netherite storage backend was designed and developed by [Microsoft Research](https://www.microsoft.com/research). It uses [Azure Event Hubs](../../event-hubs/event-hubs-about.md) and the [FASTER](https://www.microsoft.com/research/project/faster/) database technology on top of [Azure Page Blobs](../../storage/blobs/storage-blob-pageblob-overview.md). The design of Netherite enables significantly higher-throughput processing of orchestrations and entities compared to other providers. In some benchmark scenarios, throughput was shown to increase by more than an order of magnitude when compared to the default Azure Storage provider.
57+
The Netherite storage backend was designed and developed by [Microsoft Research](https://www.microsoft.com/research). It uses [Azure Event Hubs](../../event-hubs/event-hubs-about.md) and the [FASTER](https://www.microsoft.com/research/project/faster/) database technology on top of [Azure Page Blobs](../../storage/blobs/storage-blob-pageblob-overview.md). The design of Netherite enables higher-throughput processing of orchestrations and entities compared to other providers. In some benchmark scenarios, throughput was shown to increase by more than an order of magnitude when compared to the default Azure Storage provider.
5858

5959
The key benefits of the Netherite storage provider include:
6060

61-
* Significantly higher throughput at lower cost compared to other storage providers.
61+
* Higher throughput at lower cost compared to other storage providers.
6262
* Supports price-performance optimization, allowing you to scale-up performance as-needed.
6363
* Supports up to 32 data partitions with Event Hubs Basic and Standard SKUs.
6464
* More cost-effective than other providers for high-throughput workloads.

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

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ title: Develop with the Azure Functions durable task scheduler (preview)
33
description: Learn how to develop with the Azure Functions durable task scheduler and task hub resources
44
author: lilyjma
55
ms.topic: how-to
6-
ms.date: 03/17/2025
6+
ms.date: 03/19/2025
77
ms.author: jiayma
88
ms.reviewer: azfuncdf
99
zone_pivot_groups: dts-devexp
1010
---
1111

1212
# Develop with the Azure Functions durable task scheduler (preview)
1313

14-
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). In this article, you'll learn how to:
14+
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). In this article, you learn how to:
1515

1616
> [!div class="checklist"]
1717
> * Create a scheduler and task hub.
@@ -28,7 +28,7 @@ Learn more about durable task scheduler [features](./durable-task-scheduler.md#f
2828

2929
## Set up the CLI
3030

31-
1. Login to the Azure CLI and make sure you have the latest installed.
31+
1. Log in to the Azure CLI and make sure you have the latest installed.
3232

3333
```azurecli
3434
az login
@@ -41,7 +41,7 @@ Learn more about durable task scheduler [features](./durable-task-scheduler.md#f
4141
az extension add --name durabletask
4242
```
4343
44-
1. If you've already installed the durable task scheduler CLI extension, upgrade to the latest version.
44+
1. If you already installed the durable task scheduler CLI extension, upgrade to the latest version.
4545
4646
```azurecli
4747
az extension add --upgrade --name durabletask
@@ -62,7 +62,7 @@ Learn more about durable task scheduler [features](./durable-task-scheduler.md#f
6262
docker run -itP mcr.microsoft.com/dts/dts-emulator:v0.0.5
6363
```
6464

65-
The command above exposes a single task hub named `default`. If you need more than one task hub, you can set the environment variable `DTS_TASK_HUB_NAMES` on the container to a comma-delimited list of task hub names like below:
65+
This command exposes a single task hub named `default`. If you need more than one task hub, you can set the environment variable `DTS_TASK_HUB_NAMES` on the container to a comma-delimited list of task hub names like in the following command:
6666

6767
```bash
6868
docker run -itP -e DTS_TASK_HUB_NAMES=taskhub1,taskhub2,taskhub3 mcr.microsoft.com/dts/dts-emulator:v0.0.5
@@ -194,7 +194,7 @@ You can create a scheduler and a task hub as part of the Function app creation o
194194
az durabletask scheduler list --subscription <SUBSCRIPTION_ID>
195195
```
196196

197-
1. You can narrow results down to a specific resource group by adding the `--resource-group` flag.
197+
1. You can narrow down results to a specific resource group by adding the `--resource-group` flag.
198198

199199
```azurecli
200200
az durabletask scheduler list --subscription <SUBSCRIPTION_ID> --resource-group <RESOURCE_GROUP_NAME>
@@ -264,18 +264,18 @@ You can see all the task hubs created in a scheduler on the **Overview** of the
264264

265265
## Configure identity-based authentication for app to access durable task scheduler
266266

267-
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 de-provisioned.
267+
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.
268268
269269
The following are the durable task scheduler related roles you can grant to an identity:
270270
271271
- **Durable Task Data Contributor**: Role for all data access operations. This role is a superset of all other roles.
272272
- **Durable Task Worker**: Role used by worker applications to interact with the durable task scheduler. Assign this role if your app is used *only* for processing orchestrations, activities, and entities.
273-
- **Durable Task Data Reader**: Role to read all durable task scheduler data. Assign this role if you only need listing of orchestrations and entities payloads.
273+
- **Durable Task Data Reader**: Role to read all durable task scheduler data. Assign this role if you only need a list of orchestrations and entities payloads.
274274
275275
> [!NOTE]
276276
> Most durable functions apps would require the Durable Task Data Contributor role.
277277
278-
The sections below demonstrate how to grant permissions to an identity resource and configure your durable functions app to use the identity for access to schedulers and task hubs.
278+
The following sections demonstrate how to grant permissions to an identity resource and configure your durable functions app to use the identity for access to schedulers and task hubs.
279279
280280
### Assign RBAC (role-based access control) to managed identity resource
281281
@@ -384,7 +384,7 @@ Now that the identity has the required RBAC to access durable task scheduler, yo
384384
385385
Add these two environment variables to app setting:
386386
- `TASKHUB_NAME`: name of task hub
387-
- `DURABLE_TASK_SCHEDULER_CONNECTION_STRING`: the format of the string is `"Endpoint={scheduler point};Authentication=ManagedIdentity;ClientID={client id}"`, where *endpoint* is the scheduler endpoint and *client id* is the identity's client ID.
387+
- `DURABLE_TASK_SCHEDULER_CONNECTION_STRING`: the format of the string is `"Endpoint={scheduler point};Authentication=ManagedIdentity;ClientID={client id}"`, where `Endpoint` is the scheduler endpoint and `client id` is the identity's client ID.
388388

389389
::: zone pivot="az-cli"
390390

@@ -395,7 +395,7 @@ Add these two environment variables to app setting:
395395
az durabletask scheduler show --resource-group RESOURCE_GROUP_NAME --name DTS_NAME --query 'properties.endpoint' --output tsv
396396
```
397397

398-
To get client id of managed identity.
398+
To get the client ID of managed identity.
399399
```azurecli
400400
az identity show --name MANAGED_IDENTITY_NAME --resource-group RESOURCE_GROUP_NAME --query 'clientId' --output tsv
401401
```
@@ -434,7 +434,7 @@ Add these two environment variables to app setting:
434434

435435
## Accessing durable task scheduler dashboard
436436

437-
First, follow instructions below to gain access to the [durable task scheduler dashboard](./durable-task-scheduler-dashboard.md) by assigning the required role to your *developer identity (email)*. After granting access, go to `https://dashboard.durabletask.io/` and fill out the required information about your scheduler and task hub to see the dashboard.
437+
Assign the required role to your *developer identity (email)* to gain access to the [durable task scheduler dashboard](./durable-task-scheduler-dashboard.md).
438438

439439
::: zone pivot="az-cli"
440440

@@ -493,6 +493,8 @@ First, follow instructions below to gain access to the [durable task scheduler d
493493
}
494494
```
495495

496+
1. After granting access, go to `https://dashboard.durabletask.io/` and fill out the required information about your scheduler and task hub to see the dashboard.
497+
496498
::: zone-end
497499

498500
::: zone pivot="az-portal"

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ ms.date: 03/17/2025
77

88
# Debug and manage orchestrations using the Azure Functions durable task scheduler dashboard (preview)
99

10-
Observe, manage, and debug your task hub or scheduler's orchestations effectively using the durable task scheduler dashboard. The dashboard is available when you run the [durable task scheduler emulator](./durable-task-scheduler.md#emulator-for-local-development) locally or create a scheduler resource on Azure.
10+
Observe, manage, and debug your task hub or scheduler's orchestrations effectively using the durable task scheduler dashboard. The dashboard is available when you run the [durable task scheduler emulator](./durable-task-scheduler.md#emulator-for-local-development) locally or create a scheduler resource on Azure.
1111
- **Running locally** doesn't require authentication.
1212
- **Creating a scheduler resource on Azure** requires that you [assign the *Durable Task Data Contributor* role to your identity](./develop-with-durable-task-scheduler.md#accessing-durable-task-scheduler-dashboard). You can then access the dashboard via either:
1313
- The task hub's dashboard endpoint URL in the Azure portal
14-
- Navigate to `https://dashboard.durabletask.io/` and your task hub endpoint to connect to it.
14+
- Navigate to `https://dashboard.durabletask.io/` combined with your task hub endpoint.
1515

1616
## Monitor orchestration progress and execution history
1717

@@ -25,9 +25,9 @@ View orchestration inputs and outputs:
2525

2626
## Detailed view of orchestration execution
2727

28-
You can drill into orchestration instances to view execution details and activity progress, which can help in diagnosing problems or gaining visibility into the status of an orchestration.
28+
You can drill into orchestration instances to view execution details and activity progress. This view helps you diagnose problems or gain visibility into the status of an orchestration.
2929

30-
For example, the following shows the *Timeline* view of an orchestration execution. In this "ProcessDocument" orchestration, the "WriteDoc" activity retried three times (unsuccessfully) with five seconds in between retry.
30+
In the following image, the *Timeline* view of an orchestration execution. In this "ProcessDocument" orchestration, the "WriteDoc" activity retried three times (unsuccessfully) with five seconds in between retry.
3131

3232
:::image type="content" source="media/durable-task-scheduler-dashboard/orchestration-timeline.png" alt-text="Screenshot of the dashboard showing the orchestration execution timeline.":::
3333

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Azure Functions durable task scheduler backend for durable functions (preview)
33
description: Learn about the characteristics of the Azure Functions durable task scheduler backend.
44
ms.topic: conceptual
5-
ms.date: 03/17/2025
5+
ms.date: 03/19/2025
66
ms.author: azfuncdf
77
author: hhunter-ms
88
ms.subservice: durable
@@ -32,9 +32,9 @@ The following diagram shows the architecture of the durable task scheduler backe
3232

3333
The durable task scheduler runs in Azure as a separate resource from the app. This separation allows the scheduler to scale independently of the app and provides better isolation between the two components. This isolation is important for several reasons:
3434

35-
- **Reduced resource consumption:** BYO storage providers can consume a significant amount of CPU and memory resources. This resource consumption is due to the overhead of managing partitions and other complex state store interactions. By using a managed scheduler instead of a BYO storage provider, your app instances can run more efficiently and with less resource contention.
35+
- **Reduced resource consumption:** BYO storage providers can consume a significant amount of CPU and memory resources. This resource consumption is due to the overhead of managing partitions and other complex state store interactions. Using a managed scheduler instead of a BYO storage provider allows your app instances to run more efficiently and with less resource contention.
3636

37-
- **Fault isolation:** Stability or availability issues in the durable task scheduler will not affect the stability or availability of your connected apps. With BYO storage providers, instability in the backend provider (which is a complex component) can create instability in the app logic. By separating the scheduler from the app, you can reduce the risk of cascading failures and improve overall reliability.
37+
- **Fault isolation:** Stability or availability issues in the durable task scheduler won't affect the stability or availability of your connected apps. With BYO storage providers, instability in the backend provider (which is a complex component) can create instability in the app logic. By separating the scheduler from the app, you can reduce the risk of cascading failures and improve overall reliability.
3838

3939
- **Independent scaling:** The scheduler resource can be scaled independently of the app, allowing for better infrastructure resource management and cost optimization. For example, multiple apps can share the same scheduler resource, improving overall resource utilization. This capability is especially useful for organizations with multiple teams or projects that require durable functions.
4040

@@ -44,7 +44,7 @@ The durable task scheduler runs in Azure as a separate resource from the app. Th
4444

4545
Your durable function apps connect to the scheduler resource via a gRPC connection. The endpoint address is in the form `{scheduler-name}.{region}.durabletask.io`. For example, `myscheduler-123.westus2.durabletask.io`. The connection is secured using TLS and the app's identity is used to authenticate the connection.
4646

47-
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 will send responses back to the scheduler when the corresponding orchestration, activity, or entity task is complete.
47+
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.
4848

4949
### State management
5050

@@ -133,7 +133,7 @@ This benchmark showed that the durable task scheduler is roughly **five times fa
133133

134134
- **Scheduler quota:** You can currently create up to **five schedulers per region** per subscription.
135135

136-
- **Max payload size:** The durable task scheduler has a maximum payload size restrictions for the following JSON-serialized data types:
136+
- **Max payload size:** The durable task scheduler has a maximum payload size restriction for the following JSON-serialized data types:
137137

138138
| Data type | Max size |
139139
| --------- | -------- |

articles/azure-functions/durable/durable-task-scheduler/includes/assign-dev-identity-rbac-portal.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,6 @@ author: lilyjma
3636

3737
1. Click **Review + assign** to finish assigning the role.
3838

39+
1. Once the role is assigned, click **Overview** on the left menu of the task hub resource and navigate to the dashboard URL located at the top *Essentials* section.
3940

4041

articles/azure-functions/durable/durable-task-scheduler/includes/assign-rbac-portal.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ ms.date: 03/17/2025
2727

2828
1. For **Members**, click **+ Select members**.
2929

30-
1. In the **Select managed identities** pane, expand the **Managed identity** drop down and select **User-assigned managed identity**.
30+
1. In the **Select managed identities** pane, expand the **Managed identity** drop-down and select **User-assigned managed identity**.
3131

3232
:::image type="content" source="../media/configure-durable-task-scheduler/members-tab.png" alt-text="Screenshot of selecting the user-assigned managed identity type you're going to use in the portal.":::
3333

0 commit comments

Comments
 (0)