Bienvenida e introducción al curso

1

Iniciando con Big Data

2

Cloud Computing en proyectos de BigData

3

Introducción al manejo de datos en Cloud

4

Datos en Cloud

5

¿Qué nube debería utilizar en mi proyecto de Big Data?

Arquitecturas

6

Arquitecturas Lambda

7

Arquitectura Kappa

8

Arquitectura Batch

Extracción de información

9

Llevar tu información al cloud

10

Demo - Creando nuestro IDE en la nube con Python - Boto3

11

¿Cómo usar Boto3?

12

API Gateway

13

Storage Gateway

14

Kinesis Data Streams

15

Configuración de Kinesis Data Streams

16

Demo - Despegando Kinesis con Cloudformation

17

Kinesis Firehose

18

Demo - Configuración de Kinesis Firehose

19

Reto - Configurando Kinesis Firehose

20

AWS - MSK

21

Demo - Despliegue de un clúster con MSK

Transformación de Información

22

AWS - Glue

23

Demo - Instalando Apache Zeppelin

24

Creación del Developer Endpoint

25

Demo - Conectando nuestro developer Endpoint a nuestro Zeppelin Edpoint

26

Demo - Creando nuestro primer ETL - Crawling

27

Demo - Creando nuestro primer ETL - Ejecución

28

Demo - Creando nuestro primer ETL - Carga

29

AWS - EMR

30

Demo - Desplegando nuestro primer clúster con EMR

31

Demo - Conectándonos a Apache Zeppelin en EMR

32

Demo- Despliegue automático de EMR con cloudformation

33

AWS - Lambda

34

Ejemplos AWS- Lambda

35

Demo - Creando una lambda para BigData

Carga de Información

36

AWS - Athena

37

Demo - Consultando data con Athena

38

AWS - RedShift

39

Demo - Creando nuestro primer clúster de RedShift

40

AWS - Lake Formation

Consumo de información

41

AWS - ElasticSearch

42

Demo - Creando nuestro primer clúster de ElasticSearch

43

AWS - Kibana

44

AWS - QuickSight

45

Demo - Visualizando nuestra data con QuickSight

Seguridad, Orquestación y Automatización

46

Seguridad en los Datos

47

AWS Macie

48

Demo - Configurando AWS Macie

49

Apache Airflow

50

Demo - Creando nuestro primer clúster en Cloud Composer

51

Arquitectura de referencia

Clase pública

52

¿Qué es Big Data?

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de Big Data en AWS

Curso de Big Data en AWS

Carlos Andrés Zambrano Barrera

Carlos Andrés Zambrano Barrera

AWS - Lambda

33/52
Recursos

Al momento de hacer proyectos de Big Data con Lambda debes tomar en cuenta:

  • La cantidad de llamadas concurrentes a la función lambda, por defecto tienes un límite de 1000 llamadas concurrentes, es posible llegar hasta 20000.
  • Se puede integrar con Kinesis Firehose para realizar transformaciones de datos.
  • Es recomendable utilizar colas de trabajo para que las tareas estén en espera mientras la lambda se va desocupando. Pierdes un poco de real-time, pero no habrá delay en la lambda.
  • Optimizar y automatizar el despliegue de código en las lambdas usando Codepipeline y Boto3.

Aportes 7

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

AWS Lambda es un servicio muy importante y muy usado en el mundo Real-Time, y en este caso lo veremos con especial énfasis en proyectos de BigData.

Características de AWS Lambda

  • Límite: Por defecto, por cuenta se puede llegar hasta 1.000 llamadas concurrentes de funciones Lambda. Este valor puede ser expansible a través del soporte hasta 20.000. Por esta razón, es recomendable tener una cuenta para cada ambiente en proyectos de BigData, para que los límites sean completamente independientes.
  • Integraciones: AWS Lambda es un servicio que se puede integrar con casi cualquier otro servicio dentro de AWS; en este énfasis, se puede integrar con Kinesis Firehose.
  • SQS: Cuando se trata de AWS Lambda, suele trabajarse con un flujo muy alto de eventos, por lo cual, es muy recomendable utilizar colas; de manera que si el servicio de Lambda llega a su límite, la cola se va a ir acumulando y Lambda va procesando los eventos sin tener problemas de cuellos de botella. Siendo este el caso, podríamos perder un poco de Real-Time al tener un delay, pero no tendremos delay en la función Lambda, lo cual es muy importante.
    También podríamos usar SNS, que son notificaciones, pero éstas sí son en tiempo real, lo cual significa que a medida que llega el SNS, la función Lambda lo procesa; si no lo puede procesar, se ejecutan una serie de reintentos, pero es más probable que se generen throttles utilizando SNS que una cola de SQS.

En arquitecturas Real-Time, normalmente se maneja una gran cantidad de funciones Lambda, y orquestar esas funciones y el código dentro de ellas es muy complejo.

  • Deployment: Una de las recomendaciones es optimizar y automatizar el despliegue de código en las funciones Lambda utilizando diferentes servicios de AWS como por ejemplo: CodePipeline, S3, CloudFormation, etc.
  • Monitoreo: En sistemas Real-Time tenemos muchas funciones Lambda que procesan mucha información, y muchas veces es muy complejo encontrar errores; para esto, hay diferentes tipos de servicios, uno de ellos es Step Functions, que nos ayuda a orquestar funciones y a identificar demoras en las funciones.
    También podemos incluir librerías para monitoreo de ejecución de Código, como por ejemplo Rollbar, que una de sus principales funciones es notificar por medio de alertas los errores que ocurren en las funciones especificando sus causas.
    AWS cuenta también con servicios como X-Ray, que podemos utilizar para identificar errores específicos dentro de funciones Lambda cuando sospechemos que tenemos una demora.
  • Manejo de errores: Cuando procesamos estos flujos de información, puede pasar que tengamos un error en el endpoint y que no alcancemos a enviar toda la información, o que el endpoint esté caído y la cantidad de reintentos no dé a basto. Para esto, podemos configurar colas en las funciones Lambda, de manera que si la función ejecutó ya todos los reintentos y el endpoint no le respondió, puede enviar esa información a una cola y a un dead letter queue (cola muerta), y de ahí podríamos procesarla con otra función para que la ingrese a un DynamoDB y luego intentar de re-procesar la información hacia su endpoint destino. La idea de este manejo de errores es nunca perder eventos.

Cual es el significado de throttles em este contexto? Saludos.

Al momento de hacer proyectos de Big Data con Lambda debes tomar en cuenta:

La cantidad de llamadas concurrentes a la función lambda, por defecto tienes un límite de 1000 llamadas concurrentes, es posible llegar hasta 20000.
Se puede integrar con Kinesis Firehose para realizar transformaciones de datos.
Es recomendable utilizar colas de trabajo para que las tareas estén en espera mientras la lambda se va desocupando. Pierdes un poco de real-time, pero no habrá delay en la lambda.
Optimizar y automatizar el despliegue de código en las lambdas usando Codepipeline y Boto3.

muy util y poderoso para intrgrar con cualquier aws service,
interesante que se puede ampliar las llamadas concurrentes de 10k a 20k y que es muy util ypractico usar en multiaccount , Dev, Staging, PRoduction

si requiero realizar ETLs y realizar operaciones CRUD que me seria mas útil ? utilizar lambda o Glue? cabe aclarar que no se superan los 2 millones de registros

Lambda de puede integrar con casi cualquier otro servicio de AWS en real time

Bicdeita