AWS Lambda para proyectos de big data
Clase 33 de 52 • Curso de Big Data en AWS
Contenido del curso
Arquitecturas
Extracción de información
- 9

Cómo mover datos a cloud con SDK y CLI
02:21 min - 10

Python y boto3 para listar buckets S3
10:16 min - 11

Boto3: inicializar clients de AWS en Python
03:56 min - 12

API Gateway como puerta de big data
03:40 min - 13

Storage Gateway: puerta entre on-premise y S3
03:13 min - 14

AWS Kinesis: streaming masivo de datos
05:53 min - 15

Cómo crear Kinesis Data Stream en AWS
06:50 min - 16

Despliegue automatizado de Kinesis con CloudFormation
10:42 min - 17

Cómo Kinesis Firehose entrega datos en tiempo real
03:27 min - 18

Configuración de Kinesis Firehose en AWS
05:45 min - 19
Configuración Básica de Amazon Kinesis Firehose en AWS
02:53 min - 20

MSK vs Kinesis: cuál elegir en AWS
03:42 min - 21

Creación de clúster AWS MSK desde la consola
07:21 min
Transformación de Información
- 22

Cómo AWS Glue transforma datos en la nube
06:33 min - 23

Instalación de Apache Zeppelin paso a paso
04:49 min - 24

Configurar developer endpoint de AWS Glue con Zeppelin
05:38 min - 25

Conexión de Apache Zeppelin con AWS
08:29 min - 26

Configurar AWS Glue Crawler para poblar catálogo
08:15 min - 27

Configuración de Developer Endpoint en AWS Glue
08:00 min - 28

Cómo configurar AWS Glue ETL desde S3 a Parquet
10:23 min - 29

Qué es EMR y cuándo usarlo
05:30 min - 30

Crear tu primer cluster de AWS EMR
09:01 min - 31

Conectar Apache Zeppelin a EMR
03:18 min - 32

EMR automatizado con CloudFormation
06:32 min - 33

AWS Lambda para proyectos de big data
Viendo ahora - 34

Lambdas en big data: real time y batch
04:54 min - 35

Configuración de AWS Lambda para Big Data
07:16 min
Carga de Información
Consumo de información
Seguridad, Orquestación y Automatización
Clase pública
Domina AWS Lambda en entornos de big data y real time con prácticas concretas para escalar concurrencia, integrar servicios del ecosistema y evitar pérdida de eventos. Aquí encuentras recomendaciones probadas sobre límites, colas SQS/SNS, despliegue automatizado y observabilidad efectiva.
¿Cómo optimizar AWS Lambda para big data en tiempo real?
AWS Lambda es clave en escenarios de alta demanda y eventos continuos. En big data, la gestión de concurrencia y el aislamiento por cuentas determinan la estabilidad de la arquitectura.
- Límite de concurrencia: por defecto, mil llamadas concurrentes para todas las funciones de una cuenta. Se puede solicitar aumento hasta veinte mil mediante soporte y evidencias.
- Recomendación: usar multi account con landing zones para separar development, staging y producción. Así, los límites son independientes.
- Motivo: en una misma cuenta, la concurrencia total se reparte entre todas las Lambdas y múltiples VPCs, afectando el rendimiento.
¿Por qué multi account con landing zones?
- Aisla riesgos y consumo de concurrencia entre ambientes.
- Evita que picos en una VPC afecten otras funciones.
- Facilita la gobernanza y el escalado controlado por cuenta.
¿Con qué servicios se integra Lambda en el ecosistema de big data?
- Kinesis Firehose: permite adjuntar una Lambda para transformación de información antes del delivery en el formato requerido.
- Kinesis Data Stream, Elastic Search, Dynamo, Redshift y otros servicios del ecosistema de big data.
- Habilidad clave: diseñar flujos donde Lambda transforme, enrute y alimente almacenes de datos sin fricción.
¿Qué patrón de ingestión conviene: SQS o SNS?
Cuando el flujo de eventos es alto, la cola amortigua picos y previene cuellos de botella en la función.
- Con SQS: si la Lambda alcanza el límite, la cola se acumula y la función procesa al ritmo posible. Se sacrifica un poco de real time por estabilidad.
- Con SNS: es más real time y existen reintentos; sin embargo, aumenta la probabilidad de throttles frente a picos.
- Decisión práctica: prioriza SQS para alta concurrencia y uso sostenido; usa SNS cuando la latencia mínima sea crítica y el volumen esté bajo control.
¿Qué impacto tiene el delay en real time?
- Con SQS, el delay ocurre en la cola, no dentro de la Lambda.
- Beneficio: la función mantiene tiempos estables y evita saturación, preservando la calidad del procesamiento.
¿Cómo desplegar, orquestar, monitorear y manejar errores?
En arquitecturas real time es común gestionar decenas de Lambdas (más de cuarenta en productivo). La automatización del deployment, la orquestación clara y el monitoreo profundo son esenciales.
¿Cómo automatizar el deployment de Lambdas?
- Pipeline sugerido: CodePipeline toma el código del repositorio, lo copia a S3 y desde allí actualiza la Lambda de forma controlada.
- Alternativa: CloudFormation para gestionar infra como código.
- Stack tecnológico usado: Python con la librería Boto3 para administrar múltiples funciones y reducir complejidad operativa.
¿Cómo observar y depurar en real time?
- Step Functions: ayuda a orquestar funciones y a identificar demoras entre pasos.
- Librerías de alerta como Rollbar: envían errores a un dashboard (por ejemplo, evento incompleto) para respuesta rápida.
- X-Ray: se activa cuando se sospechan demoras puntuales. Traza tiempos de ejecución y permite localizar la invocación problemática para corregirla.
¿Cómo manejar errores sin perder eventos?
- Escenario: el endpoint falla y los reintentos no alcanzan.
- Acción: configurar una cola destino y una dead letter queue.
- Flujo de recuperación: procesar la cola muerta con otra Lambda, ingresar en DynamoDB y reprocesar cuando el servicio esté disponible.
- Alternativa: enviar a otro topic SNS.
- Objetivo rector: nunca perder eventos, criterio crítico en big data real time.
¿Tienes dudas sobre tu patrón de disparo, monitoreo o manejo de errores en Lambda? Cuéntame tu caso y afinamos la arquitectura juntos.