Distributed Computing & Software Engineering

Post on 13-Jul-2015

114 views 4 download

Tags:

Transcript of Distributed Computing & Software Engineering

Distributed computing &

Software Engineering

Allan Avendaño

Sistemas Distribuidos

Agenda• Definición• Casos de uso• Expectativa vs Realidad• Patrones arquitectónicos• Hadoop y su ecosistema

Sistema Distribuido

Plataformas

BerkeleyVoluntariosComputación en paraleloCanal directo de comunicación

Sin control centralObjetivo común

Caso: Aplicación de almacenamiento de imágenes

http://www.aosabook.org/en/distsys.html

Manejadorde

Imágenes

B.D.de

Imágenes

Imagen

Los archivos sonalmacenados en la Base de Datos

Cargar

Requerimientode una imagen

Cliente

Imagen

Cargar

Requerimientode una imagen

Cliente

Los archivos sonalmacenados en la Base de Datos

Servicio de escritura de

imágenes

Servicio de lectura de imágenes

B.D. De

imágenes

Imagen

Cargar

Requerimientode una imagen

Cliente

Los archivos sonalmacenados en la Base de Datos

B.D. De

imágenes

B.D. De

imágenes

Replicación

Servicio de escritura de

imágenes

Servicio de escritura de

imágenes

Servicio de lectura de imágenes

Servicio de lectura de imágenes

Ubicado en otro lugar

Archivos 1 son

guardados en

la B.D.

Archivos 2son

guardadosen

la B.D.

Los archivos sonalmacenados en la Base de Datos

Replicación

Replicación

B.D.espejo para

Archivos 1

B.D.espejo para

Archivos 2

Ubicado en otro lugar

Casos de Uso• Servidores de archivos• Bases de datos • Servidores Web• Servidores de Correo• Computación en la nube• Minería de datos

Expectativa vs Realidad

• Escalabilidad.• Disponibilidad.• Transparencia.• Heterogeneidad y

Apertura.• Reutilización.• Costos.

• Detección, Enmascaramiento, tolerancia y recuperación de fallos.

• Complejidad.• Tiempo de

procesamiento.

Patrones Arquitectónicos

• Cliente-Servidor (+ multinivel)• Peer-to-Peer• Maestro-Esclavo

Cliente-Servidor

• Uso de recursos.• Redundancia.• Procesamiento

en paralelo.• Tolerancia a

fallos.

Peer-to-Peer

• Servicios:• Balanceo de

carga.• Distribución

de trabajo.

• Tolerancia a fallos.

Hadoop y su Ecosistema

Hadoop

Procesamiento de conjuntos grandes de datos

HDFS y MapReduce

Ecosistema

SQL para grandes volúmenesde datos

Análisis de datos en un

lenguaje de alto nivel

Monitoreo de Hadoop

Machine LearningDistribuido

GSoC 2015Colaborar con comunidades de software abierto.

Compensación económica.

Diversión.

Q & A