Este documento presenta varias opciones de análisis de Big Data en AWS, como Amazon Redshift, Amazon Kinesis, Amazon EMR, Amazon DynamoDB y Amazon Machine Learning. Explica sus usos recomendados y no recomendados, así como ejemplos de escenarios como almacenes de datos empresariales, captura y análisis de datos de sensores y análisis de opinión en redes sociales. El enfoque de AWS para soluciones de Big Data se basa en la flexibilidad, escalabilidad y costos bajos gracias a los servicios
2. Índice
• Introducción a Big Data para AWS
• Opciones de análisis de Big Data en AWS
• Prácticas de uso recomendadas y no recomendadas
• Desempeño y costo
• Durabilidad y escalabilidad
• Interfaces
• Creación de soluciones de análisis de Big Data: enfoque de AWS
• Ejemplos de escenarios
3. Big Data en AWS
Disponibilidad inmediata. Implementación instantánea. Sin tener
que adquirir hardware ni mantener o escalar la infraestructura.
Confiabilidad y seguridad. Diseñado para cumplir los requisitos
más estrictos. Auditorías constantes, incluidas las de certificaciones
como ISO 27001, FedRAMP, DoD CSM y PCI DSS.
Capacidades robustas y numerosas. Más de 50 servicios y
cientos de características para respaldar prácticamente cualquier
aplicación y carga de trabajo de Big Data.
Cientos de socios y soluciones. Obtenga ayuda de un socio de
consultoría o elija entre cientos de herramientas y aplicaciones
que abarcan todos los aspectos de la administración de datos.
4. En tiempo real
Amazon Kinesis Firehose
Almacenamiento
de objetos
Amazon S3
RDBMS
Amazon RDS
NoSQL
DynamoDB
Ecosistema de Hadoop
Amazon EMR
En tiempo real
AWS Lambda
Amazon Kinesis Analytics
Almacenamiento
de datos
Amazon Redshift
Aprendizaje automático
Amazon Machine Learning
Inteligencia de negocio
y visualización de datos
Amazon QuickSight
En tiempo real
Amazon Kinesis Streams
Análisis con
búsquedas elásticas
Amazon ElasticSearch
Recopilar Almacenar Procesar y analizar Visualizar
Importación de datos
Amazon Import/Export
Snowball
IoT
Amazon IoT
Capacidades numerosas y estrechamente integradas
5. Envergadura
de petabytes
Procesamiento
masivo en paralelo
Almacén de datos relacionales
Administración completa, sin
intervención del administrador
Tan solo 1 000 USD/TB/año
mucho más rápido
mucho más
económico
muchísimo más
simpleAmazon Redshift
6. Amazon Redshift
• Prácticas de uso idóneas: análisis
• Datos de ventas
• Datos históricos
• Datos de juegos de azar
• Tendencias sociales
• Datos publicitarios
• Desempeño
• Procesamiento masivo en paralelo
• Almacenamiento en columnas
• Compresión de datos
• Mapas de zonas
• Almacenamiento directamente integrado
• Modelo de costos
• Sin costos iniciales ni compromisos a largo plazo
• Almacenamiento gratuito de copias de seguridad
equivalente al 100% del almacenamiento aprovisionado
Con el almacenamiento en
columnas, solo se leen los
datos que se necesitan
7. Amazon Redshift
• Escalabilidad y elasticidad
• Redimensionamiento o escalado: el número o tipo
de nodos se puede cambiar con solo unos clics.
• Durabilidad y disponibilidad
• Replicación
• Copia de seguridad
• Recuperación automatizada en caso de
errores de unidades y nodos
• Interfaces
• Interfaz JDBC/ODBC con herramientas de BI/ETL
• Amazon S3 o DynamoDB
• Prácticas de uso no recomendadas
• Conjuntos de datos pequeños
• OLTP
• Datos no estructurados
• Datos BLOB
10 GigE
(HPC)
Adquisición
Copia de
seguridad
Restauración
JDBC/ODBC
8. Adquisición de datos en streaming
Procesamiento de datos en tiempo real
Almacenamiento de terabytes de datos
por hora
Amazon Kinesis
9. Amazon Kinesis Streams
• Prácticas de uso idóneas: adquisición
y procesamiento de datos en streaming
• Análisis de datos en tiempo real
• Admisión y procesamiento de datos; por ejemplo,
registros
• Métricas e informes en tiempo real
• Desempeño
• Capacidad de rendimiento en términos de
fragmentos
• Modelo de costos
• Sin costos iniciales ni compromisos a largo plazo
• Precio de pago por uso
• Cargo por horas por fragmento
• Cargo por 1 millón de transacciones PUT
10. Amazon Kinesis Streams
• Escalabilidad y elasticidad
• Escala: aumento del número
de fragmentos
• Durabilidad y disponibilidad
• Replicación
• Conservación del cursor
• Interfaces
• Entrada: datos entrantes
• Salida: datos salientes
• Kinesis Firehose
• Prácticas de uso no
recomendadas
• Rendimiento uniforme a pequeña escala
• Almacenamiento y análisis de datos a largo plazo
11. Lanzamiento de un clúster en minutos
Pago por horas y ahorro con las
instancias de subasta
MapReduce, Apache Spark, Presto
Amazon EMR
12. Amazon EMR
• Prácticas de uso idóneas
• Procesamiento y análisis de registros
• Movimiento de datos y ETL de gran tamaño
• Modelos de riesgos y análisis de amenazas
• Segmentación de anuncios y análisis de
secuencias de clics
• Genómica
• Análisis predictivos
• Minería y análisis de datos ad hoc
• Desempeño basado en:
• Tipo de instancia
• Número de instancias
• Modelo de costos
• Pago por horas solo si el clúster está activo
• Instancia de EC2 y precio de EMR
13. Amazon EMR
• Escalabilidad y elasticidad
• Cambio del tamaño de un clúster en ejecución
• Adición de más nodos principales o de tarea
• Durabilidad y disponibilidad
• Tolerancia a errores de nodos esclavos (HDFS)
• Copia de seguridad en S3 para aportar
resistencia en caso de errores de nodos
maestros
• Interfaces
• Hive, Pig, Spark, Hbase, Impala, Hunk, Presto
y otras herramientas populares
• Prácticas de uso no recomendadas
• Conjuntos de datos pequeños
• ACID (atomicidad, uniformidad, aislamiento
y durabilidad)
Clúster de Amazon EMR
Clúster de Amazon EMR
Clúster de Amazon EMR
14. Base de datos NoSQL totalmente
administrada.
Latencia de milisegundos de un solo dígito
Admite documentos y pares de clave-valor
Amazon
DynamoDB
15. Amazon DynamoDB
• Prácticas de uso idóneas
• Aplicaciones móviles, juegos de azar, servicio de
anuncios digitales, votaciones en directo, redes de
sensores, adquisición de registros
• Control de acceso a contenido basado en Web,
carros de la compra para comercio electrónico
• Administración de sesiones web
• Desempeño
• SSD
• Rendimiento de aprovisionamiento por tabla
• Escalabilidad y elasticidad
• Sin límite de la cantidad de datos almacenada
• Regulación ascendente o descendente de la
capacidad de lectura y escritura de una tabla
• Modelo de costos
• Pago por uso
• Capacidad de rendimiento aprovisionada (por hora)
• Almacenamiento de datos indexados (por GB y mes)
• Transferencia de datos entrante o saliente (por GB y mes)
Rendimiento de lectura/escritura aprovisionado por tabla
Alto desempeño previsible escalado mediante consola o API
16. Amazon DynamoDB
• Durabilidad y disponibilidad
• Tres zonas de disponibilidad (AZ)
• Interfaces
• Consola de administración de AWS
• API
• SDK
• Prácticas de uso no recomendadas
• Aplicación asociada a base de datos
relacional tradicional
• Uniones y transacciones complejas
• Datos BLOB
• Datos voluminosos con velocidad de
E/S baja
AZ A
AZ B
AZ C
17. Servicio administrado diseñado para facilitar
el uso del aprendizaje automático a
desarrolladores de todos los niveles.
Se basa en la misma tecnología de aprendizaje
automático que utilizan los propios científicos
de datos de Amazon desde hace años.
Amazon Machine Learning (ML) usa
implementaciones escalables y robustas de los
algoritmos de aprendizaje automático estándar
del sector.
Amazon
Machine Learning
18. Amazon Machine Learning
• Prácticas de uso idóneas
• Permitir aplicaciones que marcan
transacciones sospechosas
• Personalizar el contenido de aplicaciones
• Predecir la actividad de los usuarios
• Escuchar las redes sociales
• Modelo de costos
• Pago por uso
• No hay que administrar instancias,
solamente pagar el servicio
• Desempeño
• Predicciones en tiempo real diseñadas para
su devolución en 100 ms
• Posibilidad de gestionar 200 transacciones
por segundo de forma predeterminada
(se puede aumentar)
19. Amazon Machine Learning
• Durabilidad y disponibilidad
• Sin tiempos de mantenimiento ni de
inactividad programada
• Diseñado para abarcar varias zonas de
disponibilidad
• Escalabilidad y elasticidad
• Entrenamiento de modelos de hasta 100 GB
• Posibilidad de ejecutar varias tareas de
aprendizaje automático a la vez
• Interfaces
• Creación de orígenes de datos desde S3,
RDS y Redshift
• Interacción con ML desde la consola, los
SDK y la API de ML
• Prácticas de uso no recomendadas
• Conjuntos de datos masivos para modelado
> 100 GB
• Predicción de secuencias o tarea de
clustering sin supervisar
20. Informática basada en eventos
totalmente administrada
Sin infraestructura que
administrar
Escalado automático
AWS Lambda
21. AWS Lambda
• Prácticas de uso idóneas
• Procesamiento de archivos en tiempo real
• Extracción, transformación y carga (ETL)
• Desempeño
• Procesamiento de eventos en
milisegundos
• Modelo de costos
• Pago por uso
• No hay que administrar instancias,
solamente pagar el servicio
• La capa gratuita de Lambda incluye
1 millón de solicitudes gratuitas
1 2 3
Sin servidor Escala basada
en eventos
Facturación de menos
de un segundo
22. AWS Lambda
• Durabilidad y disponibilidad
• Sin tiempos de mantenimiento ni
inactividad programados
• Las funciones asíncronas se
reintentan 3 veces en caso de error
• Escalabilidad y elasticidad
• Posibilidad de ejecutar cualquier
cantidad de funciones concurrentes
• AWS Lambda asigna dinámicamente la
capacidad de acuerdo con la velocidad
de entrada de eventos
• Interfaces
• Lambda admite Java, Node.js, Python,
C#
• Desencadenamiento mediante eventos
o programación
• Prácticas de uso no recomendadas
• Aplicaciones de ejecución prolongada
• Aplicaciones con estado en Lambda
23. Configuración de un clúster de
Elasticsearch en unos minutos
Integración con Logstash y Kibana
Escalado sin problemas de clústeres
de Elasticsearch
Amazon
Elasticsearch
Service
24. Amazon Elasticsearch
• Prácticas de uso idóneas
• Analizar registros
• Analizar actualizaciones de streaming de datos de
otros servicios de AWS
• Proporcionar a los clientes una completa
experiencia de búsqueda y navegación
• Monitorizar el uso de las aplicaciones móviles
• Desempeño
• Depende de diversos factores, tales como el tipo
de instancia, la carga de trabajo, el índice, el
número de fragmentos utilizados o las réplicas de
lectura
• Configuraciones de almacenamiento:
almacenamiento de instancias o EBS
• Modelo de costos
• Pago por uso
• Pago por capacidad informática y almacenamiento
25. Amazon Elasticsearch
• Durabilidad y disponibilidad
• Reconocimiento de zona
• Instantáneas automáticas y manuales
• Escalabilidad y elasticidad
• Adición o eliminación de instancias
• Modificación de volúmenes de EBS para
crecimiento de datos
• Interfaces
• Consola de administración de AWS
• API
• SDK
• Kibana y Logstash (pila de ELK)
• Prácticas de uso no recomendadas
• OLTP
• Cargas de trabajo con requisitos de
almacenamiento superiores a 5 TB
Elasticsearch + Logstash + Kibana =
(ELK) análisis y visualización en tiempo real
26. Creación de visualizaciones
Realización de análisis ad-hoc
Intercambio y colaboración mediante guiones
Acceso nativo en las principales plataformas
de móviles
Amazon
QuickSight
27. Presentamos Amazon QuickSight
Servicio de inteligencia de negocio (BI) basado
en la nube con la décima parte del costo
del software de BI tradicional
Sin esfuerzo de TI. Sin modelado dimensional
Detección automática de todos los orígenes de
datos de AWS
Motor de cálculo en memoria, en paralelo y
ultrarrápido (SPICE, por sus siglas en inglés)
Totalmente administrado
aws.amazon.com/quicksight
28. Escalado ascendente o descendente
según las necesidades
Pago por uso
Varias opciones
Creación de aplicaciones propias de
Big Data
Amazon EC2
29. Enfoque de AWS
• Flexibilidad Uso de la mejor herramienta para cada tarea
• Estructura de datos, latencia, rendimiento, patrones de acceso
• Escalabilidad Inmutable (solo mediante anexos)
• Capa de servicio/lotes/velocidad
• Mínimos gastos generales administrativos Saca partido de los
servicios administrados de AWS
• Sin intervención del administrador o muy poca
• Bajo costo Big Data ≠ costo elevado
30. Escenario 1: Almacén de datos empresariales
Escenario 2: Captura y análisis de datos de sensores
Escenario 3: Análisis de opinión en las redes sociales
Escenarios
de Big Data
31. Escenario 1: Almacén de datos empresariales
Arquitectura de los almacenes de datos
Orígenes de
datos
Amazon
S3
Amazon
EMR
Amazon
S3
Amazon
Redshift
Amazon
QuickSight
32. Escenario 2: Captura y análisis de datos de sensores
Orígenes de
datos
Amazon
S3
Amazon
Redshift
Amazon
QuickSight
Apl.
habilitada
para Amazon
Kinesis
Apl.
habilitada
para Amazon
Kinesis
Amazon
DynamoDB
Panel de
informes
Acceso de
clientes
Amazon
Kinesis
1
2 3 4 5
6 7 8 9
33. Escenario 3: Análisis de opinión en las redes sociales
Datos de redes
sociales
Amazon
EC2
Amazon
Lambda
Amazon
ML
Amazon
Kinesis
Amazon
S3
Amazon
SNS
1 2 4 5 6
3 7
34. Pasos siguientes
• Suscríbase a AWS Big Data Blog: blogs.aws.amazon.com/bigdata
• Busque más información y consulte los tutoriales, guías o
laboratorios autoguiados en: aws.amazon.com/big-data
• Consulte el seminario web sobre Big Data:
Building Smart Applications with Amazon Machine Learning
https://aws.amazon.com/es/about-
aws/events/monthlywebinarseries/archive/
smartapplicationsonamazonmachinelearningondemand/
(consultar próximas fechas)
Notas del editor
Follow Up Email
Amazon
https://www.youtube.com/watch?v=P4KPPvEb_QI
Genera registros web a razón de 2 TB/día, con un crecimiento interanual del 67%.
Sistema heredado Oracle RAC
Velocidad de análisis: 1 semana de datos/hora
Límite de nodos RAC alcanzado: 32 nodos
Más datos => ralentización de consultas
Migrado a Redshift
Velocidad de análisis: 15 meses de datos (2,25 billones de filas) en 14 min
Escalado a un clúster DS1.8XL de 101 nodos: petabytes
Desempeño multiplicado por más de 10
21 000 millones de filas más 10 000 millones de filas en 2 horas en lugar de días
Seguridad: HasOffers carga 60 millones de filas por día en intervalos de 2 min; Desk: portal para usuarios con alto nivel de concurrencia (clúster de lectura/escritura), escala de PB en Amazon.com/NTT. Pinterest multiplicó la velocidad por entre 50 y 100 al trasladar 300 TB de Hadoop a Redshift. Nokia redujo los costos en un 50%.
https://www.youtube.com/watch?v=O4wAH5FQjS8
30 millones de oportunidades de anuncios al mes
Yelp usa Amazon S3 para almacenar los registros y fotos diarios. Genera aproximadamente 1,2 TB de registros al día. Además, la compañía utiliza Amazon EMR para ejecutar aproximadamente 20 scripts independientes de procesamiento por lotes, la mayoría para procesar los registros. Las características basadas en Amazon Elastic MapReduce son, entre otras:
Los desarrolladores de Yelp recomiendan a otras personas que trabajan con AWS que utilicen la API boto y también mrjob para garantizar la utilización plena de los flujos de tareas de Amazon Elastic MapReduce. Yelp ejecuta aproximadamente 250 tareas de Amazon Elastic MapReduce al día que suponen procesar 30 TB de datos y agradece a AWS Support su ayuda con el desarrollo de su aplicación Hadoop.
Dropcam: ejecuta servidores de streaming de vídeo y almacenamiento en Amazon EC2 y Amazon S3 y utiliza Amazon DynamoDB para escalar y mantener el rendimiento. “DynamoDB crece a la par que el número de cámaras que se conectan al servicio”, afirma Nelson. “El rendimiento se mantiene muy estable cuando las cámaras se conectan. El uso de DynamoDB nos ha permitido reducir el tiempo de entrega de los eventos de vídeo a menos de 50 milisegundos”, añade.
Dropcam - Dropcam runs video streaming and storage servers on Amazon EC2 and Amazon S3, and uses Amazon DynamoDB to scale and maintain throughput. “DynamoDB grows with the number of cameras that are connected to the service,” says Nelson. “Throughput is very steady as cameras come online. By using DynamoDB, we reduced delivery time for video events to less than 50 milliseconds,” says Nelson.
Build Fax: utiliza Amazon Machine Learning para proporcionar cálculos de antigüedad de los tejados y los costos de los trabajos a aseguradoras y constructoras, con valores específicos de los inmuebles que no tienen que depender de cálculos amplios basados en códigos postales. Los modelos que antes tardaban seis meses o más en crearse se completan ahora en cuatro semanas o menos. Crea oportunidades de nuevos servicios de análisis de datos que BuildFax puede ofrecer a sus clientes, tales como el análisis de textos en Amazon ML para calcular los costos de los trabajos con una precisión del 80%.
VidRoll: AWS Lambda habilita NoOps, que nos permite comenzar y permanecer a escala sin preocuparnos por la infraestructura. Como organización exponencial, es fundamental que nuestros desarrolladores se concentren en la innovación. Lambda evita que tengamos que codificar para cuestiones como la concurrencia, los sistemas de archivos distribuidos y otros “problemas del éxito” que suelen surgir cuando hay que escalar los sistemas. Gracias a Lambda, ahorramos tiempo y dinero.
Amazon Elasticsearch Service permite implementar y escalar de forma fácil y segura una pila de ELK en solo unos minutos. La integración con Logstash está acoplada estrechamente. Además, se configura una instancia de Kibana. El servicio detecta y sustituye automáticamente los nodos de Elasticsearch con errores. De este modo, se reducen los costos asociados con las infraestructuras autoadministradas y el software Elasticsearch.
https://aws.amazon.com/solutions/case-studies/major-league-baseball-mlbam/
Major League Baseball Advanced Media, L.P, que gestiona MLB.com, usa Elasticsearch de forma generalizada en su aplicación avanzada de estadísticas de jornadas de partidos. “Elasticsearch nos permite construir de forma fácil y rápida aplicaciones de análisis de Big Data de vanguardia mediante la pila de ELK”, señala Sean Curtis, arquitecto de MLB.com. “Al ofrecer acceso directo a la API de Elasticsearch y reducir las tareas administrativas, Amazon Swift nos aporta la facilidad de administración, la flexibilidad y el control que necesitamos”.
Antes de abordar la arquitectura de Big Data, me gustaría presentar varios principios sólidos y acreditados relativos a ella.
En AWS, estamos convencidos de que se debe usar la herramienta apropiada para cada tarea; en lugar de usar una navaja multiusos cuando se necesita un destornillador, lo mejor es usar un destornillador. Esto resulta especialmente importante para las arquitecturas de Big Data. Ahondaremos en esta idea más adelante.
Arquitectura desacoplada (http://whatis.techtarget.com/definition/decoupled-architecture): en general, una arquitectura desacoplada es un marco de trabajo complejo que permite que los componentes permanezcan totalmente autónomos y se desconozcan mutuamente. La eficacia de este enfoque se ha demostrado en la práctica.
Los servicios administrados son algo relativamente nuevo. ¿Debo instalar Cassandra, MongoDB o CouchDB en AWS? Por supuesto que puede. En ocasiones, hay buenos motivos para hacerlo. De hecho, muchos clientes lo hacen. Netflix es un ejemplo excelente de ello. Gestionan Cassandra con varias regiones y son un modelo en este ámbito. Sin embargo, a la mayoría de los clientes les resulta más práctico delegar esta tarea en AWS, porque les conviene más dedicar el tiempo a crear funciones para sus clientes que a desarrollar sistemas distribuidos altamente escalables.
Arquitectura de Lambda: