distributed computing & software engineering

19
Distributed computing & Software Engineering Allan Avendaño

Category:

Technology


4 download

TRANSCRIPT

Page 1: Distributed Computing & Software Engineering

Distributed computing &

Software Engineering

Allan Avendaño

Page 2: Distributed Computing & Software Engineering
Page 3: Distributed Computing & Software Engineering

Sistemas Distribuidos

Page 4: Distributed Computing & Software Engineering

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

Page 5: Distributed Computing & Software Engineering

Sistema Distribuido

Page 6: Distributed Computing & Software Engineering

Plataformas

BerkeleyVoluntariosComputación en paraleloCanal directo de comunicación

Sin control centralObjetivo común

Page 7: Distributed Computing & Software Engineering

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

Page 8: Distributed Computing & Software Engineering

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

Page 9: Distributed Computing & Software Engineering

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

Page 10: Distributed Computing & Software Engineering

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

Page 11: Distributed Computing & Software Engineering

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.

Page 12: Distributed Computing & Software Engineering

Patrones Arquitectónicos

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

Page 13: Distributed Computing & Software Engineering

Cliente-Servidor

• Uso de recursos.• Redundancia.• Procesamiento

en paralelo.• Tolerancia a

fallos.

Page 14: Distributed Computing & Software Engineering

Peer-to-Peer

• Servicios:• Balanceo de

carga.• Distribución

de trabajo.

• Tolerancia a fallos.

Page 15: Distributed Computing & Software Engineering

Hadoop y su Ecosistema

Page 16: Distributed Computing & Software Engineering

Hadoop

Procesamiento de conjuntos grandes de datos

HDFS y MapReduce

Page 17: Distributed Computing & Software Engineering

Ecosistema

SQL para grandes volúmenesde datos

Análisis de datos en un

lenguaje de alto nivel

Monitoreo de Hadoop

Machine LearningDistribuido

Page 18: Distributed Computing & Software Engineering

GSoC 2015Colaborar con comunidades de software abierto.

Compensación económica.

Diversión.

Page 19: Distributed Computing & Software Engineering

Q & A