¿Qué es AWS Lambda? Función Lambda con ejemplos
⚡ Resumen inteligente
AWS Lambda es una plataforma de computación sin servidor basada en eventos. Amazon Servicios web que ejecutan tu código en respuesta a activadores, gestionando automáticamente el aprovisionamiento, el escalado y la administración del servidor para que puedas centrarte únicamente en la lógica de negocio.

Antes de explorar AWS Lambda, conviene comprender qué significa "sin servidor".
¿Qué es Serverless?
El término "sin servidor" generalmente se refiere a aplicaciones que no requieren servidor. Estas aplicaciones no necesitan ningún servidor y no requieren que usted las administre.
¿Qué es AWS Lambda?
AWS Lambda es una plataforma informática sin servidor impulsada por eventos proporcionada por Amazon como parte de Amazon Servicios web. Por lo tanto, no necesita preocuparse por qué recursos de AWS lanzar ni cómo administrarlos. Simplemente coloque el código en Lambda y este se ejecutará.
En AWS Lambda, el código se ejecuta en función de la respuesta de eventos en los servicios de AWS, como agregar o eliminar archivos en un bucket de S3, una solicitud HTTP de Amazon Puerta de enlace API y eventos similares. Sin embargo, Amazon Lambda solo se puede utilizar para ejecutar tareas en segundo plano.
La función AWS Lambda te ayuda a centrarte en tu producto principal y en la lógica de negocio, en lugar de gestionar el control de acceso al sistema operativo (SO), la aplicación de parches al SO, el dimensionamiento adecuado, el aprovisionamiento, el escalado, etc.
¿Cómo funciona AWS Lambda?
El siguiente ejemplo de AWS Lambda con diagrama de bloques explica el funcionamiento de AWS Lambda en unos sencillos pasos:
Paso 1: Primero cargue su código AWS Lambda en cualquier idioma admitido por AWS Lambda. Java, PythonGo y C# son algunos de los lenguajes compatibles con la función AWS Lambda.
Paso 2: Estos son algunos servicios de AWS que le permiten activar AWS Lambda.
Paso 3: AWS Lambda le ayuda a cargar el código y los detalles del evento en el que debe activarse.
Paso 4: Ejecuta el código de AWS Lambda cuando los servicios de AWS lo activan.
Paso 5: AWS solo cobra cuando se ejecuta el código de AWS Lambda, y no en ningún otro caso.
Esto sucederá en los siguientes escenarios:
- Cargar archivos en un depósito S3
- Cuando un punto final HTTP get/post URL es golpeado
- Para agregar, modificar y eliminar tablas de DynamoDB
- En el proceso de recopilación de flujos de datos.
- Notificación de inserción
- Alojamiento de sitio web
- Envío de correo electrónico
Nota: Debes recordar que solo se te cobrará por los servicios de AWS cuando se ejecute el código de AWS Lambda; de lo contrario, no tendrás que pagar nada.
Eventos que desencadenan AWS Lambda
Estos son los eventos que se activarán al usar AWS Lambda.
- Insertar, actualizar y eliminar datos en una tabla de DynamoDB.
- Para incluir notificaciones push en SNS
- Para buscar el historial de registros en CloudTrail
- Entrada en un objeto S3
- DynamoDB puede activar AWS Lambda cada vez que se agregan, modifican y eliminan datos en la tabla.
- Te ayuda a programar el evento para llevar a cabo la tarea en un horario regular.
- Modificaciones a objetos en depósitos de S3
- Notificaciones enviadas desde Amazon S.N.S.
- AWS Lambda se puede utilizar para procesar los registros de CloudTrail.
- API Gateway le permite activar AWS Lambda en métodos GET/POST.
AWS Lambda Concepts
Funciones: Una función es un programa o script que se ejecuta en AWS Lambda. Lambda pasa eventos de invocación a su función, que procesa un evento y devuelve su respuesta.
Tiempos de ejecución: Runtime permite que funciones en varios lenguajes se ejecuten en el mismo entorno de ejecución base. Esto le ayuda a configurar su función en el entorno de ejecución. También coincide con su selección. lenguaje de programación.
Fuente del evento: Un origen de evento es un servicio de AWS, como Amazon SNS o un servicio personalizado. Este disparador ayuda a la función a ejecutar su lógica.
Capas Lambda: Las capas Lambda son un mecanismo de distribución importante para bibliotecas, tiempos de ejecución personalizados y otras dependencias de funciones importantes. Este componente de AWS también le ayuda a administrar el código de su función de desarrollo por separado del código inmutable y los recursos que utiliza.
Secuencias de registros: La función Log Stream te permite anotar el código de tu función con instrucciones de registro personalizadas que te ayudan a analizar el flujo de ejecución y el rendimiento de tus funciones AWS Lambda.
Cómo utilizar AWS Lambda
Ahora, aprenderemos cómo usar AWS Lambda con un ejemplo práctico:
Paso 1) Abra AWS Lambda URL
Vaya al https://aws.amazon.com/lambda/ y comienza.
Paso 2) Cree una cuenta
A continuación, crea una cuenta o inicia sesión con tu cuenta existente.
Paso 3) Edita el código y haz clic en Ejecutar.
En la siguiente página de Lambda, edite el código y haga clic en Ejecutar.
Paso 4) Verificar salida
Verás el resultado.
AWS Lambda frente a AWS EC2
Aquí hay algunas diferencias importantes entre AWS Lambda y EC2.
| Parámetros | AWS Lambda | AWS EC2 |
| Definición | AWS Lambda es una plataforma como servicio (PaaS). Le ayuda a ejecutar y ejecutar su código backend. | AWS EC2 es una infraestructura como servicio (IaaS). Proporciona recursos informáticos virtualizados. |
| Flexibilidad | No ofrece ninguna flexibilidad para iniciar sesión en las instancias de computación. Permite elegir un sistema operativo o un entorno de ejecución de lenguaje personalizado. | Ofrece la flexibilidad de seleccionar diversas instancias, sistemas operativos personalizados, parches de seguridad, redes, etc. |
| Proceso de instalación | Debes seleccionar el entorno donde deseas ejecutar el código y subirlo a AWS Lambda. | Por primera vez en EC2, debe elegir el sistema operativo e instalar todo el software necesario y luego insertar su código en EC2. |
| Restricciones ambientales | Está restringido a unos pocos idiomas. | Sin restricciones ambientales. |
AWS Lambda frente a AWS Elastic Beanstalk
Aquí hay algunas diferencias importantes entre AWS Lambda y Elastic Beanstalk.
| Parámetros | AWS elástico Beanstalk | AWS Lambda |
| Tarea principal | Implemente y administre las aplicaciones en la nube de AWS sin preocuparse por la infraestructura que ejecuta esas aplicaciones. | AWS Lambda se utiliza para ejecutar el código de back-end. No se puede utilizar para desplegar una aplicación. |
| Selección de recursos de AWS | Te da la libertad de seleccionar los recursos de AWS; por ejemplo, puedes elegir una instancia EC2 que sea óptima según tu aplicación. | No puedes seleccionar los recursos de AWS, como por ejemplo un tipo de instancia EC2; Lambda ofrece recursos en función de tu carga de trabajo. |
| Tipo de sistema | Es un sistema con estado. | Es un sistema sin Estado. |
Casos de uso de AWS Lambda
AWS Lambda se utiliza para una amplia gama de aplicaciones, como:
- Te ayuda con el Proceso ETL
- Le permite realizar procesamiento de archivos en tiempo real y procesamiento de secuencias en tiempo real.
- Uso para crear aplicaciones web.
- Usa en Amazon productos como Alexa Chatbots y Amazon Eco/Alexa
- Procesamiento de datos (análisis de transmisión en tiempo real)
- Copias de seguridad automatizadas de las tareas cotidianas
- Sistemas de backend escalables (aplicaciones móviles, dispositivos IoT)
- Le ayuda a ejecutar la lógica backend del lado del servidor
- Permite filtrar y transformar datos.
Mejores prácticas de la función Lambda
A continuación, se presentan algunas de las mejores prácticas para las funciones de AWS Lambda:
- Utilice el "tiempo de espera" correcto.
- Utilice las funciones de almacenamiento local, que tiene un tamaño de 500 MB y se encuentra en la carpeta /temp.
- Minimice el uso de código de inicio que no esté directamente relacionado con el procesamiento del evento actual.
- Debe utilizar el monitoreo integrado de CloudWatch de sus funciones Lambda para ver y optimizar las latencias de las solicitudes.
Cuándo no utilizar AWS Lambda
A continuación se presentan las situaciones en las que Lambda no es, sin duda, una opción ideal:
- No es apropiado usar AWS Lambda para paquetes de software o aplicaciones que dependen de llamadas a funciones subyacentes. Windows RPC.
- Si se utiliza para aplicaciones de software personalizadas con acuerdos de licencia como el procesamiento de documentos de MS-Office, Oracle bases de datos, etc.
- AWS Lambda no debe utilizarse para procesos de hardware personalizados, como la aceleración por GPU y la afinidad de hardware.
Ventajas de utilizar AWS Lambda
Estas son las ventajas y beneficios de usar AWS Lambda:
- AWS Lambda es una herramienta muy flexible.
- Te ayuda a otorgar acceso a recursos, incluidas las VPC.
- Autor directamente con un WYSIWeditor de YG en la consola.
- Puedes usarlo como complemento para Eclipse y Visual Studio.
- Al tratarse de una arquitectura sin servidor, no es necesario preocuparse por la gestión o el aprovisionamiento de servidores.
- No es necesario configurar ningún Virtual Machine.
- Ayuda a los desarrolladores a ejecutar la respuesta del código a eventos sin construir ninguna infraestructura.
- Solo tienes que pagar por el tiempo de procesamiento utilizado, únicamente cuando se ejecuta tu código.
- Puede monitorear el rendimiento de su código en tiempo real a través de CloudWatch.
- Te permite ejecutar tu código sin necesidad de aprovisionar ni administrar ningún otro servidor.
- Te ayuda a ejecutar el código solo cuando sea necesario.
- Puede escalarlo automáticamente para manejar algunas solicitudes por día e incluso admitir más de miles de solicitudes por segundo.
- AWS Lambda se puede configurar con la ayuda de temporizadores de eventos externos para realizar tareas programadas.
- Las funciones Lambda en AWS deben configurarse con eventos externos y temporizadores para que puedan utilizarse para la programación.
- Las funciones Lambda no tienen estado, por lo que pueden escalarse rápidamente.
- AWS Lambda es rápido, por lo que ejecutará su código en milisegundos.
Limitaciones de AWS Lambda
Estas son las desventajas de utilizar AWS Lambda:
- La herramienta AWS Lambda no es adecuada para proyectos pequeños.
- AWS Lambda depende completamente de AWS para la infraestructura, por lo que no puedes instalar ningún software adicional si tu código lo requiere.
- La ejecución concurrente tiene un límite predeterminado de 1,000 por región, que puede aumentarse a petición.
- Su capacidad de memoria puede variar entre 128 MB y 10,240 MB.
- La solicitud de evento no debe exceder los 128 KB.
- Las funciones Lambda le ayudan a escribir sus registros solo en CloudWatch. Esta es la única herramienta que le permite monitorear o solucionar problemas de sus funciones.
- El tiempo de ejecución de su código está limitado a 15 minutos.




