AWS Lambda
Lambda es una oferta de servicio sin servidor en AWS que le permite ejecutar su código sin preocuparse por el aprovisionamiento y el mantenimiento de la infraestructura de backend.
Simplemente seleccione su tiempo de ejecución (Node.js, python, Ruby, Java,…), seleccione la arquitectura de su conjunto de instrucciones (x86_64 o arm64) y comience a escribir su código.
Hay disponibles opciones de configuración adicionales, como memoria y tiempo de espera de ejecución. Tenga en cuenta que estos parámetros afectan la facturación, ya que se le factura según la duración de la ejecución (por ms) en Lambda. Más memoria asignada resultará en un precio de duración de ejecución más alto por milisegundo.
También puede configurar su función Lambda a partir de una imagen de contenedor o un plano.
Los activadores basados en eventos se pueden configurar fácilmente con activadores Lambda. Los activadores se pueden personalizar en función de su arquitectura y requisitos basados en eventos.
Algunos ejemplos de disparadores:
- CRON o expresiones de tasa con un activador de EventBridge.
- Activador de API con activadores de API Gateway.
- Carga de objetos S3 con disparadores S3. (Ver solicitud a continuación)
Una función también puede tener destinos:
- Tema SNS para notificar a los usuarios finales.
- Cola SQS. Bueno para desacoplar aplicaciones en arquitecturas de microservicios.
- Otra función Lambda.
En mi caso de uso más reciente, implementé un script de optimización para mejorar un conjunto de KPI (volúmenes de EBS no adjuntos, EIP inéditos,…) para nuestro gran entorno de AWS. Los hallazgos se agregan y luego se exportan a un bucket de S3 listo para ser ingeridos por los equipos de BI para la visualización de datos y la generación de informes.
Un activador de EventBridge con una expresión CRON para programar la ejecución de mi script es adecuado para mi caso de uso. Las expresiones CRON siguen el siguiente formato:
cron(Minutes Hours Day-of-month Month Day-of-week Year)
Las expresiones de tasa también son válidas para este tipo de activador:
rate(5 minutes) rate(1 hour) rate(7 days)
Cada función de Lambda debe tener un “lambda_handler” definido que sea responsable de procesar eventos y ejecutar código al invocar la función.