Skip to content

Commit 538973a

Browse files
committed
various updates
1 parent 974aefb commit 538973a

File tree

4 files changed

+13
-46
lines changed

4 files changed

+13
-46
lines changed

articles/azure-functions/durable/TOC.yml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,6 @@
111111
href: ./durable-task-scheduler/durable-task-scheduler.md
112112
- name: Choosing an orchestration framework
113113
href: ./durable-task-scheduler/choose-orchestration-framework.md
114-
- name: Cost Considerations
115-
href: ./durable-task-scheduler/durable-task-scheduler.md
116114
- name: Concepts
117115
items:
118116
- name: Monitoring dashboard
@@ -163,8 +161,6 @@
163161
items:
164162
- name: Durable Functions
165163
href: /javascript/api/durable-functions/
166-
- name: Durable Task SDK
167-
href: /javascript/api/durable-functions/ #placeholder
168164
- name: Python API
169165
items:
170166
- name: Durable Functions
@@ -177,7 +173,7 @@
177173
href: /java/api/com.microsoft.durabletask.azurefunctions
178174
- name: Durable Task SDK
179175
href: /java/api/com.microsoft.durabletask
180-
- name: Azure storage provider
176+
- name: Azure storage provider for Durable Functions
181177
href: durable-functions-azure-storage-provider.md
182178
- name: How-to guides
183179
items:

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

Lines changed: 6 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,9 @@ The source code for the DTFx components of the Azure Storage storage provider ca
5252
> [!NOTE]
5353
> 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
55-
## <a name="netherite"></a>Netherite
55+
## <a name="netherite"></a>Netherite
56+
> [!NOTE]
57+
> Support for using the Netherite storage backend with Durable Functions will end 31 March 2028. It is recommended that you start evaluating the Durable Task Scheduler for workloads that you're currently using Netherite for. See [end-ofsupport announcement](https://azure.microsoft.com/updates/?id=489009).
5658
5759
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.
5860

@@ -125,42 +127,6 @@ If no storage provider is explicitly configured in host.json, the Azure Storage
125127
### Configuring durable task scheduler (preview)
126128
See the [durable task scheduler getting started documentation](./durable-task-scheduler/quickstart-durable-task-scheduler.md).
127129

128-
### Configuring the Netherite storage provider
129-
130-
Enabling the Netherite storage provider requires a configuration change in your `host.json`. For C# users, it also requires an additional installation step.
131-
132-
#### `host.json` Configuration
133-
134-
The following host.json example shows the minimum configuration required to enable the Netherite storage provider.
135-
136-
```json
137-
{
138-
"version": "2.0",
139-
"extensions": {
140-
"durableTask": {
141-
"storageProvider": {
142-
"type": "Netherite",
143-
"storageConnectionName": "AzureWebJobsStorage",
144-
"eventHubsConnectionName": "EventHubsConnection"
145-
}
146-
}
147-
}
148-
}
149-
```
150-
151-
For more detailed setup instructions, see the [Netherite getting started documentation](https://microsoft.github.io/durabletask-netherite/#/?id=getting-started).
152-
153-
#### Install the Netherite extension (.NET only)
154-
155-
> [!NOTE]
156-
> If your app uses [Extension Bundles](../functions-bindings-register.md#extension-bundles), you should ignore this section as Extension Bundles removes the need for manual Extension management.
157-
158-
You'll need to install the latest version of the Netherite Extension on NuGet. This usually means including a reference to it in your `.csproj` file and building the project.
159-
160-
The Extension package to install depends on the .NET worker you are using:
161-
- For the _in-process_ .NET worker, install [`Microsoft.Azure.DurableTask.Netherite.AzureFunctions`](https://www.nuget.org/packages/Microsoft.Azure.DurableTask.Netherite.AzureFunctions).
162-
- For the _isolated_ .NET worker, install [`Microsoft.Azure.Functions.Worker.Extensions.DurableTask.Netherite`](https://www.nuget.org/packages/Microsoft.Azure.Functions.Worker.Extensions.DurableTask.Netherite).
163-
164130
### Configuring the MSSQL storage provider
165131

166132
Enabling the MSSQL storage provider requires a configuration change in your `host.json`. For C# users, it also requires an additional installation step.
@@ -200,6 +166,9 @@ The Extension package to install depends on the .NET worker you are using:
200166

201167
There are many significant tradeoffs between the various supported storage providers. The following table can be used to help you understand these tradeoffs and decide which storage provider is best for your needs.
202168

169+
> [!NOTE]
170+
> Support for using the Netherite storage backend with Durable Functions will end 31 March 2028. It is recommended that you start evaluating the Durable Task Scheduler for workloads that you're currently using Netherite for. See [end-ofsupport announcement](https://azure.microsoft.com/updates/?id=489009).
171+
203172
| Storage provider | Azure Storage | Netherite | MSSQL | DTS|
204173
|- |- |- |- |- |
205174
| Official support status | ✅ Generally available (GA) | ✅ Generally available (GA) | ✅ Generally available (GA) | Public preview|

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.author: azfuncdf
77
author: lilyjma
88
---
99

10-
# Choosing your orchestration framework
10+
# Choosing an orchestration framework
1111

1212
The goal of this article is to provide information about two developer-oriented orchestration frameworks supported by Azure and considerations for when to choose which. The article will also provide some context around scenarios that warrant the use of an orchestration framework.
1313

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Azure Functions Durable Task Scheduler (preview)
3-
description: Learn about the characteristics of the Azure Functions Durable Task Scheduler backend.
3+
description: Learn about the characteristics of the Azure Functions Durable Task Scheduler.
44
ms.topic: conceptual
55
ms.date: 04/24/2025
66
---
@@ -85,12 +85,14 @@ Aside from monitoring, you can also perform management operations on the dashboa
8585
Access to the dashboard is secured by identity and role-based access controls.
8686

8787
### Multiple task hubs
88+
> [!TIP]
89+
> One way to optimize cost when using the Durable Task Scheduler is to create multiple task hubs in the same scheduler instance so that multiple apps or environments can share one resource.
8890
8991
State is durably persisted in a *task hub*. A [task hub](../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.
9092

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.
93+
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. You can also have multiple apps share the same scheduler instance by configuring them to use different task hubs in the scheduler. Each task hub gets its own monitoring dashboard and access is isolated and secured by RBAC.
9294

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.
95+
Scheduler sharing is a great way to optimize cost when multiple teams have scenarios requiring orchestrations. While there is no limit to how many task hubs can be created in one scheduler instance, 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.
9496

9597
### Emulator for local development
9698

0 commit comments

Comments
 (0)