53
El papel del Cloud Computing en BD & DS Javier Cacheiro López [email protected]

Cloud y BigData

Embed Size (px)

DESCRIPTION

Análisis de las posibilidades que ofrecen las plataformas cloud IaaS para ejecutar calculos BigData. Pruebas de Hadoop sobre como EGI FedCloud

Citation preview

Page 1: Cloud y BigData

El papel del Cloud Computing en BD & DS

Javier Cacheiro Ló[email protected]

Page 2: Cloud y BigData

Contenido

Soluciones Cloud Cloud Federado: EGI FedCloud BigData en FedCloud Conclusiones

Page 3: Cloud y BigData

Cloud

Page 4: Cloud y BigData

Cloud

Page 5: Cloud y BigData

Modelos Cloud

Infrastructure as a Service (IaaS) Amazon EC2

Platform as a Service (PaaS) Salesforce, Google App Engine

Software as a Service (SaaS) Google Docs

Page 6: Cloud y BigData

Escalabilidad

Escalabilidad vertical: Scale up

Escalabilidad horizontal: Scale out

Page 7: Cloud y BigData

Virtualización

Page 8: Cloud y BigData

Virtual Machine Monitor (VMM)

VMM / Hipervisor

Hardware Máquina Física

MáquinaVirtual

MáquinaVirtual

MáquinaVirtual

Page 9: Cloud y BigData

Anillos de Protección

Page 10: Cloud y BigData

Tipos de VMM

VMM Tipo 1 (bare metal) Anillo 0 Hipervisor directamente sobre el hardware

VMM Tipo 2 (hosted) Anillo 3 Hipervisor dentro de un SO

Page 11: Cloud y BigData

Modos de Virtualización

Descripción Ventajas Ejemplos

Rendimiento Xen PV

Rendimiento KVM, Xen HVM

Desventajas

Virtualización completa (full virtualization)

Simulación completa del hardware de la máquina física

Pérdida de rendimiento

No es necesario modificar el SO de la MV

VMWare Workstation, VirtualBox

Paravirtualización

Simulación parcial del hardware de la máquina física. La MV es consciente de que corre en un entorno virtual.

Es necesario modificar el SO de la MV para que se ejecute en el anillo 1

Virtualización asistida por hardware (Native Virtualization)

Virtualización total que se aprovecha del soporte para virtualización presente en el hardware como las extensiones VT de Intel o Pacifica de AMD

Es necesario hardware específico

Page 12: Cloud y BigData

Soluciones de Virtualización en entornos cloud

Xen KVM VMware Hyper-V

Page 13: Cloud y BigData

Xen: Conceptos Básicos

Dom0: el SO anfitrión con el kernel de Xen DomU: cada una de las máquinas virtuales VIF: Virtual Network Inferface VBD: Virtual Block Device HVM: Virtualización con soporte hardware

Page 14: Cloud y BigData

Linux paravirt_ops (pv-ops)

Pv-ops es una parte del kernel de Linux que le permite ejecutarse como máquina paravirtual

Está disponible para x86, x86_64 e ia64 El mismo kernel puede arrancar nativamente

en el hardware físico o como máquina paravirtual

Xen y VMware tienen soporte de pv-ops

Page 15: Cloud y BigData

Xen StubDom

StubDom representa un nuevo modelo de gestión de dispositivos para MV HVM disponible a partir de Xen 3.3

El nuevo modelo utiliza un mini-SO para tareas como acceso a disco, a dispositivos de vídeo o a memoria

Se consigure una mejora considerable de rendimiento

Page 16: Cloud y BigData

KVM: Conceptos Básicos

Requiere de un procesador con soporte de virtualización

Soporta paravirtualización para ciertos drivers a través de VirtIO

RHEL6 añade KVM y elimina Xen

Page 17: Cloud y BigData

Virtualización Completa vs Paravirtualización

MicroKernel

Hardware

MáquinaVirtual

MáquinaVirtual

MáquinaVirtual

Driver Driver

API Gestión Traducción Binaria

Hipervisor

Hardware

MáquinaVirtual

MáquinaVirtual

MáquinaVirtual

API Gestión API Hardware Virtual HVM

Virtualización Completa Paravirtualización

Page 18: Cloud y BigData

Xen vs KVM: Linpack

Page 19: Cloud y BigData

Xen vs KVM: I/O

Page 20: Cloud y BigData

Standards

Open Virtualization Format (OVF): Formato standard para exportar máquinas virtuales entre VMMs

Virtual Machine Disk Format (VMDK): Formato standard para la creación de discos virtuales (usado principalmente por VMware)

VMI: Interfaz alternativo a pv-ops desarrollado por VMware (eliminado a partir del kernel 2.6.37)

Page 21: Cloud y BigData

Consideraciones prácticas

Las máquinas virtuales HVM y con virtualización total pueden presentar problemas con el reloj del sistema

Muchos VMM no gestionan eficiencientemente MV multi-procesador

El rendimiento de ficheros y LVM para almacenar las MV es similar

Algunas distribuciones de Linux incluyen una versión de /lib/tls que no es compatible con Xen (es recomendable deshabilitarla)

Page 22: Cloud y BigData

Soluciones Cloud IaaS

IaaS Pública IaaS Privada

Google Compute Engine

Page 23: Cloud y BigData

Public IaaS: Hipervisores

AWS Amazon EC2: Xen en general y Xen HVM para instancias tipo:

cluster compute, high I/O, second generation (m3) and Windows

Rackspace: Xen para Linux y XenServer para Windows

Google Compute Engine KVM

Windows Azure Hyper-V

Page 24: Cloud y BigData

IaaS

Page 25: Cloud y BigData

Comparativa

Fuente: http://blog.opennebula.org/?p=4042

Page 26: Cloud y BigData

Arquitectura OpenNebula

Page 27: Cloud y BigData

Almacenamiento Cloud

Page 28: Cloud y BigData

Evolución soluciones almacenamiento

Almacenamiento local

SAN

Distributed Replicated Block Device (DRDB)

Object Storage

Page 29: Cloud y BigData

Tipos de Almacenamiento

Object StorageAmazon S3

OpenStack Swift

Ceph

File StorageNAS (NFS, CIFS)

GlusterFS

Ceph FS

Block StorageSAS/SATA/iSCSI

Amazon EBS

Ceph RDB

Page 30: Cloud y BigData

Object Storage

Escalable: Posibilidad de ampliar/reducir el almacenamiento

Barato: Agrega los discos locales de muchos servidores

Replicación automática: Tolerancia a fallos

Interfaz http: usualmente API REST

Page 31: Cloud y BigData

Object Storage: Ejemplos

Amazon S3 OpenStack Swift Ceph

Object Storage: Ceph filesystem Block Storage: Ceph RADOS Block Device (RDB) File Storage: Ceph FS

GlusterFS

Page 32: Cloud y BigData

Object Storage: Inconvenientes

Si se actualiza un fichero hay que esperar a que se propaguen los cambios a todas la réplicas

Preferible para almacenar datos que no cambian mucho

Interfaz http

Page 33: Cloud y BigData

Soluciones de Almacenamiento IaaS

AWS

Object Storage Block Storage

Simple Storage Service (S3) Elastic Block Storage (EBS)

OpenStack Swift Ceph, GlusterFS, NetApp

Eucalyptus Walrus Storage Controller (SC)

CloudStack Swift Ceph

OpenNebula Ceph

Page 34: Cloud y BigData

Cloud Federado

Page 35: Cloud y BigData

EGI FedCloud

Page 36: Cloud y BigData

MonitorizaciónMonitorización

Page 37: Cloud y BigData

AccountingAccounting

OpenNebula 3.x

MySQL database

MySQL database

Summarized recordsRunning /stopped/finished VMs

Summarized recordsRunning /stopped/finished VMs

meghacloud.cesga.es

Ap

el global re

po.

Page 38: Cloud y BigData

Ejecutando Hadoop en FedCloud

Page 39: Cloud y BigData

Configuración de Hadoop

N+1 Hadoop cluster 1 Master

NameNode / Secondary NameNode JobTracker

N Slaves DataNode TaskTracker

Page 40: Cloud y BigData

Despliegue del cluster

Tiempo de despliegue de un cluster Hadoop de 101 nodos Obtener identificador: 71-86 min Tiempo total: 2,5-3 horas

Page 41: Cloud y BigData

Despliegue: Carga en el frontend

Page 42: Cloud y BigData

Despliegue: Uso de red

Page 43: Cloud y BigData

Enciclopedia Británica

Page 44: Cloud y BigData

Wikipedia

Page 45: Cloud y BigData

GAIA

Page 46: Cloud y BigData

GAIA

Misión de la ESA para elaborar un mapa tridimensional de nuestra Galaxia, la vía láctea: http://sci.esa.int/gaia/

El satélite será lanzado en agosto Datos a analizar: ~1PB

Page 47: Cloud y BigData

GAIA

Se analizaron distintas soluciones: • Cassandra• Hadoop• InterSystems Cache• IBM DB2• PostgreSQL 9 + Pl/Proxy2 + Cassandra

Page 48: Cloud y BigData

GAIA

Solución elegida: Hadoop

Page 49: Cloud y BigData

GAIA: Escalabilidad en FedCloud

Page 50: Cloud y BigData

Conclusiones

Page 51: Cloud y BigData

BigData + Cloud

Ejecutar BigData sobre una plataforma IaaS ofrece ventajas e inconvenientes

Page 52: Cloud y BigData

Pros

Elasticidad: tanta como tenga la aplicación Rapidez para obtener recursos Facilidad en la configuración Sencillez en el despliegue Ideal para pruebas

Page 53: Cloud y BigData

Contras

Tiempo de despliegue: Es necesario optimizar el gestor cloud para mejorar

el tiempo de despliegue

Rendimiento Es necesario optimizar las MV para mejorar su

rendimiento de E/S

Entorno heterogéneo Rendimiento de cada MV variable dependiendo

de la carga del anfitrión