SlideShare una empresa de Scribd logo
1 de 73
Descargar para leer sin conexión
Analítica y toma de
decisiones en tiempo
real sobre plataformas
Big Data
José Carlos García Serrano
Líder técnico en Stratio.
Nací en Granada y estudié informática en la ETSII, hice
un master en Big Data y me certifiqué en Spark y AWS.
def fanBoy(): Seq[Skills] = {
val functional = Seq(Scala, Akka)
val processing = Seq(Spark)
val noSql = Seq(MongoDB, Cassandra)
functional ++ processing ++ noSql
}
def aLongTimeAgo(): Seq[Skills] = {
val programming = Seq(Delphi, C++)
val processing = Seq(Hadoop)
val sql = Seq(Interbase, FireBird)
programming ++ processing ++ sql
}
INDEXINDEX
1. Introducción
2. Messaging frameworks
3. Ingestion tools
4. Stream processing frameworks
5. Plataformas Big Data
6. Seguridad
7. Demo
Introducción
1
Los datos en streaming
guían nuestras vidas!!
Móviles, PCs, sensores, redes sociales ….
Introducción
Introducción
Los datos en streaming tienen más valor
Introducción
Introducción
Arquitectura clásica
Introducción
Arquitectura clásica mejor vestida ….
Introducción
Arquitectura moderna: lambda
Introducción
Arquitectura moderna: machine learning en tiempo real
Introducción
Si el tiempo es la clave -> Hay que elegir bien la tecnología
Messaging frameworks
2
Messaging frameworks
Apache ActiveMQ
● Alto rendimiento
● Alta disponibilidad
● Mensajes persistentes
● Integrado con JMS y multiprotocolo AMQP, MQTT, STOMP
● Envío asíncrono o síncrono
● Escalable
● Es un estándar
● Seguridad: JAAS
Messaging frameworks
Messaging frameworks
RabbitMQ
● Alto rendimiento
● Alta disponibilidad
● Mensajes persistentes
● Integrado con múltiples lenguajes de programación
● Envío asíncrono o síncrono
● Escalable
● Permite la creación de complejas topologías
● Bien empaquetado
● Seguridad: TLS y LDAP
Messaging frameworks
Messaging frameworks
Apache Kafka
● Mejor rendimiento que los demás
● Alta disponibilidad
● Persistencia configurable
● Integrado con múltiples lenguajes de programación
● Envío asíncrono o síncrono
● Escalable
● Integrado con los frameworks de procesamiento
● Múltiples consumidores sobre el mismo topic
● Seguridad: TLS
Messaging frameworks
Messaging frameworks
Messaging frameworks
Que no nos vendan humo:
● Middlewares
● Buses
● Publish-subscribe (Redis)
Messaging frameworks
Kafka es el presente, en el futuro puede haber un invitado ...
No hay que olvidar a Kinesis de Amazon
Ingestion Tools
3
“
La elección de una correcta
herramienta de ingestión puede
determinar el tiempo de latencia
global
Ingestion Tools
Apache Flume
● Buena latencia
● Permite enrutado y creación de topologías
● Estable
● Distribuido y escalable
● Fault tolerance
● Integrado con la mayoría de frameworks
● Seguridad: Kerberos
Ingestion Tools
Ingestion Tools
Apache Nifi
● Data pipelines visuales
● Backpressure
● Distribuido y escalable
● Fault tolerance
● Permite monitorizar cada paso
● Baja latencia y alto throughput
● Permite modo cluster o single node
● Security: TLS, Kerberos, LDAP...
Ingestion Tools
Ingestion Tools
Ingestion Tools
Kafka Connect
● Integrado en el Stack de Kafka
● Escalable y distribuido
● Fácil de implementar en Java y Scala
● Permite modo cluster o single node
● Integrado con las principales fuentes de datos (files y BBDD)
● Fault tolerance
● Seguridad: TLS
Ingestion Tools
No debemos usar las
herramientas para el
propósito que no fueron
creadas
Stream processing
frameworks
4
Stream processing frameworks
Stream processing frameworks
Stream processing frameworks
Apache Storm
● Estabilidad
● Rapidez
● Evento a evento
● Agnóstico al lenguaje de programación
● Integrado con otras herramientas
● Escalable horizontalmente
● Fault tolerance
● Disponible en las plataformas Big Data
Stream processing frameworks
Sin operaciones stateful,
CEP, agregaciones y SQL….
No nos vale!
Ejemplo claro de tecnología que se va quedando atrás
Stream processing frameworks
Apache Kafka Streams
● Integradas operaciones básicas de streams (map, flatMap, filter ...)
● Simplicidad y velocidad en ETLs
● Permite creación de topologías entre topics con procesamiento
● Java y Scala API
● Operaciones de ventana
● SQL sobre streaming con KSQL
● JOINS entre streams
● Escalable y distribuido
● Fault tolerance
● Disponible en las plataformas Big Data (solo parte open source) y en Confluent
Enterprise
Stream processing frameworks
Pobre con operaciones
stateful, agregaciones y SQL.
No CEP...
Quizás esté lejos de sus competidores, pero para ETLs
que no requieren estado es una gran elección
Stream processing frameworks
Apache Flink
● Alto rendimiento (Incluye optimizador de memoria y SQL y un scheduler)
● Procesamiento evento a evento
● Scala y Java API
● Operaciones de ventana
● Operaciones stateful (agregaciones)
● SQL sobre streaming y batch
● JOINS entre streams
● CEP
● Escalable y distribuido
● Fault tolerance
● Integrado con Mesos y YARN
Stream processing frameworks
Stream processing frameworks
Backpressure Stateful
Windowing
Stream processing frameworks
Stream processing frameworks
Stream processing frameworks
Falta madurez, pobre en ML,
rendimiento SQL y
agregaciones continuas …
Quizás esté lejos de Spark, para streaming y CEP es
una gran elección
Stream processing frameworks
Apache Spark
● Estabilidad
● Rapidez con Structured Streaming o Batch
● Streaming continuo o por micro batch (ventana)
● API en Java, Scala, Python y R
● Machine Learning en Batch y Streaming
● Escalable y distribuido
● Fault tolerance
● Integrado con Mesos, YARN y Kubernetes.
● Integrado con las Cloud
Una API de Streaming para
gobernarlos a todos
Spark Core + Spark SQL + Spark Streaming =
Spark Structured Streaming
Stream processing frameworks
Stream processing frameworks
Principales características de Streaming
● Integrado en la API de SQL
● Fácil de usar
● Garantía ‘exactly one’
● Queries interactivas
● Joins static data y streams
● Agregaciones continuas
● Borrado de duplicados
● Operaciones Stateful
● Baja latencia (<1ms)
Stream processing frameworks
Ejemplo de agregación por ventana
val words : DataFrame = …..
words.groupBy(
window(
timeColumn = $"timestamp",
windowDuration = "10 minutes",
slideDuration = "5 minutes"
),$"word"
).count()
6 líneas de código en Scala!!!
Stream processing frameworks
Con watermarks Spark y Flink expiran datos antiguos
Spark Streaming y
Structured Streaming
deberían ser usados con
Kafka
Stream processing frameworks
Stream processing frameworks
Stream processing frameworks
Stream processing frameworks
No es oro todo lo que
reluce!!
Plataformas Big Data
5
Plataformas Big Data
Empresas que adoptan frameworks y los ofrecen como servicios
Plataformas Big Data
El futuro y presente puede pasar por estas tecnologías
Plataformas Big Data
En base a eso estamos otros que ofrecemos frameworks y
microservicios dentro de un PAAS
Plataformas Big Data
Por encima están los gigantes
Seguridad
6
Seguridad
La seguridad en Big Data es un gran reto
ADMINISTRATION
AUTHENTICATION
AUTHORIZATION AUDIT
DATA PROTECTION
IT SECURITY
LINEAGE
SINGLE SIGN ON
Seguridad
¿Qué necesitamos?
● Integrar los frameworks y microservicios con Kerberos-TLS…
● Securizar las BBDD NoSql
● Single sign on
● Gestión de usuarios LDAP-Active Directory …
● Gestión de perfiles, ACLs y roles.
● Aislamiento de redes para comunicación entre servicios
● Gestión de secretos
● Autorización y autenticación (usuarios y dinámica de servicios)
● Impersonación
Seguridad
Seguridad
Proteger del dato
ADMIN
NETWORK
PUBLIC NETWORK
PRIVATE NETWORK
GOSSEC
SSO
AUDIT
KAFKA
KMS
LDAP KERBEROS
TABLEAU
MARATHON-LB
GOSEC
MANAGEMENT
ZOOKEEPER
HDFS
ADMIN
ROUTER
ZOOKEEPER
Admin
Perimeter security
Authentication,
Authorization, Audit
Ciphered communications
Seguridad
Proteger el servicio
NETWORK B
2 CORES
5Gb RAM
NETWORK A
0.5 CORES
1Gb RAM
MESOS
CONTAINER 1
Developer
2. Launches FRAMEWORK 1
CALICO &
DOCKER ENGINE
CONTAINER 2
1. Manages resources
and frameworks ACLs.
Manage networks
and policies
Admin
Developer
2. Launches FRAMEWORK 2
Framework authentication
Check resources for the role
Authorization to launch tasks
Authorization to use the
network
Audit (logs and Mesos API)
Demo
7
THANKS !!!
Cualquier duda:
● gserranojc@gmail.com
● jcgarcia@stratio.com
● www.linkedin.com/in/gserranojc
● https://github.com/compae

Más contenido relacionado

Similar a Big Data analítica streaming

SDN (Software Define Networking) - The evolution of the Network
SDN (Software Define Networking) - The evolution of the NetworkSDN (Software Define Networking) - The evolution of the Network
SDN (Software Define Networking) - The evolution of the NetworkLogicalis Latam
 
#avanttic_webinar: Oracle Cloud Infrastructure, la nueva nube para las cargas...
#avanttic_webinar: Oracle Cloud Infrastructure, la nueva nube para las cargas...#avanttic_webinar: Oracle Cloud Infrastructure, la nueva nube para las cargas...
#avanttic_webinar: Oracle Cloud Infrastructure, la nueva nube para las cargas...avanttic Consultoría Tecnológica
 
Codecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nubeCodecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nubeNicolas Padula
 
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfTabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfMIGUELANGELDORADOJAR
 
Webinar - Oracle cloud infrastructure, la nueva nube para las cargas empresar...
Webinar - Oracle cloud infrastructure, la nueva nube para las cargas empresar...Webinar - Oracle cloud infrastructure, la nueva nube para las cargas empresar...
Webinar - Oracle cloud infrastructure, la nueva nube para las cargas empresar...avanttic Consultoría Tecnológica
 
Introduccion a Apache Spark
Introduccion a Apache SparkIntroduccion a Apache Spark
Introduccion a Apache SparkGustavo Arjones
 
Gestión del Cloud Computing
Gestión del Cloud ComputingGestión del Cloud Computing
Gestión del Cloud ComputingAitor Ibañez
 
Creando un SCADA con Python y HTML5
Creando un SCADA con Python y HTML5Creando un SCADA con Python y HTML5
Creando un SCADA con Python y HTML5Nahuel Defossé
 
Cacique presentacion (español)
Cacique presentacion (español)Cacique presentacion (español)
Cacique presentacion (español)Cacique Test
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?Socialmetrix
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSAmazon Web Services LATAM
 

Similar a Big Data analítica streaming (20)

SDN (Software Define Networking) - The evolution of the Network
SDN (Software Define Networking) - The evolution of the NetworkSDN (Software Define Networking) - The evolution of the Network
SDN (Software Define Networking) - The evolution of the Network
 
#avanttic_webinar: Oracle Cloud Infrastructure, la nueva nube para las cargas...
#avanttic_webinar: Oracle Cloud Infrastructure, la nueva nube para las cargas...#avanttic_webinar: Oracle Cloud Infrastructure, la nueva nube para las cargas...
#avanttic_webinar: Oracle Cloud Infrastructure, la nueva nube para las cargas...
 
Codecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nubeCodecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nube
 
Big Data en Azure: Azure Data Lake
Big Data en Azure: Azure Data LakeBig Data en Azure: Azure Data Lake
Big Data en Azure: Azure Data Lake
 
Arquitectura
Arquitectura Arquitectura
Arquitectura
 
AWS Services Overview
AWS Services OverviewAWS Services Overview
AWS Services Overview
 
Enterprise DB por Eptisa TI
Enterprise DB por Eptisa TI Enterprise DB por Eptisa TI
Enterprise DB por Eptisa TI
 
Scala@real life
Scala@real lifeScala@real life
Scala@real life
 
Scala @ Real life
Scala @ Real lifeScala @ Real life
Scala @ Real life
 
Introduccion a aws
Introduccion a awsIntroduccion a aws
Introduccion a aws
 
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdfTabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
Tabla de 5 SGBD_Dorado Jarero Miguel Angel_Base de Datos 2.pdf
 
Webinar - Oracle cloud infrastructure, la nueva nube para las cargas empresar...
Webinar - Oracle cloud infrastructure, la nueva nube para las cargas empresar...Webinar - Oracle cloud infrastructure, la nueva nube para las cargas empresar...
Webinar - Oracle cloud infrastructure, la nueva nube para las cargas empresar...
 
Introduccion a Apache Spark
Introduccion a Apache SparkIntroduccion a Apache Spark
Introduccion a Apache Spark
 
Gestión del Cloud Computing
Gestión del Cloud ComputingGestión del Cloud Computing
Gestión del Cloud Computing
 
SMBD 2011
SMBD 2011SMBD 2011
SMBD 2011
 
SMBD 2011
SMBD 2011SMBD 2011
SMBD 2011
 
Creando un SCADA con Python y HTML5
Creando un SCADA con Python y HTML5Creando un SCADA con Python y HTML5
Creando un SCADA con Python y HTML5
 
Cacique presentacion (español)
Cacique presentacion (español)Cacique presentacion (español)
Cacique presentacion (español)
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?
 
Los beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWSLos beneficios de migrar sus cargas de trabajo de big data a AWS
Los beneficios de migrar sus cargas de trabajo de big data a AWS
 

Big Data analítica streaming