Los lambdas son un servicio cloud (FaaS) que ejecutan lógica programada en algún lenguaje de programación. Inician y terminan, es decir, no son un servicio en constante ejecución desplegado en un servidor i.e. son serverless. El proveedor cloud únicamente factura por el tiempo y recursos usados en la ejecución, por lo que son útiles para ahorrar en costos.
AWS Lambda
En el caso del servicio de FaaS que provee AWS, los lambdas se pueden ejecutar por desencadenadores diferentes:
evento de kinesis: se activan para procesar un evento que de kinesis que es inyectado en el stream.
API Gateway: Se activan con una llamada REST a un endpoint de API
SQS: Se activan al recibir un mensaje disponible en SQS
S3: Se activan por eventos de S3 como creación de un objeto, borrado de un objeto, mover un objeto etc.
Casos de uso
Los lambdas son útiles pero no siempre son la mejor opción, ya que tienen la limitante de no poder ejecutarse por más de 15 minutos. Esto quiere decir que el caso de uso para utilizarlos es un proceso corto de procesamiento, no están pensadas para procesos largos de procesamiento.
Estándares SPIN
En SPIN utilizamos el lenguaje estándar NodeJs con TypeScript para nuestras funciones lambdas, pero se pueden usar también otros como Python etc.
Si necesita más información sobre cómo crear su lambda en TypeScript, aquí hay un enlace a los estándares.
Si un lambda necesita un valor sensible como apikeys, certificados etc, deberá leerlos del parameter store de AWS (SSM - Simple System Manager).