Una Event-Driven Task es un paradigma de ejecución donde las funciones o procesos se activan por la detección de un evento. Este evento puede ser de diversa naturaleza: un mensaje en una cola, una modificación en una base de datos, una solicitud HTTP entrante, la subida de un archivo a un bucket de almacenamiento, o un cambio de estado en un sistema. A diferencia de las tareas programadas (cron jobs) o los servicios persistentes que esperan solicitudes, una Event-Driven Task permanece inactiva hasta que su evento disparador ocurre, momento en el cual se instancia, ejecuta su lógica y luego se desactiva, liberando recursos. Este modelo promueve la reactividad, la escalabilidad y la eficiencia en el uso de recursos.

La implementación de Event-Driven Tasks es fundamental en arquitecturas de microservicios y serverless. Ejemplos concretos incluyen AWS Lambda, Google Cloud Functions y Azure Functions, donde el código se ejecuta en respuesta a eventos como la carga de un objeto en S3/GCS/Azure Blob Storage, mensajes en SQS/Pub/Sub/Azure Service Bus, o invocaciones HTTP. Otros sistemas que utilizan este concepto son Apache Kafka Streams para el procesamiento de eventos en tiempo real, o sistemas de orquestación de flujos de trabajo como Apache Airflow o Temporal, donde las tareas pueden ser disparadas por la finalización de otras tareas o por eventos externos, formando DAGs reactivos.

Para un arquitecto, las Event-Driven Tasks son cruciales para diseñar sistemas resilientes, escalables y eficientes en costos. Permiten desacoplar componentes, mejorando la tolerancia a fallos y la mantenibilidad. La escalabilidad elástica es inherente, ya que las tareas pueden escalar horizontalmente en función de la carga de eventos. Sin embargo, introducen complejidad en la depuración y el monitoreo debido a la naturaleza asíncrona y distribuida. Los trade-offs incluyen la latencia potencial entre el evento y la ejecución, la gestión de idempotencia para evitar efectos secundarios duplicados ante reintentos, y la necesidad de herramientas de observabilidad robustas para rastrear el flujo de eventos a través de múltiples tareas y servicios. La elección de este patrón es estratégica para sistemas que requieren alta reactividad y eficiencia operativa.