50
Big Data para desarrolladores: Hadoop y Openstack I Guillermo Alvarado Mejía DevOps Engineer Victor Barrera Nuñez Data Scientist

Big Data para desarrolladores utilizando Hadoop y OpenStack

Embed Size (px)

DESCRIPTION

En esta presentación se incentivará el desarrollo de aplicaciones para la resolución de problemas comunes de hoy en día que implican el manejo de grandes volúmenes de información, desde el enfoque de Big Data. Se propone la combinación de OpenStack y Hadoop para apoyar el desarrollo de soluciones, que permitan extraer información valiosa a partir de grandes volúmenes de datos. Openstack es un proyecto global para crear una plataforma de cómputo en la Nube para desplegar tanto nubes públicas como privadas, independientemente de su tamaño, que sea fácil de implementar y masivamente escalable. Por otra parte, Hadoop es una plataforma para el procesamiento distribuido de enormes conjuntos de datos. Tanto OpenStack como Hadoop son de código abierto y están desarrollados en Python y Java, respectivamente. Al finalizar la presentación, el oyente tendrá un panorama general de cómo utilizar la nube y un entorno de almacenamiento distribuido, en concreto, OpenStack y Hadoop para hacer frente a problemas de Big Data. Víctor Barrera es ingeniero con estudios de posgrado en toma de decisiones basada en datos y modelos estadísticos. Actualmente se desempeña como Científico de Datos en KIO Networks. Guillermo Alvarado es Ingeniero en sistemas computacionales con especialidad en ingeniería de software, egresado del Instituto Tecnológico de Morelia. Actualmente se desempeña como DevOps en la Dirección de Tecnología en KIO Networks donde participa en el despliegue de la nube pública de KIO Networks basada en la tecnología OpenStack.

Citation preview

Page 1: Big Data para desarrolladores utilizando Hadoop y OpenStack

Big Data para desarrolladores:Hadoop y Openstack

I

Guillermo Alvarado MejíaDevOps Engineer

Victor Barrera NuñezData Scientist

Page 2: Big Data para desarrolladores utilizando Hadoop y OpenStack

Contenido

➢ Openstack➢ Hadoop➢ Arquitecturas en la nube➢ Openstack & Hadoop➢ Benchmark➢ Consideraciones Generales➢ Preguntas

Page 3: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack

Page 4: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack

OpenStack es producto de la colaboración mundial de desarrolladores y administradores de sistemas DevOps que dan como resultado una plataforma Cloud de código abierto que entrega soluciones para todo tipo de nubes.

Page 5: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack

Page 6: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack

Cuenta con más de 17.000 miembros individuales de 139 países y 850 organizaciones diferentes.

Page 7: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack

Page 8: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack

Habilidades requeridas para incursionar en Openstack

➢ Python○ Openstack está escrito en este lenguaje

➢ Linux (Command line navigation)○ Openstack y sus componente corren sobre Linux

➢ Programación Bash (Linux scripting)

Page 9: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack

¿Quién utiliza OpenStack? Destacan: PayPal, MercadoLibre, Comcast, NSA, Rackspace, Cisco, PlayStation, Dream Host, el CERN y Kio Networks como pionero en Latinoamérica.

Visita http://www.openstack.org/user-stories/

Page 10: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack

Openstack está siendo acogido rápidamente en el sector corporativo.

Page 11: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack

Esencial: Integración y API´s.

SDK’s: Clojure, Erlang, Go, Java, JS, .NET, Perl, PHP, Python, Ruby, etc.

¿Bash? Command Line Interfaces.

Page 12: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack

Page 13: Big Data para desarrolladores utilizando Hadoop y OpenStack

Hadoop

Page 14: Big Data para desarrolladores utilizando Hadoop y OpenStack

Hadoop

➢ Problemas con sistemas tradicionales○ Procesadores más rápidos y más RAM en una única máquina

➢ Problemas con sistemas distribuidos○ Sincronización de datos, ancho de banda, fallos parciales

➢ Era Big-Data○ Terabytes de datos por día

➢ Requerimientos para un nuevo enfoque○ Speculative execution○ Replicación○ Escalabilidad

Page 15: Big Data para desarrolladores utilizando Hadoop y OpenStack

Hadoop

➢ Surge a partir de 2 publicaciones realizadas por Google en 2003 y 2004

➢ Los datos son replicados múltiples veces en el sistema de archivos○ Éstos son divididos en archivos más pequeños denominados

“blocks”➢ El nodo principal o master

○ Designa tareas a los nodos esclavos o datanodes○ Reasigna tareas cuando un nodo falla o sale de operación

Page 16: Big Data para desarrolladores utilizando Hadoop y OpenStack

Hadoop

1500 Nodos 690 Nodos 140 Nodos

http://wiki.apache.org/hadoop/PoweredBy

Page 17: Big Data para desarrolladores utilizando Hadoop y OpenStack

Hadoop

Page 18: Big Data para desarrolladores utilizando Hadoop y OpenStack

Hadoop

Page 19: Big Data para desarrolladores utilizando Hadoop y OpenStack

Hadoop

Page 20: Big Data para desarrolladores utilizando Hadoop y OpenStack

Hadoop

➢ Hadoop resuelve un problema real y por tal razón estará con nosotros por varias décadas

➢ Hadoop es una habilidad profesional que vale la pena adquirir

Page 21: Big Data para desarrolladores utilizando Hadoop y OpenStack

Hadoop

Page 22: Big Data para desarrolladores utilizando Hadoop y OpenStack

Hadoop

Habilidades requeridas para incursionar en Hadoop➢ Java

○ Hadoop está escrito en este lenguaje➢ Linux (Command line navigation)

○ Hadoop y sus componente corren sobre Linux➢ Programación Bash (Linux scripting)➢ Hadoop Streaming

○ Python○ Rubi○ C

Page 23: Big Data para desarrolladores utilizando Hadoop y OpenStack

Hadoop

Page 24: Big Data para desarrolladores utilizando Hadoop y OpenStack

Arquitecturas en la nube

Page 25: Big Data para desarrolladores utilizando Hadoop y OpenStack

Arquitecturas en la nube

Las Arquitecturas Cloud son los diseños y desarrollo de elementos de infraestructura virtual y software que hacen un uso eficiente de los servicios en Cloud.

Page 26: Big Data para desarrolladores utilizando Hadoop y OpenStack
Page 27: Big Data para desarrolladores utilizando Hadoop y OpenStack

Arquitecturas en la nube

➢Son interoperables.

➢Ejecutan de forma óptima las tareas para cubrir una necesidad de negocio.

➢Sólo hacen uso de la infraestructura que es necesaria en cada momento.

➢Escalan basándose en la demanda.

Page 28: Big Data para desarrolladores utilizando Hadoop y OpenStack
Page 29: Big Data para desarrolladores utilizando Hadoop y OpenStack

Arquitecturas en la nube

¿El problema? Son tareas concurrentes, repetitivas.

Dejemos de perder el tiempo, automaticemos. Desde un enfoque DevOps.

Heat es el proyecto de OpenStack para Orquestación.

Page 30: Big Data para desarrolladores utilizando Hadoop y OpenStack

Arquitecturas en la nube

Heat permiten la creación y gestión de:

IPs flotantes, Instancias de computo, Redes, Virtuales, Volúmenes de almacenamiento, Grupo de seguridad/Firewall, Usuarios

Funciones avanzadas:

Alta disponibilidad, autoscaling, software de terceros, recovery.

Además es compatible con Cloud Formation de AWS.

Page 31: Big Data para desarrolladores utilizando Hadoop y OpenStack

Arquitecturas en la nube

Page 32: Big Data para desarrolladores utilizando Hadoop y OpenStack

Arquitecturas en la nube

Plantillas Archivos de texto con formato YAML, son un documento que detalla la orquestación.

Heat Orchestration Template (HOT), es el lenguaje nativo de Heat para escribir una plantilla.

Page 33: Big Data para desarrolladores utilizando Hadoop y OpenStack

Arquitecturas en la nube

Las plantillas también pueden especificar las relaciones entre los recursos, por ejemplo, este volumen está conectado a este servidor.

Page 34: Big Data para desarrolladores utilizando Hadoop y OpenStack

Arquitecturas en la nube

Page 35: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack & Hadoop

Page 36: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack & Hadoop

Page 37: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack & Hadoop

Time To Provision

Time To Market

A Hadoop le viene como anillo al dedo Openstack y su elasticidad

Page 38: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack & Hadoop➢ Tecnologías libres y de código abierto➢ IDC estima un crecimiento alto (15%) de soluciones

cloud y Big Data para 2014○ “Will big data make IT infraestructure sexy again?“, Mike Barlow,

O’Reilly, 2014)➢ Tecnologías y soluciones Big Data abarcarán el

89% de las inversiones en IT durante 2014

➢ 70% de los datawarehouse experimentan problemas de procesamiento y almacenamiento, Gartner

Page 39: Big Data para desarrolladores utilizando Hadoop y OpenStack

Benchmark

Page 40: Big Data para desarrolladores utilizando Hadoop y OpenStack

BenchmarkCantidad de nodos de datos (datanodes)

➢ IBM tiene el cluster más grande con 1000 nodos de datos➢ En promedio los cluster tienen 14 nodos de datos

Page 41: Big Data para desarrolladores utilizando Hadoop y OpenStack

Benchmark

➢ IBM, CISCO y HP son los cluster más rápidos➢ KIO/DATTLAS es el 8º más rápido con 40 minutos para ordenar

1TB de datos

Tiempo transcurrido ordenando un 1TB de datos

Page 42: Big Data para desarrolladores utilizando Hadoop y OpenStack

Benchmark

➢ CISCO tiene el cluster más eficiente con ~225 MB/seg por datanode➢ IBM tiene el cluster más inificiente con 9,5MB/seg procesados por

datanode

Velocidad de procesamiento por datanode

Page 43: Big Data para desarrolladores utilizando Hadoop y OpenStack

Benchmark

➢ Los fabricantes tienen un promedio de 1170 GB RAM➢ Nótese que a mayor memoria RAM, menor el tiempo de procesamiento

Memoria RAM total instalada

Page 44: Big Data para desarrolladores utilizando Hadoop y OpenStack

BenchmarkGB RAM versus Duración

Page 45: Big Data para desarrolladores utilizando Hadoop y OpenStack

Consideraciones Generales

Page 46: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack & Hadoop

El futuro: Sahara by Openstack. Disponible para Juno.

Proyecto que proporciona un medio sencillo para aprovisionar un cluster Hadoop sobre Openstack.

Configuración de varios parámetros:versión de Hadoop, la topología del cluster, los detalles de los nodos, etc.

Page 47: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack & Hadoop

➢ Con un solo clic, autoservicio de aprovisionamiento basado en plantillas

➢ Escalamiento dinámico, disparadores de workloads.

➢ Medición de recursos de manera sencilla, Hadoop as a Service.

Page 48: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack & Hadoop

➢ API´s para ejecutar tareas Map/Reduce, Oozie workflows, consutas Hive/Pig.

➢ Administración y monitoreo centralizado.

➢ Accesos a datos controlados.

➢ Acceso a UI integrado, como Hive y Pig.

Page 49: Big Data para desarrolladores utilizando Hadoop y OpenStack

Openstack & Hadoop

➢ Infraestructura○ Nube privada o pública (OpenStack)○ Alojamiento de servidores (Co-location)

➢ Misión crítica, datacenter diseño TIER IV➢ Operación

○ Help desk 24/7➢ Big Data

○ Generación de modelos matemáticos○ Hadoop as a Service○ Data-Analytics as a Service

Page 50: Big Data para desarrolladores utilizando Hadoop y OpenStack

¿Preguntas?

I

Guillermo [email protected]

@galvarado89

Victor [email protected]

@vikbar