No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

AWS Lambda: Introducción a la Informática sin Servidores

5/16
Recursos

AWS Lambda es un servicio serverless que nos permite ejecutar código en respuesta a eventos, sin preocuparnos por servidores o infraestructura. Estos eventos pueden ser temporizadores, visitas a alguna sección de nuestra aplicación, solicitudes HTTP, entre otros.

Entre sus casos de uso encontramos el (pre)procesamiento de datos a escala, y la ejecución de backends web, móviles y de IoT interactivos. Lambda se puede combinar con otros servicios de AWS para crear experiencias en línea seguras, estables y escalables.

¿Cómo se factura Lambda?

Lambda se factura por milisegundos, y el precio depende del uso de RAM. Por ejemplo, 128MB RAM x 30 millones de eventos por mes resultan en un costo de $11.63 al mes.

Contribución creada por: Ciro Villafraz.

Aportes 23

Preguntas 7

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Importante que recordemos, serverless (sin servidor), no significa que nuestras aplicaciones no correnen un servidor, sino que significa que nosotros no administramos los servidores, y únicamente nos preocupamos por nuestro código. AWS se encarga de todo lo demás.

Lambda ofrece 1 millón de solicitudes gratis al mes, con el nivel gratuito de AWS.

Supongamos que queremos tener una aplicacion que diariamente envia un mensaje en twitter.

Requisitos

  • API twitter, EC2, SO Linux, lenguajde de programación Python
  • Network, Hard drive, Actualizaciones

AWS Lambda

  • Servicio informático sin servidor
  • Ejecuta su código en respuesta a eventos.

Caso de uso

Subes una imagen y el lamba crea varias resoluciones

Facturacion por milisegundos

  • El precio depende del uso de RAM
  • 128MB RAM x 30M eventos por mes.
  • $11.63 al mes

En la empresa tuvimos varias fases de cambios, pasamos de on premise a aws ec2, duramos así algunos años, luego la administración de ec2, de desplegar wildfly, el mantenimiento etc, decidimos volcarnos a Lambda pues ya vimos madurez y mejoramos el Time to Market y la administración de infraestructura pues no teníamos casi gente a esa administración, por último ya no usamos DB relacionales sino conectamos lambda con Dyanamo DB pues ya se podía conectar. Lamba al principio nos trajo algunos problemas pues al levantar el servicio tenía unas demoras que nos generaban fallas en request, pero lambda ha evolucionado bastante.

Gracias por dar casos de uso. Considero que es importante ejemplificar los servicios de AWS para que quede más claro como se pueden usar en un ambiente productivo

Uno de los retos mas grandes de la nube… es saber cual servicio escoger… por ejemplo, para una aplicacion… dependiendo la cantaidad de ‘request’ que tendras, podria tener mas sentido tener lambdas (para pocos request) o full time (para un servidor que podria ser golpeado miles de veces por segundo)… y eso puede tambien variar dependiendo del exito que un servicio tenga de la ‘noche a la manana’ que requiera cambiar de solucion ‘on the fly’

el problema más grande que tiene el serverless es el coldstart! Se demora un tiempo entre que se invoca y que se despierta la función!

extraído de la página oficial de AWS:
Enlace: https://docs.aws.amazon.com/es_es/lambda/latest/dg/lambda-services.html#intro-core-components-event-sources

AWS Lambda se integra con otros servicios de AWS para invocar funciones o realizar otras acciones. A continuación se indican algunos casos de uso comunes:

En función del servicio que esté utilizando con Lambda, la invocación generalmente puede funcionar de dos maneras. Un evento impulsa la invocación o Lambda sondea una cola o un flujo de datos e invoca la función en respuesta a la actividad de la cola o el flujo de datos. Lambda se integra con Amazon Elastic File System y AWS X-Ray de una forma que no implica invocar funciones.

Me gustaria que AWS fuera un poco mas transparente en la forma de presentar sus servicios… Si, puedes hacer millones de llamadas por centavos… pero… en su forma ‘nativa’ el endpoint no puede hacer mucho… necesitas guardar archivos, agrega costos de s3, necesitas base de datos (seguramente!!) es otro costo anexo… y rapidamente los costos se agregan… es ipmortante tener todo ese pendiente y ver si es mas practico vs tener un servicio hosteado completamente en un EC2

AWS Lambda es un servicio de cómputo sin servidor proporcionado por Amazon Web Services (AWS) que te permite ejecutar código en respuesta a eventos sin tener que administrar servidores. Es parte de la plataforma de cómputo sin servidor de AWS y ofrece una forma flexible y escalable de ejecutar código en la nube. ### Características clave de AWS Lambda: 1. **Sin Servidores**: No necesitas preocuparte por la administración de servidores, ya que AWS se encarga de todo el infraestructura subyacente. Solo te enfocas en escribir y subir tu código. 2. **Escalabilidad Automática**: Lambda escala automáticamente la capacidad de cómputo en función de la carga de trabajo. Se asignan recursos según sea necesario para manejar las solicitudes entrantes. 3. **Pagos por Uso**: Pagas solo por el tiempo de ejecución de tu código, sin tarifas fijas ni costos por tiempo de inactividad. Esto lo hace rentable para aplicaciones con cargas de trabajo variables. 4. **Integración con Servicios de AWS**: Lambda se integra con muchos otros servicios de AWS, como Amazon S3, DynamoDB, API Gateway, SNS, entre otros, lo que te permite construir aplicaciones complejas y sin problemas. 5. **Event-Driven**: Lambda se ejecuta en respuesta a eventos, como cambios en la base de datos, cargas de archivos en S3, mensajes en colas de mensajes, solicitudes HTTP, entre otros. Esto permite una arquitectura orientada a eventos. 6. **Soporte Multi-Lenguaje**: Puedes escribir funciones Lambda en varios lenguajes de programación, incluyendo Node.js, Python, Java, Go, Ruby, y .NET Core.

Mer gusta mucho la actitud y energía del profe!!

Este servicio se oye muy genial!!!

Que caro todo esto 🥲

🤯 Siempre había escucho de Lambda y no entendía por que el gusto o la decisión de utilizar este, Ahora ya todo tiene sentido

Wow no sabía que era tan barato :0

### **🚀 AWS Lambda: Computación sin Servidores (Serverless)** **AWS Lambda** es un servicio de computación sin servidores que te permite ejecutar código sin necesidad de administrar servidores. Solo subes tu código y AWS se encarga de la ejecución, escalado y administración. ## **🔹 Características Clave** ✅ **Sin Servidores** – AWS gestiona la infraestructura automáticamente. ✅ **Pago por Uso** – Solo pagas por el tiempo que tu función esté en ejecución. ✅ **Ejecución en Respuesta a Eventos** – Se activa con eventos de otros servicios AWS. ✅ **Escalado Automático** – Se ajusta a la demanda sin intervención manual. ✅ **Compatible con Múltiples Lenguajes** – Soporta Python, Node.js, Java, Go, Ruby, y más. ## **🔹 Casos de Uso** ✔️ **Procesamiento de Datos en Tiempo Real** (logs, métricas, IoT). ✔️ **Automatización de Tareas** (backup, limpieza de datos). ✔️ **Desarrollo de APIs sin Servidor** con API Gateway + Lambda. ✔️ **Integración con Otros Servicios AWS** (S3, DynamoDB, SNS, SQS, etc.). ## **🚀 Creando una Función AWS Lambda en la Consola** ### **1️⃣ Acceder a AWS Lambda** 1. Ve a la [consola de AWS Lambda](https://aws.amazon.com/lambda/). 2. Haz clic en **Crear función**. ### **2️⃣ Configurar la Función** * **Nombre**: `mi-lambda` * **Tiempo de ejecución**: `Python 3.9` (puedes elegir otro lenguaje). * **Permisos**: Usa los permisos por defecto o crea un rol IAM personalizado. * Haz clic en **Crear función**. ### **3️⃣ Escribir el Código** AWS proporciona un editor en línea. Agrega el siguiente código en **Python**: import json def lambda\_handler(event, context): return { 'statusCode': 200, 'body': json.dumps('¡Hola desde AWS Lambda!') } Guarda los cambios y haz clic en **Implementar**. ### **4️⃣ Probar la Función** 1. Haz clic en **Probar**. 2. Crea un evento de prueba con datos de ejemplo. 3. Ejecuta la función y verifica el resultado en la consola. ## **🔹 Activar Lambda con un Evento de S3** Si quieres que Lambda se ejecute cuando se suba un archivo a S3: 1. **Ve a Amazon S3** y selecciona un bucket. 2. **Configuración → Eventos → Crear evento**. 3. Selecciona **PUT (carga de archivos)** como evento. 4. Especifica el nombre de tu función Lambda. 5. Guarda y prueba subiendo un archivo a S3. ## **🔹 Desplegar Lambda con AWS CLI** Si prefieres crear y subir la función desde la terminal: 1️⃣ Guarda tu código en `lambda_function.py`. 2️⃣ Empaqueta el archivo en un ZIP: zip mi-lambda.zip lambda\_function.py 3️⃣ Crea la función en AWS Lambda: aws lambda create-function \\ \--function-name mi-lambda \\ \--runtime python3.9 \\ \--role arn:aws:iam::123456789012:role/lambda-role \\ \--handler lambda\_function.lambda\_handler \\ \--zip-file fileb://mi-lambda.zip Reemplaza `123456789012` con tu ID de cuenta y `lambda-role` con un rol IAM válido. ## **🔹 Integración con API Gateway** Para exponer tu función Lambda como una API REST: 1. **Ve a API Gateway → Crear API**. 2. Selecciona **API REST** y crea un nuevo endpoint. 3. Configura una **Integración con AWS Lambda**. 4. Implementa y obtén la URL pública de tu API. ## **🎯 ¿Qué Sigue?** 🔹 Conectar Lambda con **DynamoDB, SQS o SNS**. 🔹 Usar **Lambda Layers** para reutilizar código y dependencias. 🔹 **Optimizar costos** ajustando memoria y tiempo de ejecución.

Serverless es un modelo de computación en la nube que permite a los desarrolladores crear y ejecutar aplicaciones sin la necesidad de preocuparse por la infraestructura subyacente. En lugar de tener que aprovisionar y administrar servidores, los desarrolladores pueden centrarse en escribir código y dejar que el proveedor de servicios en la nube se encargue de la gestión de la infraestructura. Algunas de las ventajas de utilizar servicios serverless son:
Mayor rapidez en el desarrollo de aplicaciones.
Menor costo total de propiedad.
Escalabilidad automática.
Alta disponibilidad integrada.
Modelo de facturación basado en el uso.
Los servicios serverless se utilizan comúnmente en el desarrollo de aplicaciones web y móviles, así como en la integración de sistemas y la automatización de procesos empresariales. Algunos ejemplos de servicios serverless son AWS Lambda, Google Cloud Functions y Azure Functions.

Documentación sobre AWS Lambda

Información resumida de esta clase
#EstudiantesDePlatzi

  • Con EC2 iniciamos un servidor virtual

  • AWS Lambda es un servicio informático sin servidor, en donde podemos ejecutar código sin eventos

  • Lambda en estos momentos se esta iniciando, realizando tareas y desactivandose

  • El precio de Lambda depende de su RAM y es muy económico

Lo ejemplos están geniales, me gustaría que todos sean mostrados con los componentes de aplicaciones y recursos de AWS. Así como el primer ejemplo.

El caso de uso se pudiera hacer en funcion del ejemplo que se dio al principio, ¿como se haria en Lambda? Saludos

He quedado sorprendido con este servicio de AWS, me llamó demasiado la atención. Excelente!!!