Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Plug&play:deploying big data_solutions
1. Plug & Play: Desplegando
aplicaciones Big Data
David Piris
Valenzuela
2. 2
1. Introducción
2. Virtualización
3. Cloud Computing
4. Contenedores
5. ¿Qué es un contenedor?
6. Big Data y los contenedores
7. Plug & Play: desplegando aplicaciones Big Data
8. Herramientas despliegue Docker
9. Caso de uso
Índice
3. Un poquito sobre mi y Treelogic
• David Piris Valenzuela, Big Data R&D Engineer y profesor en máster de Big
Data en Kschool.
• Treelogic. Somos una empresa intensiva en I+D que proporciona a sus clientes
soluciones basadas en las tecnologías de la información y la comunicación.
Parque Tecnológico de Asturias,
parcela 30
33428 - Llanera, Asturias
Avenida Manoteras 38,
oficina D 614
28050 Madrid
4. Introduccion
Hoy en día, para poder llevar a buen puerto nuestra solución tecnológica
empleamos un entorno de desarrollo que posteriormente deberá de ser
trasladado a un entorno de producción.
5. Introducción
Este “traslado” o paso a producción hace unos cuantos años era bastante
complejo. Se trataba de tener una réplica de forma idéntica tanto a nivel de
hardware como de software en 2 entornos completamente aislados y diferentes.
7. Virtualización
Con el paso de los años, surgió el concepto de virtualización. Nos permite
desplegar en un mismo entorno o “host”, una máquina con recursos hardware
compartidos con el anfitrión. De esta forma repartimos dichos recursos entre la
máquina virtualizada (guest) y la máquina anfitriona (host), pudiendo utilizar 2
entornos aislados reduciendo los costes en hardware.
8. Virtualización
A pesar de reducir de forma muy considerable los gastos en replicar entornos
hardware, seguimos teniendo el problema de cada vez que hacemos el paso a
producción tener que replicar de forma idéntica el software necesario.
9. Cloud Computing
• En el año 2002 sale a la luz Amazon Web Services un conjunto de servicios
basados en la nube, incluyendo almacenamiento, computación e incluso la
inteligencia humana a través del Amazon Mechanical Turk.
• En 2006 Amazon lanzó su Elastic Compute Cloud (EC2) como un servicio
comercial que permite a las pequeñas empresas y los particulares alquilar
equipos en los que se ejecuten sus propias aplicaciones informática
• En 2009 Google y Microsoft en 2010 empezaron a ofrecer aplicaciones
basadas en navegador.
10. Cloud Computing
La aparición de los servicios en la nube supuso un grandísimo avance en el
despliegue de soluciones, agilizando la vida de release de cualquier producto o
solución y reduciendo aún más los costes tanto hardware como de de desarrollo.
11. Cloud Computing
1. Reducción del coste de hardware
• No es necesario tener un entorno físico para hacer pruebas de concepto.
• Riesgo de pérdidas con proyectos iniciales se reduce drásticamente. Se
pueden desplegar entornos para probar una nueva aplicación piloto y ver si
obtiene los resultados esperados antes de hacer una gran inversión física.
• Rápido escalado de los sistemas en caso de necesitar ampliar disco o
memoria.
12. Cloud Computing
2. Reducción del coste de desarrollo
• No es necesaria la intervención de un departamento de IT para poder
desplegar un entorno de 0. Un usuario con conocimientos basicos de
administración puede hacerlo con la interfaz proporcionada.
• Se pueden desplegar tantos servicios como se quiera en las máquinas con
solo unos simples clicks sin necesidad de instalaciones costosas.
13. Cloud Computing
3. Los tiempos para hacer una migración de un entorno de desarrollo a
producción se reducen de forma drástica.
• Posibilidad de con pocos clicks replicar el entorno virtualizado en la nube
• Posibilidad de descargar las imagenes y virtualizar en entornos físicos.
14. Cloud Computing
¿Pero esto es lo ideal?
No, muchos proyectos o soluciones no pueden ser llevados a cabos en la nube
por reticencias o políticas de privacidad de los datos que se tratan. La mayoría de
las soluciones aún hoy en día son “on premise” o se tiende a tener sistemas
híbridos entre la nube y físicos.
Por ello aún los servicios en la nube no pueden aportar la solución y la agilidad
necesaria para poder llevar el 100% de una forma ágil y rápida.
16. Contenedores
En 2015 un proyecto de github empezó a tener mucha difusión y aceptación ya
que conseguía llevar a un nuevo nivel la virtualización: Aisla las aplicaciones a
nivel por encima del SO. Docker utiliza características de aislamiento de recursos
del kernel de Linux, tales como cgroups y namespaces para permitir que
"contenedores" independientes se ejecuten dentro de una sola instancia de Linux,
evitando la sobrecarga de iniciar y mantener máquinas virtuales.
https://github.com/docker/docker
21. Big Data y los contenedores
Todos sufrimos el problema de lidiar y tener que encajar con frecuencia el puzzle
que supone el gran ecosistema Big Data
22.
23. Big Data y los contenedores
Es tan amplio el ecosistema que en el 98% de las veces cada aplicación o
solución usa diferentes servicios desplegados. Por lo cual en un entorno de
producción se puede dar el caso de tener diferentes entornos desplegados.
25. Plug & Play: Desplegando aplicaciones BigData
• Desplegamos servicios en el mismo entorno en función de necesidades
puntuales
• Rapidez de despliegue
• Optimizamos recursos
26. Herramientas despliegue Docker
Docker Compose : da la posibilidad de definir en un único fichero escrito con
YAML la creación de múltiples nodos (contenedores) para que se creen a la vez.
Por ejemplo, podemos montar un Zookeeper, HBase y Kafka en tres
contenedores separados y arrancarlos todos a la vez.
27. Herramientas despliegue Docker
Docker Swarm: Esta herramienta es la que más se asemeja a Mesos. Consiste
en gestionar un pool de anfitriones Docker (instalaciones que gestionan
contenedores). Sería capaz de crear contenedores indicando tamaño asignado al
mismo y máquina dónde arrancar.
28. Herramientas despliegue Docker
Docker Machine: Esta herramienta es capaz de crear Docker hosts para poder
almacenar imágenes dentro… suena un poco enrevesado. Imaginaros un
almacén de contenedores. La ventaja de esta herramienta es facilitar al
desarrollador la creación de un host de Docker independientemente de la
plataforma donde tenga que instalarlo.
37. ASTURIAS
Parque Tecnológico de Asturias
Parcela 30
33428 Llanera - Asturias · España
902 286 386
central@treelogic.com
www.treelogic.com
MADRID
Avda. de Manoteras, 38
Oficina C402
28050 Madrid · España