Construyendo una Infraestructura de Big Data rentable y escalable (la evolución de nuestra...
-
Upload
socialmetrix -
Category
Technology
-
view
597 -
download
1
description
Transcript of Construyendo una Infraestructura de Big Data rentable y escalable (la evolución de nuestra...
Construyendo una infraestructura de Big Data rentable y escalable
Gustavo [email protected]@arjones
Juan [email protected]@juanpampliega
Co-founder & CTO, Socialmetrix
Lic. Ciencias ComputaciónMBA Marketing Servicios
Brasileño, en Argentina desde 2008
Gustavo Arjones
Big Data Developer, Socialmetrix
Ing. Informática ITBA
Juan Pampliega
• Sobre Socialmetrix
• Nuestra arquitectura
• Conceptos importantes
• Lecciones aprendidas
• Dónde aprender más
Agenda
Socialmetrix
Medimos la actividad de las compañías
y personalidades en las redes sociales
para generar valor a profesionales de
Marketing, Investigación de Mercado y
Producto.
Software As A Service
En números• Capturando +5MM de fanpages de Facebook, cuentas de Twitter,
blogs, sites, etc
• Se generan +1.000 MM de interacciones en un mes
• Capturamos +1.000 Gb por mes de nuevos datos, los antiguos no se borran
• 200+ servidores, + databases, +ambientes de prueba/staging
Nuestra arquitectura
Big Data – el nuevo, nuevo paradigma
Volumen + Velocidad + Variedad
Nuevas Tecnologías (Kafka + Spark + Cassandra)
Procesamiento de DatosDistribuido y Escalable
Conceptos del nuevo paradigma
Un único repositorio de datos, append only.
query = function(all data)
Simple de razonarVerdad en un momento dado
Siempre puede ser “re-computado”Permite evolución
Arquitectura Lambda
Tiempo promedio de respuesta?
Número de Tweets por Segundo?
Arquitectura Lambda• Crear un sistema tolerante a fallos tanto de hardware como los
humanos
• Permitir lecturas y escrituras de baja latencia
• Escalabilidad lineal horizontal
• Facilidad de re-procesos
• Permitir la investigación interactiva de los datos
Arquitectura Lambda (críticas)Muchos esfuerzos duplicados (Realtime + Batch Processing)
• Duplicación de Lógica
• Duplicación de Know-how & Esfuerzo
• Asume que el procesamiento RT no es confiable
http://radar.oreilly.com/2014/07/questioning-the-lambda-architecture.html
Evolución de Plataforma
S3
Data Stream
Evolución de Plataforma
S3
Data Stream
Otros desafíos
• Información llega fuera de orden (no es time-ordered)
• Duplicados es una realidad
• Encoding de la fuente no siempre está bien configurado
• API rate-limit
Lecciones Aprendidas
Evolución de tecnologías
Depuración de la plataforma
Los errores
• Falta de foco, demasiadas tecnologías (hay mucho buzz)
• No empezar sin una investigación exhaustiva (alguien lo hizo
antes!)
• No cambiar/procesar los datos antes de guardar (guardar raw
data)
• No automatizar desde el principio
Los aciertos
• División/especialización de profesionales• Crawling, Natural Language Processing, Big Data, API, Visualización
• Aprendimos de Open Source (leer código, mejores practicas)
• Automación de tareas operacionales(ie: Puppet, CloudFormation)
• Crear un ambiente rico para experimentación
• Separación de responsabilidades con un único objetivo
• Reducir el stack de tecnologías
Buscar el conocimiento formal (papers y libros)
• Crawlers
• Text-mining
• Disambiguation
• Sentiment Analysis
• Message Oriented Platform
Recomendaciones• Utilizar Amazon AWS hace que muchas ideas se puedan probar
inmediatamente – hay scripts y “AMI” pre-armadas
• Hacer pruebas con Spot Instances vs. Instancias más grandes
• Automatizar los procesos desde el día 1 (Puppet,
CloudFormation)
• Virtualización, incluso en Dev: Vagrant, Docker, CoreOS
Recomendaciones
• Testing, testing, testing
• Usar datasets medianos en Dev y grandes en Staging
• Monitorear los procesos, aprender los patrones de los datos
Dónde aprender más
Mucha documentación disponibleLamda Architecturehttp://lambda-architecture.net/
Getting Started with Big Data Architecturehttp://blog.cloudera.com/blog/2014/09/getting-started-with-big-data-architecture/
Your weekly Hadoop news fixhttp://www.hadoopweekly.com/ The Hortonworks Bloghttp://hortonworks.com/blog/
Applying the Lambda Architecture with Spark - Jim Scotthttp://spark-summit.org/2014/talk/applying-the-lambda-architecture-with-spark
Cloudera Engineering Bloghttp://blog.cloudera.com/blog/ Listado de herramientas de Big Data y papers relevanteshttp://blog.andreamostosi.name/big-data/