Uso de funciones Lambda para crear una API REST

Uso de funciones Lambda para crear una API REST

Contamos con una aplicación web que funciona con una API compuesta por funciones de AWS Lambda. Para la API, tenemos tres entornos (producción, preparación y demostración). Estábamos desarrollando las funciones usandosin servidor sin conexióny las funciones se ven así (hay 84 funciones en total, 28 funciones en cada entorno):

Producción

  • api-prod-función-1
  • api-prod-función-2
  • api-prod-función-3
  • etc...

Puesta en escena

  • api-staging-función-1
  • función-estadificación-api-2
  • api-staging-función-3
  • etc...

Manifestación

  • api-demo-función-1
  • api-demo-función-2
  • api-demo-función-3
  • etc...

Según el entorno, las funciones están conectadas a diferentes DB y diferentes ENV de los servicios que utilizamos (es decir, Auth0 sandbox y live, Mailgun sandbox y live, etc.)

El problema es que las funciones han excedido el límite máximo de almacenamiento de código de 75 GB. Usamos este script para limpiar las versiones anteriores, pero parece que no quedan versiones anteriores para eliminar.

Entonces mis preguntas son:

  1. ¿Es posible aumentar este límite de almacenamiento?
  2. Básicamente, toda la API se basa en funciones lambda y cada punto final llama a su propia función lambda. ¿Es este un buen caso de uso de Lambda?

Paquetes utilizados:

  • nodo-analítico
  • autenticación0
  • aws-sdk
  • siempre firmar
  • formidable
  • jsonwebtoken
  • knex
  • analizador-multiparte-lambda
  • enrutador lambda-slack
  • mediodía
  • momento
  • correo de nodo
  • nodemailer-mailgun-transporte
  • objeción
  • página
  • cuervo
  • pedido
  • solicitud-promesa-nativa
  • centinela sin servidor
  • lib-centinela sin servidor
  • sha1
  • notificación floja
  • UUID
  • validador

Para su información: La persona que construyó todo esto en primer lugar dejó la empresa y soy yo quien tiene que cuidarla hasta que encontremos a una persona adecuada. Tengo un poco de experiencia en AWS por lo que cualquier consejo sería de gran ayuda.

Gracias de antemano.

Respuesta1

¿Es posible aumentar este límite de almacenamiento?

Sí, puede solicitar más almacenamiento para Lambdas. Vaya al Centro de soporte --> Seleccionar Create Case--> Seleccionar Service Limit Increase--> Tipo de límiteLambda

ingrese la descripción de la imagen aquí

Desplácese hacia abajo hasta la Requestssección y complétela Function and Layer Storagecomo se ve en la imagen a continuación. Complete su Use Casey envíelo.

ingrese la descripción de la imagen aquí

Básicamente, toda la API se basa en funciones lambda y cada punto final llama a su propia función lambda. ¿Es este un buen caso de uso de Lambda?

En términos generales, sí, este es un muy buen caso de uso para Lambdas. La advertencia es que no conozco su arquitectura ni su código. Hay varias referencias (enumeradas a continuación) sobre casos de uso de Lambdas y cómo crear API REST usando Lambda.

Websites – Suppose you are creating a website and you want to host the backend logic on Lambda. You can invoke your Lambda function over HTTP using Amazon API Gateway as the HTTP endpoint. Now, your web client can invoke the API, and then API Gateway can route the request to Lambda.

Referencias

Cree una API REST con integraciones Lambda en Amazon API Gateway
Cree un microservicio simple utilizando Lambda y API Gateway
Tipos de aplicaciones y casos de uso comunes de Lambda

Respuesta2

¿Utiliza la tecnología sin servidor para implementar sus funciones API y Lambda? Esa es la forma más sencilla de asegurarse de que estén aprovisionados en el punto final correcto, ya que puede asignar los puntos finales a cada Lambda en línea.

https://carova.io/snippets/serverless-aws-api-gateway-create-and-deploy-api

Luego agregaría una función Lambda como aquí: https://carova.io/snippets/serverless-aws-lambda-function-as-api-gateway-endpoint

información relacionada