Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo, aprenderá lo siguiente:
- Las ventajas de usar un marco de orquestación.
- Qué marco funciona mejor para su escenario.
Azure ofrece dos marcos de orquestación orientados a desarrolladores que puede usar para compilar aplicaciones: Durable Functions para aplicaciones hospedadas en Azure Functions y SDK de Durable Task para aplicaciones hospedadas en otras plataformas de proceso. Las orquestaciones, también denominadas flujos de trabajo, implican organizar y coordinar varias tareas o procesos (de larga duración), a menudo implicando varios sistemas, que se ejecutarán en un orden determinado. Es importante que un marco de orquestación garantice una ejecución duradera, lo que significa que cuando hay interrupciones o errores de infraestructura, la ejecución puede continuar en otro proceso o máquina desde el punto de error. Los SDK de Durable Task y Durable Functions garantizan que las orquestaciones se ejecuten de forma duradera a través de la persistencia de estado integrada y los reintentos automáticos, de modo que pueda crear orquestaciones sin la carga de diseñar para la tolerancia a errores.
Escenarios que requieren orquestación
A continuación se muestran escenarios que requieren patrones de orquestación comunes que se benefician de los SDK de Durable Task y Durable Functions:
- Encadenamiento de funciones: En escenarios que implican pasos secuenciales, donde cada paso puede depender de la salida de la anterior.
- Fan-out/fan-in: Para los trabajos por lotes, ETL (extracción, transferencia y carga) y cualquier escenario que requiera procesamiento paralelo.
- Interacciones humanas: Para la autenticación de dos factores, los flujos de trabajo requieren intervención humana.
- API HTTP asincrónicas: En cualquier escenario en el que un cliente no quiera esperar a que se completen las tareas de larga duración.
Los dos escenarios siguientes comparten el patrón de encadenamiento de funciones .
Procesamiento de pedidos en un sitio web de comercio electrónico
Supongamos que crea un sitio web de comercio electrónico. Es probable que su sitio web necesite un flujo de trabajo de procesamiento de pedidos para cualquier compra del cliente. El flujo de trabajo puede incluir los siguientes pasos secuenciales:
- Comprobación del inventario
- Proceso de pago
- Actualización del inventario
- Generar factura
- Enviar confirmación de pedido
Invocar agentes de IA para planear un viaje
En este escenario, supongamos que necesita crear un planificador de viajes inteligente. Hay una serie de pasos conocidos que debe seguir el planificador:
- Sugerir ideas basadas en los requisitos del usuario
- Obtener confirmación de preferencias
- Hacer reservas necesarias
Puede implementar un agente de IA para cada tarea y, a continuación, escribir una orquestación que invoque estos agentes en cierto orden.
Opciones del marco de orquestación
Tanto Durable Functions como el SDK de Durable Task están disponibles en varios lenguajes, pero hay algunas diferencias en cómo se pueden usar.
Saber qué marco de orquestación se recomienda para producción puede ayudarle a decidir cuál funciona mejor para el proyecto. Si bien el backend de Durable Task está totalmente gestionado y soportado, la estabilidad de la extensión Durable Functions y los SDK de Durable Task varía según el modelo de precios y el SDK de lenguaje que utilice.
En la tabla siguiente se muestra qué experiencia de cliente es adecuada para su uso en producción.
| Experiencia | SKU dedicado | SKU de consumo |
|---|---|---|
| Extensión de Durable Functions en todos los lenguajes | Disponible con carácter general | Preview |
| Durable Task .NET SDK | Disponible con carácter general | Preview |
| Durable Task Python SDK | Disponible con carácter general | Preview |
| Durable Task Java SDK | Preview | Preview |
Funciones duraderas
Como característica de Azure Functions, Durable Functions hereda numerosos recursos, como:
- Integraciones con otros servicios de Azure mediante las extensiones de Functions
- Experiencia de desarrollo local
- Modelo de precios sin servidor
- Hospedaje en Azure App Service y Azure Container Apps
Durable Functions conserva los estados en un back-end de almacenamiento y admite:
- Dos back-end "bring-your-own" (BYO):
- Azure Storage
- Microsoft SQL
- Un back-end administrado de Azure:
Cuándo usar Durable Functions
Considere la posibilidad de usar Durable Functions si necesita compilar aplicaciones controladas por eventos con flujos de trabajo. Las extensiones de Azure Functions proporcionan integraciones con otros servicios de Azure, lo que facilita la creación de escenarios controlados por eventos. Por ejemplo, con Durable Functions:
- Puede iniciar fácilmente una orquestación cuando un mensaje entra en Azure Service Bus o se carga un archivo en Azure Blob Storage.
- Puede crear fácilmente una orquestación que se ejecute periódicamente o en respuesta a una solicitud HTTP con el temporizador y el desencadenador HTTP de Azure Functions, respectivamente.
Otro motivo para considerar Durable Functions es si ya está escribiendo aplicaciones de Azure Functions y se dio cuenta de que necesita flujo de trabajo. Dado que el modelo de programación de Durable Functions es similar al de Function, puede acelerar el desarrollo.
Prueba
Recorra uno de los siguientes inicios rápidos o ejemplos para obtener más información sobre Durable Functions.
Inicio rápido
| Inicio rápido | Descripción | |
|---|---|---|
| Programador de tareas duraderas | Creación de una aplicación de Durable Functions con Durable Task Scheduler | Cree una aplicación de "hola mundo" de Durable Functions que use el Durable Task Scheduler como backend, pruébela localmente y publíquela en Azure. |
| Azure Storage | Cree una aplicación de Durable Functions con el back-end de Azure Storage: - .NET - Pitón - JavaScript/TypeScript - Java - PowerShell |
Cree una aplicación de Durable Functions "hola mundo" que use Azure Storage como back-end, pruebe localmente y publique en Azure. |
| MSSQL | Creación de una aplicación de Durable Functions con MSSQL | Cree una aplicación de Durable Functions "hola mundo" que use MSSQL como back-end, pruebe localmente y publique en Azure. |
Muestras
| Ejemplo | Descripción | |
|---|---|---|
| Flujo de trabajo de procesamiento de pedidos | Cree un flujo de trabajo de procesamiento de pedidos con Durable Functions: - .NET - Pitón |
Este ejemplo implementa un flujo de trabajo de procesamiento de pedidos que incluye comprobar el inventario, procesar el pago, actualizar el inventario y notificar al cliente. |
| Generador de resumen de PDF inteligente | Cree una aplicación que procese archivos PDF con Durable Functions: - .NET - Pitón |
En este ejemplo se muestra el uso de Durable Functions para coordinar los pasos para procesar y resumir archivos PDF mediante Azure Cognitive Services y Azure OpenAI. |
SDK de tareas duraderas con el Programador de tareas duraderas
Los SDK de Durable Task son SDK de cliente que se deben usar con el Programador de tareas durables. Los SDK de Durable Task conectan las orquestaciones que escribe en el motor de orquestación de Durable Task Scheduler en Azure. Las aplicaciones que usan los SDK de Durable Task se pueden ejecutar en cualquier plataforma de proceso, entre las que se incluyen:
- Azure Kubernetes Service
- Azure Container Apps (Aplicaciones de Contenedores de Azure)
- Azure App Service
- Máquinas virtuales (VM) locales
Durable Task Scheduler (SDK de Java actualmente en versión preliminar) desempeña el papel del motor de orquestación y del back-end de almacenamiento para la persistencia del estado de orquestación. Programador de tareas duraderas:
- Está totalmente administrado por Azure, lo que elimina la sobrecarga de administración.
- Proporciona un alto rendimiento de orquestación
- Ofrece un panel predefinido para la supervisión y depuración de orquestación
- Incluye un emulador local
Cuándo usar SDK de Durable Task
Si no desea usar el modelo de programación de Azure Functions, los SDK de Durable Task proporcionan un modelo de programación ligero y relativamente desapinionado para crear flujos de trabajo.
Cuando necesite ejecutar aplicaciones en Azure Kubernetes Services o máquinas virtuales locales con soporte técnico oficial de Microsoft, debe considerar el uso de los SDK de Durable Task. Aunque Durable Functions también se puede ejecutar en estas plataformas, no hay soporte técnico oficial.
Prueba
Siga uno de los siguientes inicios rápidos para configurar sus aplicaciones para que usen el Programador de tareas duraderas con los SDK de Tareas duraderas.
| Inicio rápido | Descripción | |
|---|---|---|
| Inicio rápido de desarrollo local | Cree una aplicación usando los SDKs de Durable Task y el Planificador de Tareas Durable ya sea con .NET, Python o Java SDKs. | Ejecute una orquestación fan-in/fan-out localmente mediante el emulador del Programador de tareas duraderas y revise el historial de orquestaciones mediante el panel. |
| Hospedaje en Azure Container Apps | Implementación de una aplicación del SDK de Durable Task en Azure Container Apps | Despliega rápidamente una app "hola mundo" del SDK de Durable Task en Azure Container Apps utilizando la CLI de Azure para desarrolladores. |
Nota:
Durable Task Framework (DTFx) es un marco de orquestación de .NET de código abierto similar al SDK de Durable Task de .NET. Aunque se puede usar para compilar aplicaciones que se ejecutan en plataformas como Azure Kubernetes Services, DTFx no recibe soporte técnico oficial de Microsoft.