Skip to content

Commit 802825e

Browse files
committed
review
Signed-off-by: Hannah Hunter <[email protected]>
1 parent 2b58aa7 commit 802825e

8 files changed

+41
-36
lines changed

articles/azure-functions/durable/TOC.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -116,23 +116,23 @@
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: Create Durable Task Scheduler resources
132-
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
133133
- name: Durable Task SDKs
134134
items:
135-
- name: Autoscale with the Durable Task SDKs in Azure Container Apps
135+
- name: Configure autoscale for Azure Container Apps hosting
136136
href: ./durable-task-scheduler/durable-task-scheduler-auto-scaling.md
137137
- name: Billing
138138
href: ./durable-task-scheduler/durable-task-scheduler-dedicated-sku.md
@@ -166,7 +166,7 @@
166166
items:
167167
- name: Durable Functions
168168
href: /python/api/azure-functions-durable/azure.durable_functions
169-
- name: Resource Management - Durable Task SDK
169+
- name: Durable Task SDK - Management APIs
170170
href: /python/api/azure-mgmt-durabletask/azure.mgmt.durabletask
171171
- name: Java API
172172
items:

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

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
11
---
2-
title: "Host a Durable Functions app in Azure Container Apps"
2+
title: Host a Durable Functions app in Azure Container Apps (preview)
33
description: Learn how to host a Durable Functions app using the MSSQL backend in Azure Container Apps.
44
ms.topic: how-to
55
ms.date: 05/06/2025
66
---
77

8-
# Host a Durable Functions app in Azure Container Apps (.NET isolated)
8+
# Host a Durable Functions app in Azure Container Apps (preview)
99

10-
While Durable Functions supports several [storage providers](./durable-functions-storage-providers.md) or *backends*, autoscaling of the app is only available when using the Microsoft SQL (MSSQL) backend. If another backends is used, you need to [manually set up scaling](../functions-container-apps-hosting.md#event-driven-scaling) today.
10+
While Durable Functions supports several [storage providers](./durable-functions-storage-providers.md) or *backends*, autoscaling apps hosted in Azure Container Apps is only available with the Microsoft SQL (MSSQL) backend. If another backend is used, you need to [manually set up scaling](../functions-container-apps-hosting.md#event-driven-scaling).
1111

1212
In this article, you learn how to:
1313

1414
> [!div class="checklist"]
1515
>
16-
> - Create a local Durable Functions project with a cusom Dockerfile.
17-
> - Run the worker and client projects.
18-
> - Review orchestration status and history via the Durable Task Scheduler dashboard.
19-
20-
shows how to host a Durable Functions app in Azure Container Apps.
16+
> - Create a Docker image from a local Durable Functions project.
17+
> - Create an Azure Container App and related resources.
18+
> - Deploy the image to the Azure Container App and set up authentication.
2119
2220
## Prerequisites
2321

@@ -31,7 +29,7 @@ In this article, you learn how to:
3129

3230
## Create a local Durable Functions project
3331

34-
In Visual Studio Code, [create a .NET isolated Durable Functions project configured to use the MSSQL backend](./quickstart-mssql.md).
32+
In Visual Studio Code, [create a **.NET isolated** Durable Functions project configured to use the MSSQL backend](./quickstart-mssql.md).
3533

3634
[Test the app locally](./quickstart-mssql.md#test-locally) and return to this article.
3735

@@ -213,17 +211,15 @@ A [workload profile](../functions-container-apps-hosting.md#hosting-and-workload
213211
214212
### Create databases
215213
216-
The function app requires an Azure Storage account and an Azure SQL Database as its storage backend. The Azure SQL Database backend persists state information as your orchestrations run.
217-
218214
1. Create an Azure Storage account, which is required by the function app.
219215
220216
```azurecli
221217
az storage account create --name $storage --location $location --resource-group $resourceGroup --sku Standard_LRS
222218
```
223219

224-
1. In the Azure portal, you can [create an Azure SQL database](/azure/azure-sql/database/single-database-create-quickstart). During creation:
225-
- Enable Azure services and resources to access this server (under _Networking_)
226-
- Set the value for _Database collation_ (under _Additional settings_) to `Latin1_General_100_BIN2_UTF8`.
220+
1. In the Azure portal, [create an Azure SQL database](/azure/azure-sql/database/single-database-create-quickstart) to persist state information. During creation:
221+
- Enable Azure services and resources to access this server (under **Networking**)
222+
- Set the value for **Database collation** (under **Additional settings**) to `Latin1_General_100_BIN2_UTF8`.
227223

228224
> [!NOTE]
229225
> Refrain from enabling the **Allow Azure services and resources to access this server** setting for production scenarios. Production applications should implement more secure approaches, such as stronger firewall restrictions or virtual network configurations.

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,9 @@ Walk through one of the following quickstarts to configure your applications to
127127
| **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. |
128128
| **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. |
129129

130-
## Limitations
131-
132-
- **The Durable Task Framework (DTFx) support**
133-
- 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**.
134133
135134
## Next steps
136135

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ms.date: 05/06/2025
77

88
# Set autopurge retention policies for Azure Functions Durable Task Scheduler (preview)
99

10-
Orchestration history data should be purged periodically to free up storage resources. Otherwise, the app observes performance degradation as history data accumulates overtime. The Durable Task Scheduler offers a lightweight, configurable autopurge feature that helps you manage orchestration data clean-up without manual intervention.
10+
To prevent reaching the memory limit of a [capacity unit (CU)](./durable-task-scheduler-dedicated-sku.md#dedicated-sku-concepts), it's best practice to periodically purge orchestration history data. The Durable Task Scheduler offers a lightweight, configurable autopurge feature that helps you manage orchestration data clean-up without manual intervention.
1111

1212
Autopurge operates asynchronously in the background, optimized to minimize system resource usage and prevent interference with other Durable Task operations. Although autopurge doesn't adhere to a strict schedule, its clean-up rate generally aligns with your orchestration scheduling rate.
1313

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
---
2-
title: "Autoscaling in Azure Container Apps pattern for the Durable Task SDKs"
2+
title: "Configure autoscaling for Durable Task SDK app hosted in Azure Container Apps (preview)"
33
description: Learn how to implement autoscaling with the Durable Task Scheduler using the Durable Task .NET SDK in Azure Container Apps.
44
ms.subservice: durable-task-scheduler
55
ms.topic: how-to
66
ms.date: 05/06/2025
77
---
88

9-
# Autoscaling in Azure Container Apps pattern for the Durable Task SDKs
9+
# Configure autoscaling for Durable Task SDK app hosted in Azure Container Apps (preview)
1010

1111
You can implement autoscaling in container apps that use the Durable Task Scheduler. Autoscaling maintains the reliability and scalability of long-running workflows by adapting to changing demands without manual intervention.
1212

1313
Control autoscaling by setting the range of application replicas deployed in response to an orchestration, activity, or entity being triggered. The scaler dynamically adjusts the number of container app replicas within that range, allowing your solution to handle spikes in the workload and prevent resource exhaustion.
1414

15+
> [!NOTE]
16+
> Autoscaling is supported for apps built using the Durable Task SDKs and hosted in Azure Container Apps.
17+
1518
## Configure the autoscaler
1619

1720
You can set the autoscaler configuration via the Azure portal, a Bicep template, and the Azure CLI.
@@ -95,7 +98,7 @@ az containerapp create \
9598

9699
## Experiment with the sample
97100

98-
The [Autoscaling in Azure Container Apps sample](https://github.com/Azure-Samples/Durable-Task-Scheduler/tree/main/samples/scenarios/AutoscalingInACA) demonstrates how to implement autoscaling with the Azure Durable Task Scheduler using the .NET SDK in Azure Container Apps. The function chaining application pattern showcases an orchestration workflow that benefits from dynamically scaling worker instances based on load.
101+
In the [Autoscaling in Azure Container Apps sample](https://github.com/Azure-Samples/Durable-Task-Scheduler/tree/main/samples/scenarios/AutoscalingInACA), you use the Azure Developer CLI to implement autoscaling for a container app built with the .NET Durable Task SDK and hosted in Azure Container Apps. The sample showcases an orchestration using the function chaining pattern.
99102

100103
> [!NOTE]
101104
> Although this sample uses the Durable Task .NET SDK, autoscaling is language-agnostic.

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ The following table explains the minimum cost and features provided with each CU
2929

3030
Find the price of a capacity unit in a given region on the [Azure Functions pricing page](https://azure.microsoft.com/pricing/details/functions/).
3131

32+
## Rate limit
33+
34+
For scheduling new orchestrations, a limit of 200 requests per second per capacity unit applies for the *scheduler* globally, across all task hubs.
35+
36+
If the rate limit is exceeded, the gRPC status code `RESOURCE_EXHAUSTED` is returned. This code is similar to HTTP `429 (Too many requests)`.
37+
3238
## Determine the number of Capacity Units needed
3339

3440
> [!NOTE]

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ You can grant the following Durable Task Scheduler related roles to an identity:
1919
| **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. |
2020

2121
> [!NOTE]
22-
> Most computes require the *Durable Task Data Contributor* role.
22+
> Most Durable Functions apps require the *Durable Task Data Contributor* role.
2323
2424
In this article, you learn how to grant permissions to an identity resource and configure your compute app to use the identity for access to schedulers and task hubs.
2525

articles/azure-functions/durable/quickstart-mssql.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ In Visual Studio Code, create a local Azure Functions project.
6666

6767
Visual Studio Code installs Azure Functions Core Tools if it's required to create the project. It also creates a function app project in a folder. This project contains the [host.json](../functions-host-json.md) and [local.settings.json](../functions-develop-local.md#local-settings-file) configuration files.
6868

69-
Another file, *HelloOrchestration.cs*, contains the basic building blocks of a Durable Functions app:
69+
Another file, *HelloOrchestration.cs*, contains the basic building blocks of a Durable Functions app:
70+
7071
| Method | Description |
7172
| ----- | ----------- |
7273
| `HelloOrchestration` | Defines the Durable Functions app orchestration. In this case, the orchestration starts, creates a list, and then adds the result of three functions calls to the list. When the three function calls finish, it returns the list. |

0 commit comments

Comments
 (0)