Volver al curso

Cloud Computing con AWS: Arquitectura y Servicios

leccion
5 / 12
intermediate
28 horas
Computo y Almacenamiento en AWS

AWS Lambda: Serverless y Arquitectura Event-Driven

Lectura
50 min~2 min lectura

Lambda: Ejecuta Codigo Sin Gestionar Servidores

AWS Lambda es el servicio serverless de AWS. Ejecutas funciones en respuesta a eventos sin provisionar ni gestionar servidores. Solo pagas por el tiempo de computo que consumes, medido en milisegundos. Ideal para microservicios, APIs, procesamiento de eventos y automatizacion.

# Lambda function: Procesar imagen subida a S3
import json
import boto3
from PIL import Image
import io

s3 = boto3.client('s3')

def lambda_handler(event, context):
    # Obtener info del evento S3
    bucket = event['Records'][0]['s3']['bucket']['name']
    key = event['Records'][0]['s3']['object']['key']
    
    # Descargar imagen
    response = s3.get_object(Bucket=bucket, Key=key)
    img = Image.open(io.BytesIO(response['Body'].read()))
    
    # Crear thumbnail
    img.thumbnail((300, 300))
    buffer = io.BytesIO()
    img.save(buffer, 'JPEG', quality=85)
    buffer.seek(0)
    
    # Subir thumbnail
    thumb_key = f'thumbnails/{key}'
    s3.put_object(
        Bucket=bucket,
        Key=thumb_key,
        Body=buffer,
        ContentType='image/jpeg'
    )
    
    return {
        'statusCode': 200,
        'body': json.dumps(f'Thumbnail creado: {thumb_key}')
    }
CaracteristicaLimite
Memoria128 MB - 10,240 MB
TimeoutMaximo 15 minutos
Payload6 MB (sincrono), 256 KB (asincrono)
Concurrencia1,000 por defecto (aumentable)
Almacenamiento /tmp10 GB
Paquete despliegue50 MB (zip), 250 MB (descomprimido)

🚀 Dato Clave

Lambda ofrece 1 millon de invocaciones gratis/mes y 400,000 GB-segundos. Para una API con 100,000 requests/mes a 128MB y 200ms promedio, el costo es practicamente USD 0. Ideal para MVPs y startups LATAM.

Cuando Lambda vs EC2

Usa LambdaUsa EC2/ECS
Requests esporadicos (<1M/mes)Trafico constante y predecible
Procesamiento event-drivenWorkloads long-running (>15min)
APIs con trafico variableAplicaciones con estado (stateful)
Automatizacion y cron jobsGPU, ML training
Serverless

Lambda es perfecto para startups. Paga por lo que usas, escala automaticamente y no hay servidores que mantener.