Funciones duraderas de Lambda - AWS Lambda

Funciones duraderas de Lambda

Las funciones duraderas de Lambda le permiten crear aplicaciones resilientes de varios pasos y flujos de trabajo de IA que pueden ejecutarse durante 1 año como máximo y, al mismo tiempo, mantener un progreso fiable a pesar de las interrupciones. Cuando se ejecuta una función duradera, este ciclo de vida completo se denomina ejecución duradera, que utiliza puntos de control para hacer un seguimiento del progreso y recuperarse automáticamente de los errores mediante la reproducción, es decir, se vuelve a ejecutar desde el principio y se omite el trabajo completado.

Dentro de cada función, utiliza operaciones duraderas como componentes básicos. Los pasos ejecutan la lógica empresarial con los reintentos integrados y el seguimiento del progreso, mientras que las esperas suspenden la ejecución sin incurrir en gastos de cómputo, lo que los hace ideales para procesos de larga duración, como los flujos de trabajo con intervención humana o los sondeos sobre dependencias externas. Ya sea que esté procesando pedidos, coordinando microservicios u orquestando aplicaciones de IA agéntica, las funciones duraderas mantienen el estado automáticamente y se recuperan de los errores mientras escribe código en lenguajes de programación conocidos.

Ventajas principales

Escriba código resiliente de forma natural: con los constructos de programación conocidos, se escribe código que maneja los errores automáticamente. La creación de puntos de control integrados, los reintentos transparentes y la recuperación automática hacen que su lógica empresarial se mantenga limpia y centrada.

Pague solo por lo que utilice: durante las operaciones de espera, su función se suspende sin incurrir en gastos de cómputo. En el caso de los flujos de trabajo de larga duración que esperan horas o días, solo paga por el tiempo de procesamiento real, no por las esperas inactivas.

Simplicidad operativa: con el modelo sin servidor de Lambda, se obtiene un escalado automático, incluido el escalado a cero, sin administrar la infraestructura. Las funciones duraderas gestionan automáticamente la gestión del estado, la lógica de reintentos y la recuperación de errores, lo que reduce la sobrecarga operativa.

Funcionamiento

En realidad, las funciones duraderas son las funciones de Lambda normales que utilizan un mecanismo de puntos de control/reproducción para realizar un seguimiento del progreso y respaldar las operaciones de larga duración a través de puntos de suspensión definidos por el usuario, comúnmente denominados ejecución duradera. Cuando una función duradera se reanuda tras un punto de espera o una interrupción, como los reintentos, el sistema realiza la reproducción. Durante la reproducción, el código se ejecuta desde el principio, pero omite los puntos de control completados y utiliza los resultados almacenados en lugar de volver a ejecutar las operaciones finalizadas. Este mecanismo de reproducción garantiza la coherencia y, al mismo tiempo, permite ejecuciones de larga duración.

Cuando la función se reanude tras una pausa o interrupción, el sistema realizará la reproducción. Durante la reproducción, el código se ejecuta desde el principio, pero omite los puntos de control completados y utiliza los resultados almacenados en lugar de volver a ejecutar las operaciones finalizadas. Este mecanismo de reproducción garantiza la coherencia y, al mismo tiempo, permite ejecuciones de larga duración.

Para aprovechar este mecanismo de puntos de control y reproducción en sus aplicaciones, Lambda proporciona un SDK de ejecución duradera. El SDK elimina la complejidad de la gestión de los puntos de control y la reproducción, y expone primitivas sencillas denominadas operaciones duraderas que utiliza en su código. El SDK está disponible para JavaScript, TypeScript y Python, y se integra perfectamente con el flujo de trabajo de desarrollo de Lambda existente.

Con el SDK, puede encapsular el controlador de eventos de Lambda, que luego proporciona un DurableContext junto con su evento. Este contexto le da acceso a operaciones duraderas, como los pasos y las esperas. La lógica de la función se escribe como un código secuencial normal, pero, en lugar de llamar directamente a los servicios, se encapsulan las llamadas en pasos para la creación automática de puntos de control y reintentos. Cuando necesita pausar la ejecución, añada esperas que suspenden la función sin incurrir en cargos. El SDK gestiona toda la complejidad de la administración del estado y la reproducción en segundo plano, para que el código permanezca limpio y legible.

Filter for Amazon Inspector results related to Lambda functions

Cuándo utilizar funciones de larga duración

Coordinación de corta duración: coordine los pagos, el inventario y los envíos entre varios servicios con una reversión automática en caso de errores. Procese los pedidos mediante la validación, la autorización de pago, la asignación del inventario y la gestión logística con una finalización garantizada.

Procese los pagos con confianza: cree flujos de pago resilientes que mantengan el estado de las transacciones en caso de errores y gestionen los reintentos de forma automática. Coordine la autorización en varios pasos, las comprobaciones de fraude y la liquidación entre los proveedores de pagos con total auditabilidad en todos los pasos.

Cree flujos de trabajo de IA fiables: cree flujos de trabajo de IA de varios pasos que modelen llamadas en cadena, incorporen comentarios humanos y gestionen las tareas de larga duración de forma determinista durante los errores. Reanude automáticamente tras la suspensión y pague solo por el tiempo de ejecución activo.

Orqueste el cumplimiento de pedidos complejos: coordine el procesamiento de pedidos en los sistemas de inventario, pago, envío y notificación con resiliencia integrada. Gestione automáticamente los errores parciales, conserve el estado de los pedidos a pesar de las interrupciones y espere de forma eficiente a que se produzcan eventos externos sin consumir recursos de cómputo.

Automatice los flujos de trabajo empresariales de varios pasos: cree flujos de trabajo fiables para la incorporación de empleados, la aprobación de préstamos y los procesos de cumplimiento que abarquen días o semanas. Mantenga el estado del flujo de trabajo en lo que respecta a las aprobaciones humanas, las integraciones de sistemas y las tareas programadas, a la vez que proporciona una visibilidad total del estado y el historial de los procesos.

Siguientes pasos