Blog Azure Azure

Durable Functions: evolución de versiones en Azure

Representación gráfica de Durable Functions en Azure

Introducción a Durable Functions y sus versiones

Durable Functions es una extensión de Azure Functions que permite crear flujos de trabajo serverless orquestados. A lo largo de los años, Microsoft ha lanzado múltiples versiones de Durable Functions, cada una con mejoras significativas en rendimiento, compatibilidad y funcionalidad. Este artículo se centra en los cambios recientes y cómo afectan a los desarrolladores que trabajan con .NET y otros entornos.

Cambios clave en las versiones más recientes

Microsoft.Azure.Functions.Worker.Extensions.DurableTask v1.2.x

La versión 1.2.x de Microsoft.Azure.Functions.Worker.Extensions.DurableTask introduce soporte para el modelo de ejecución aislado de .NET (también conocido como .NET Isolated). Este cambio es crucial para los desarrolladores que buscan aprovechar las ventajas de aislamiento entre el runtime de Azure Functions y la lógica de aplicación.

Note: El modelo .NET Isolated permite una mayor personalización y control sobre la configuración del host, lo que es especialmente útil en escenarios avanzados de integración.

Fin del soporte para WebJobs.Extensions.DurableTask v1.x

La versión 3.x de WebJobs.Extensions.DurableTask ya no es compatible con la versión 1.x del runtime de Azure Functions. Esto está alineado con el fin del soporte programado para el runtime 1.x, que ocurrirá en septiembre de 2026.

Warning: Si tu aplicación aún depende de WebJobs.Extensions.DurableTask v1.x, es crítico planificar una migración antes de la fecha límite para evitar interrupciones en el servicio.

Comparativa entre versiones

La siguiente tabla resume las diferencias clave entre las versiones más recientes de Durable Functions:

Característica v1.x (Legacy) v2.x v3.x
Compatibilidad con .NET Isolated No Parcial
Soporte para runtime de Azure Functions 1.x, 2.x 2.x, 3.x 3.x
Fin del soporte Septiembre 2026 No anunciado Activo
Mejoras en rendimiento Limitadas Moderadas Significativas

Migración a versiones más recientes

Preparación para la migración

Antes de migrar, es importante realizar un análisis completo de tu aplicación para identificar dependencias críticas. Esto incluye:

  1. Revisión de paquetes NuGet: Asegúrate de que todos los paquetes relacionados con Durable Functions estén actualizados.
  2. Pruebas de integración: Ejecuta pruebas exhaustivas para garantizar que los flujos de trabajo orquestados funcionen correctamente en el nuevo entorno.

Ejemplo de configuración en .NET Isolated

A continuación, se muestra un ejemplo básico de configuración para Durable Functions en .NET Isolated:

using Microsoft.Azure.Functions.Worker;
using Microsoft.Azure.Functions.Worker.Extensions.DurableTask;

namespace DurableFunctionsExample
{
    public class WorkflowFunctions
    {
        [Function("StartWorkflow")]
        public async Task StartWorkflow(
            [DurableClient] IDurableOrchestrationClient client)
        {
            var instanceId = await client.StartNewAsync("MyOrchestrator", null);
            Console.WriteLine($"Orchestrator instance started: {instanceId}");
        }
    }
}

Note: En este ejemplo, IDurableOrchestrationClient se utiliza para iniciar una instancia de orquestador. Asegúrate de configurar correctamente el host para .NET Isolated.

Consideraciones finales

Durable Functions sigue evolucionando para adaptarse a las necesidades de los desarrolladores y las demandas de aplicaciones modernas. Con el fin del soporte para versiones antiguas y la introducción de mejoras en las versiones más recientes, es esencial mantenerse actualizado y planificar migraciones con antelación.

Artículos relacionados

Para más información sobre Durable Functions y otros servicios de Azure, consulta la documentación oficial.