11-Unidad 3: Diseños de Vista-3.2 Usos Web Services
1. Unidad 3. Webservices
3.2. Uso de Webservices (Aplicaciones)
Plataformas de Desarrollo 2
Modalidad de estudios: Presencial
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Lfabsoft2019@gmail.com
2. Objetivos del encuentro:
1. Adquirir los conceptos básicos relacionados con los
webservices
2. Reconocer las características de los webservices
Semana Nro. 11
4. Introducción
Mejora en las
comunicaciones
de Red
Aumento de
velocidad y del
volumen de
tráfico soportado
Nace
Apache
Hadoop
Aparición del
Paradigma de
Computación
Cloud Computing
¿Es posible
Integrarlos?
Sistema de
Computación
Distribuido de Alto
Rendimiento en un
entorno Cloud
Computing
Desarrollo de los
Sistemas de
Computación
Distribuidos
3
5. Cloud Computing
• Ofrecer los recursos de un sistema sin que los usuarios tengan
conocimientos sobre el mismo, su configuración, mantenimiento o
administración.
Tipos de nubes: privadas, públicas, híbridas, combinadas y
comunitarias.
5
Virtualización de Servidores.
Convertir un sistema en una infraestructura de
servicios escalable, dinámica y automatizable en
la que se paga por los servicios que utilizas.
Migrar servicios entre servidores y adaptar el
sistema a la demanda de los usuarios.
6. Cloud Computing
Ventajas y Desventajas
Ahorro de
Costes
Alta
Disponibilidad
Alto
Rendimiento
Fiabilidad Escalabilidad
Agilidad
Recuperación
ante Desastres
Abstracción e
Independencia
del Hardware
Sentimiento de
Inseguridad o
Vulnerabilidad
Dependencia
Conexión a
Internet
Tecnología
Prematura en
Desarrollo
Degradación
del Servicio
Dependencia
Proveedores
de Servicios
6
9. Cloud Computing
Computación Distribuida Apache Hadoop
• Entorno de computación distribuida de
licencia libre creado por Doug Cutting y
promovido por Apache Software
Foundation.
Aplicaciones
sobre grandes
volúmenes de
datos de
manera
distribuida.
Sistemas con
miles de nodos.
Alta flexiblidad y
escalabilidad.
Clústeres con
distintas
topologías.
9
11. Cloud Computing
Hadoop Distributed File System
Diseño específico
para Apache
Hadoop
Mínimas
Escrituras –
Múltiples
Lecturas
No posee Alta
Disponibilidad
Posibilidad de
Réplica de Nodos
No indicado para
sistemas con
múltiples archivos de
poco tamaño
Posibilidad de
agrupar los datos en
contenedores
Tolerancia a Fallos
11
12. Cloud Computing
Hadoop Distributed File System
NAME
NODE
NAMENODE
SECUNDARIO
DATANODE DATANODE
Réplica de
Datos
Op.
Sincronización
Op. sobre
Bloque
Red de
Sincronización
Op. Datos
12
13. Integración Cloud Computing – apache hadoop
Hadoop es
adaptable a
cualquier tipo de
máquinas
Incluso Virtuales
Creamos una
instancia virtual en
nuestra nube
OpenStack Instalamos
Hadoop
SingleNode en
ella.
Almacenamos la
instancia como
patrón
Desplegamos tantas
instancias como
nuestros recursos
nos permitan
Configuramos
Hadoop
Multinode
14
14. Integración Cloud Computing – apache hadoop
• Selecciona
mos un tipo
de
instancia.
Utilizamos una
máquina
virtual
Ubuntu.
15
15. Integración Cloud Computing – apache hadoop
• Nos conectamos vía SSH a la instancia.
Configuramos Hadoop SingleNode.
16
16. Integración Cloud Computing – apache hadoop
• Almacenamos esta máquina virtual
configurada con Hadoop SingleNode como
patrón de instancias.
Desplegamos tantas instancias como los recursos
hardware de nuestro sistema Cloud Computing
permitan.
17
17. Integración Cloud Computing – apache hadoop
• Configuramos Hadoop Multinode.
Iniciamos los servicios del entorno distribuido.
Primero el HDFS.
Finalmente la capa MapReduce.
18
18. Programación MapReduce
Programación
Funcional
(Map – Reduce)
Balanceado
de Carga
Orientado a Grandes
Cantidades de Datos
Amplio
Soporte
Control de Errores
en Nodos. Tolerancia
a Fallos
Licencia
Libre
Programación
Paralela
20
20. Programación MapReduce
Funcionamiento
Los elementos principales de un programa MapReduce
son:
JobConf Mapper Reducer
Formato de Salida
Formato de
Entrada
No hay un ningún tipo de archivo para trabajar con Imágenes
22
21. Programación MapReduce
Librería HIPI
Librería creada por la University of Virginia que aporta una API para
el procesamiento de imágenes
HipiImageBundle
FloatImage CullMapper
HipiJob
24
23. Pruebas de Rendimiento y Ejemplos de Aplicación HIPI
Prueba de
Rendimiento
WordCount
Batería de pruebas
aumentando el
número de libros
27
Carga de Archivos
en el Sistema
Ejecución
MapReduce
25. Pruebas de Rendimiento y Ejemplos de Aplicación HIPI
00:00.0
00:43.2
01:26.4
02:09.6
02:52.8
03:36.0
04:19.2
10 50 100 150 200 300 400 500 600 700 800 900 1000Tiempo(mm:ss,d)
Biblioteca de Entrada
Incluir Archivos en HDFS
Cuanto mayores son
los conjuntos de
entrada, mejor el
comportamiento
Las diferencias en los
grandes conjuntos son
menos significativas
29
26. Pruebas de Rendimiento y Ejemplos de Aplicación HIPI
00:00.0
01:26.4
02:52.8
04:19.2
05:45.6
07:12.0
08:38.4
10:04.8
11:31.2
10 50 100 150 200 300 400 500 600 700 800 900 1000Tiempo(mm:ss,d)
Biblioteca de Entrada
Ejecución
El aumento en el tiempo de ejecución es lineal,
por lo que el incremento en la biblioteca de
entrada afecta de forma normal.
30
27. Pruebas de Rendimiento y Ejemplos de Aplicación HIPI
Libros Segundos
Totales
Segundos
por Libro
10 45” 4,5”
50 72” 1,44”
100 101” 1,01”
150 139” 0,93”
200 183” 0,91”
300 238” 0,79”
400 305” 0,76”
500 355” 0,71”
600 407” 0,68”
700 464” 0,66”
800 498” 0,62”
900 585” 0,65”
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
Tiempo(segundos)
Biblioteca de Entrada
Segundos por Libro
31
28. Pruebas de Rendimiento y
Ejemplos de Aplicación HIPI
Para grandes volúmenes de
datos el funcionamiento del
HDFS es mucho más eficiente.
Un clúster Hadoop junto con
la programación MapReduce
obtiene mejor rendimiento
cuanto mayor son los
conjuntos de datos de
entrada.
El framework Apache Hadoop está diseñado
para sistemas en los que los datos se carguen
una vez y sobre ellos se realicen múltiples
trabajos.
CONCLUSIONES PRUEBAS DE RENDIMIENTO
32
29. Pruebas de Rendimiento y
Ejemplos de Aplicación HIPI
Ejemplo de
Aplicación HIPI
Generación de
contenedor HIB
Ejecución sobre el
contenedor
Descarga de
imágenes de la red
social Flickr
33
32. Conclusiones
37
OpenStack junto con StackOps proporciona una forma de configurar sistemas
Cloud Computing de manera sencilla.
Apache Hadoop ha demostrado ser un sistema de computación distribuido
adaptable a cualquier tipo de sistema, incluso virtuales.
Queda probado que el entornos Apache Hadoop, el HDFS y la programación
MapReduce alcanzan su mayor rendimiento procesando grandes conjuntos de
datos
La librería Hadoop Image Processing Interface proporciona una API que permite
trabajar directamente sobre imágenes en Apache Hadoop
33. Trabajo Futuro
Crear un programa que
incluya la librería HIPI que
tome imágenes (por
ejemplo de satélite) y
detecte figuras o patrones
incluidos en ellas.
Crear un clúster para
analizar los datos de una red
social o sistema de gestión
de una organización pública
o privada
Integrar un Sistema de
Gestión de Bases de Datos
en este entorno.
Optimizar el entorno de
computación Apache
Hadoop implantando alta
disponibilidad y utilizando al
máximo los recursos del
clúster.
39
Explicar las diferencias. Nubes que aportan IaaS, PaaS o Saas
Hay que decir aquí que obviamente mantiene las características de Hadoop de Flexibilidad, Adaptabilidad, grandes volúmenes de datos y Miles de Nodos.
utilizando al máximo los recursos del clúster: se refiere a crear instancias virtuales de distintas características y utilizando el nodo controlador sólo como controlador.