You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-functions-mssql-container-apps-hosting.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,11 @@ ms.date: 05/06/2025
6
6
---
7
7
8
8
# Host a Durable Functions app in Azure Container Apps
9
+
9
10
Azure Functions provides integrated support for developing, deploying, and managing containerized Function Apps on Azure Container Apps. Use Azure Container Apps for your Functions apps when you need to run in the same environment as other microservices, APIs, websites, workflows, or any container hosted programs. Learn more about [running Azure Functions in Container Apps](../../container-apps/functions-overview.md).
10
11
11
-
>[!NOTE] 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](../../container-apps/functions-overview.md#event-driven-scaling). If another backend is used, you have to set minimum replica count to great than zero.
12
+
> [!NOTE]
13
+
> 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](../../container-apps/functions-overview.md#event-driven-scaling). If another backend is used, you have to set minimum replica count to greater than zero.
Copy file name to clipboardExpand all lines: articles/azure-functions/durable/durable-task-scheduler/choose-orchestration-framework.md
+37-36Lines changed: 37 additions & 36 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,56 +7,55 @@ ms.date: 05/06/2025
7
7
8
8
# Choosing an orchestration framework
9
9
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 when there are interruptions or infrastructure failures, execution can continue in another process or machine since all state information is persisted.
11
-
12
10
In this article, you learn:
13
11
14
12
> [!div class="checklist"]
15
13
> - The benefits of using an orchestration framework.
16
14
> - Which framework works best for your scenario.
17
15
16
+
Azure offers two developer-oriented orchestration frameworks you can use to build apps: **Durable Functions** for apps hosted in Azure Functions, and **Durable Task SDKs** for apps hosted on other compute platforms. Orchestrations, also called _workflows_, involve arranging and coordinating multiple (long-running) tasks or processes, often involving multiple systems, to be executed in a certain order. It's important that an orchestration framework guarantees _durable execution_, meaning when there are interruptions or infrastructure failures, execution can continue in another process or machine from the point of failure. The Durable Task SDKs and Durable Functions ensure that orchestrations are executed durably through built-in state persistence and automatic retries, so that you can author orchestrations without the burden of architecting for fault tolerance.
17
+
18
18
## Scenarios requiring orchestration
19
19
20
-
Application patterns that benefit from the Durable Task SDKs and Durable Functions include:
21
-
-**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.
20
+
The following are scenarios requiring common orchestration patterns that benefit from the Durable Task SDKs and Durable Functions:
21
+
-**Function chaining:** For scenarios involving sequential steps, where each step may depend on the output of the previous one.
22
22
-**Fan-out/fan-in:** For batch jobs, ETL (extract, transfer, and load), and any scenario that requires parallel processing.
23
-
-**Human interactions:** For two-factor authentication, workflows that require human approval.
23
+
-**Human interactions:** For two-factor authentication, workflows requiring human intervention.
24
24
-**Asynchronous HTTP APIs:** For any scenario where a client doesn't want to wait for long-running tasks to complete.
25
25
26
-
The two following scenarios share the commonly used *function chaining* pattern.
26
+
The two following scenarios share the *function chaining* pattern.
27
27
28
28
### Processing orders on an e-commerce website
29
29
30
-
Let's say you create an e-commerce solution that involves multi-step operations, some of which may be long-running. These multiple-step operations are referred to as *orchestrations* or *workflows*. Your website needs an order processing workflow that includes steps happening sequentially to:
31
-
- Check the inventory
32
-
- Send order confirmation
33
-
- Process payment
34
-
- Generate invoice
30
+
Let's say you create an e-commerce website. Your website likely needs an order processing workflow for any customer purchase. The workflow may include the following sequential steps:
31
+
1. Check the inventory
32
+
1. Process payment
33
+
1. Update the inventory
34
+
1. Generate invoice
35
+
1. Send order confirmation
35
36
36
37
### Invoking AI agents for planning a trip
37
38
38
-
In this scenario, you created an intelligent trip planner. The planner:
39
-
- Suggests ideas based on user requirements
40
-
- Gets preference confirmation
41
-
- Makes required bookings
39
+
In this scenario, let's say you need to create an intelligent trip planner. There's a series of known steps the planner should go through:
40
+
1. Suggest ideas based on user requirements
41
+
1. Get preference confirmation
42
+
1. Make required bookings
42
43
43
-
You can implement an agent for each task and orchestrate the steps for agent invocation as a workflow.
44
+
You can implement an AI agent for each task, and then write an orchestration that invokes these agents in certain order.
44
45
45
46
## Orchestration framework options
46
47
48
+
Both Durable Functions and Durable Task SDK are available in multiple languages but there are some differences in how they can be used. The important differences and use case for each framework option are described in the following sections.
49
+
47
50
### Durable Functions
48
51
49
52
As a feature of Azure Functions, [Durable Functions](../durable-functions-overview.md) inherits numerous assets, such as:
50
53
- Integrations with other Azure services through the Functions extensions
51
54
- Local development experience
52
-
- Serverless pricing model, and more.
53
-
54
-
Aside from running on the Functions platform, Durable Functions apps can also be run on Azure App Service and Azure Container Apps.
55
-
56
-
Durable Functions includes a special feature called [Durable Entities](../durable-functions-entities.md), which are similar in concept to virtual actors or grains in the Orleans framework. *Entities* allow you to keep small pieces of states for objects in a distributed system. For example, you could use entities to model users of a microblogging app or the counter of an exercise app.
57
-
58
-
Durable Functions persists states in a [storage backend](../durable-functions-storage-providers.md). Durable Functions supports:
55
+
- Serverless pricing model
56
+
- Hosting in Azure App Service and Azure Container Apps
59
57
58
+
Durable Functions persists states in a [storage backend](../durable-functions-storage-providers.md) and supports:
60
59
- Two "bring-your-own" (BYO) backends:
61
60
- Azure Storage
62
61
- Microsoft SQL
@@ -65,31 +64,31 @@ Durable Functions persists states in a [storage backend](../durable-functions-st
65
64
66
65
#### When to use Durable Functions
67
66
68
-
Consider using Durable Functions if you need to build event-driven apps with workflows. The Azure Functions extensions provide integrations with other Azure services make building event-driven scenarios easy. For example, with Durable Functions:
67
+
Consider using Durable Functions if you need to build event-driven apps with workflows. The Azure Functions extensions provide integrations with other Azure services, which make building event-driven scenarios easy. For example, with Durable Functions:
69
68
70
69
- You can easily start an orchestration when a message comes into your Azure Service Bus or a file uploads to Azure Blob Storage.
71
-
- You can easily build an orchestration to start periodically or in reaction to an HTTP request with the Azure Functions timer and HTTP trigger, respectively.
72
-
- Your solution benefits from using Durable Entities, since the Durable Task SDKs don't provide this feature.
73
-
- You're already writing Azure Function apps and realized that you need workflow. Since its programming model is similar to Functions, you can accelerate your development with Durable Functions.
70
+
- You can easily build an orchestration that runs periodically or in response to an HTTP request with the Azure Functions timer and HTTP trigger, respectively.
71
+
72
+
Another reason to consider Durable Functions is if you're already writing Azure Function apps and realized that you need workflow. Since Durable Functions programming model is similar to Function's, you can accelerate your development.
74
73
75
74
#### Try it out
76
75
77
-
Walk through one of the following quickstarts or scenarios to configure your function apps with one of the storage backends available for Durable Functions.
76
+
Walk through one of the following quickstarts or samples to learn more about Durable Functions.
78
77
79
78
##### Quickstarts
80
79
81
80
|| Quickstart | Description |
82
81
| - | ---------- | ----------- |
83
-
|**Durable Task Scheduler (preview)**|[Configure a durable functions app with Durable Task Scheduler](./quickstart-durable-task-scheduler.md)|Configure a "hello world" Durable Functions app to use the Durable Task Scheduler as the backend storage provider, test locally, and publish to Azure. |
84
-
|**Azure Storage**| Create a "hello world" Durable Functions app with Azure Storage backend:<br>- [.NET](../durable-functions-isolated-create-first-csharp.md)<br>- [Python](../quickstart-python-vscode.md)<br>- [JavaScript/TypeScript](../quickstart-js-vscode.md)<br>- [Java](../quickstart-java.md)<br>- [PowerShell](../quickstart-powershell-vscode.md)|Locally create and test a "hello world" Durable Functions app and deploy to Azure. |
85
-
|**MSSQL**|[Configure a durable functions app with MSSQL](../quickstart-mssql.md)| Create a "hello world" Durable Functions app configured to use the MSSQL backend, test locally, and publish to Azure. |
82
+
|**Durable Task Scheduler (preview)**|[Create a Durable Functions app with Durable Task Scheduler](./quickstart-durable-task-scheduler.md)|Create a "hello world" Durable Functions app that uses the Durable Task Scheduler as the backend, test locally, and publish to Azure. |
83
+
|**Azure Storage**| Create a Durable Functions app with the Azure Storage backend:<br>- [.NET](../durable-functions-isolated-create-first-csharp.md)<br>- [Python](../quickstart-python-vscode.md)<br>- [JavaScript/TypeScript](../quickstart-js-vscode.md)<br>- [Java](../quickstart-java.md)<br>- [PowerShell](../quickstart-powershell-vscode.md)|Create a "hello world" Durable Functions app that uses Azure Storage as the backend, test locally, and publish to Azure. |
84
+
|**MSSQL**|[Create a Durable Functions app with MSSQL](../quickstart-mssql.md)| Create a "hello world" Durable Functions app that uses MSSQL as the backend, test locally, and publish to Azure. |
86
85
87
86
##### Samples
88
87
89
88
|| Sample | Description |
90
89
| - | ---------- | ----------- |
91
-
|**Order processing workflow**| Create an order processing workflow with Durable Functions using Azure Storage backend:<br>- [.NET](/samples/azure-samples/durable-functions-order-processing/durable-func-order-processing/)<br>- [Python](/samples/azure-samples/durable-functions-order-processing-python/durable-func-order-processing-py/)| This sample demonstrates using Durable Functions to implement an order processing workflow that includes checking inventory, processing payment, and notifying customer. |
92
-
|**Intelligent PDF summarizer**| Create an intelligent application using Azure Durable Functions, Azure Storage, Azure Developer CLI, and more:<br>- [.NET](/samples/azure-samples/intelligent-pdf-summarizer-dotnet/durable-func-pdf-summarizer-csharp/)<br>- [Python](/samples/azure-samples/intelligent-pdf-summarizer/durable-func-pdf-summarizer/)| This sample demontrates using Durable Functions to coordinate the steps for processing and summarizing a PDF. |
90
+
|**Order processing workflow**| Create an order processing workflow with Durable Functions:<br>- [.NET](/samples/azure-samples/durable-functions-order-processing/durable-func-order-processing/)<br>- [Python](/samples/azure-samples/durable-functions-order-processing-python/durable-func-order-processing-py/)| This sample implements an order processing workflow that includes checking inventory, processing payment, updating inventory, and notifying customer. |
91
+
|**Intelligent PDF summarizer**| Create an app that processes PDFs with Durable Functions:<br>- [.NET](/samples/azure-samples/intelligent-pdf-summarizer-dotnet/durable-func-pdf-summarizer-csharp/)<br>- [Python](/samples/azure-samples/intelligent-pdf-summarizer/durable-func-pdf-summarizer/)| This sample demontrates using Durable Functions to coordinate the steps for processing and summarizing PDFs using Azure Cognitive Services and Azure Open AI.|
93
92
94
93
### Durable Task SDKs with Durable Task Scheduler (preview)
95
94
@@ -100,16 +99,16 @@ The Durable Task SDKs are client SDKs that must be used with the Durable Task Sc
100
99
- Virtual Machines (VMs) on-premises
101
100
102
101
The [Durable Task Scheduler](./durable-task-scheduler.md) (currently in preview) plays the role of both the orchestration engine and the storage backend for orchestration state persistence. The Durable Task Scheduler:
103
-
- Is fully managed by Azure, removing management overhead
102
+
- Is fully managed by Azure, thus removing management overhead
104
103
- Provides high orchestration throughput
105
104
- Offers an out-of-the-box dashboard for orchestration monitoring and debugging
106
105
- Includes a local emulator
107
106
108
107
#### When to use Durable Task SDKs
109
108
110
-
If your app only needs workflows, the Durable Task SDKs provide a lightweight and relatively unopinionated programming model for authoring workflows.
109
+
If you don't want to use the Azure Functions programming model, the Durable Task SDKs provide a lightweight and relatively unopinionated programming model for authoring workflows.
111
110
112
-
When you need to run apps on Azure Kubernetes Services or VMs on-premises with official Microsoft support, you may also want to consider using the Durable Task SDKs. While Durable Functions can be run on these platforms as well, there's no official support.
111
+
When you need to run apps on Azure Kubernetes Services or VMs on-premises with official Microsoft support, you should consider using the Durable Task SDKs. While Durable Functions can be run on these platforms as well, there's no official support.
113
112
114
113
#### Try it out
115
114
@@ -126,5 +125,7 @@ Walk through one of the following quickstarts to configure your applications to
0 commit comments