Administración de flujos de trabajo y eventos de Lambda - AWS Lambda

Administración de flujos de trabajo y eventos de Lambda

Al crear aplicaciones sin servidor con Lambda, a menudo se necesitan formas de orquestar la ejecución de las funciones y gestionar los eventos. AWS proporciona dos servicios clave que ayudan a coordinar las funciones de Lambda:

  • AWS Step Functions para la orquestación del flujo de trabajo

  • El Programador de Amazon EventBridge y Amazon EventBridge para la administración de eventos

Además, puede integrar Step Functions y EventBridge en sus aplicaciones. Por ejemplo, puede utilizar el Programador de EventBridge para activar los flujos de trabajo de Step Functions cuando se produzcan eventos específicos, o configurar los flujos de trabajo de Step Functions para publicar eventos en el Programador de EventBridge en puntos de ejecución definidos. En los siguientes temas de esta sección se brinda más información sobre cómo puede utilizar estos servicios.

Orquestación de flujos de trabajo con Step Functions

AWS Step Functions es un servicio de orquestación de flujos de trabajo que ayuda a coordinar varias funciones de Lambda y otros servicios de AWS en flujos de trabajo estructurados. Estos flujos de trabajo pueden mantener el estado, manejar errores con mecanismos de reintento sofisticados y procesar datos a escala.

Step Functions ofrece dos tipos de flujos de trabajo para satisfacer las diferentes necesidades de orquestación:

Flujos de trabajo estándar

Ideal para flujos de trabajo de larga duración y auditables que requieren una semántica de ejecución única. Los flujos de trabajo estándar pueden durar hasta un año, proporcionar un historial de ejecución detallado y admitir la depuración visual. Son adecuados para procesos como la tramitación de pedidos, los procesos de procesamiento de datos o los trabajos de análisis de varios pasos.

Flujos de trabajo rápidos

Diseñados para cargas de trabajo de alta tasa de eventos y de corta duración con una semántica de ejecución de al menos una vez. Los flujos de trabajo exprés pueden durar hasta cinco minutos y son ideales para el procesamiento de eventos de gran volumen, la transmisión de transformaciones de datos o los escenarios de ingesta de datos de IoT. Ofrecen un mayor rendimiento y, potencialmente, un costo más bajo en comparación con los flujos de trabajo estándar.

nota

Para obtener más información sobre los tipos de flujo de trabajo de Step Functions, consulte Elección del tipo de flujo de trabajo en Step Functions.

Dentro de estos flujos de trabajo, Step Functions brinda dos tipos de estados de mapa para el procesamiento paralelo:

Inline Map

Procesa los elementos de una matriz JSON dentro del historial de ejecución del flujo de trabajo principal. Inline Map admite hasta 40 iteraciones simultáneas y es adecuado para conjuntos de datos más pequeños o cuando se necesita mantener todo el procesamiento en una sola ejecución. Para obtener más información, consulte Uso del estado Map en modo Inline.

Distributed Map

Permite el procesamiento de cargas de trabajo paralelas a gran escala mediante la iteración de conjuntos de datos que superan los 256 KiB o requieren más de 40 iteraciones simultáneas. Con soporte para hasta 10 000 ejecuciones de flujos de trabajo secundarios en paralelo, Distributed Map destaca en el procesamiento de datos semiestructurados almacenados en Amazon S3, como archivos JSON o CSV, lo que lo hace ideal para el procesamiento por lotes y las operaciones de ETL. Para obtener más información, consulte Uso del estado Map en modo Distributed.

Al combinar estos tipos de flujo de trabajo y estados de mapas, Step Functions brinda un conjunto de herramientas flexible y potente para la orquestación de aplicaciones complejas sin servidor, desde operaciones a pequeña escala hasta canalizaciones de procesamiento de datos a gran escala.

Para empezar a utilizar Lambda con Step Functions, consulte Orquestación de las funciones de Lambda con Step Functions.

Administración de eventos con EventBridge y con el Programador de EventBridge

Amazon EventBridge es un servicio de bus de eventos que le ayuda a crear arquitecturas basadas en eventos. Enruta eventos entre servicios de AWS, aplicaciones integradas y aplicaciones de software como servicio (SaaS). El Programador de EventBridge es un programador sin servidor que permite crear, ejecutar y administrar tareas desde un servicio centralizado, lo que permite invocar funciones de Lambda según un horario mediante expresiones de frecuencia o configurar invocaciones únicas.

Amazon EventBridge y el Programador de EventBridge ayudan a crear arquitecturas basadas en eventos con Lambda. EventBridge enruta los eventos entre servicios de AWS, aplicaciones integradas y aplicaciones SaaS, mientras que el Programador de EventBridge brinda capacidades de programación específicas para invocar funciones de Lambda de forma recurrente o puntual.

Estos servicios proporcionan varias capacidades clave para trabajar con funciones de Lambda:

  • Crean reglas que coinciden y enrutan los eventos a las funciones de Lambda mediante EventBridge

  • Configuran invocaciones de funciones recurrentes mediante expresiones de frecuencia con el Programador de EventBridge

  • Configuran invocaciones de funciones únicas en fechas y horas específicas

  • Definen intervalos de tiempo flexibles y políticas de reintentos para las invocaciones programadas

Para obtener más información, consulte Invocación de una función de Lambda según una programación.