Plataformas Computacionales a Gran Escala - Episodio 02 - Docker y Volumenes en Docker

24/03/2021 6 min Temporada 1 Episodio 2

Escuchar "Plataformas Computacionales a Gran Escala - Episodio 02 - Docker y Volumenes en Docker "

Síntesis del Episodio

En la clase anterior desarrollamos al menos tres actividades:

Revisión del despliegue con un solo comando de un balanceador de carga (HAProxy) usado por un conjunto de servidores web.
Se mostraron los pasos para desplegar un servicio de NFS en máquinas virtuales.
Y se hizo una ntroducción a Docker.

Del primer ítem, se revisó el despliegue con un solo comando de un cluster que apoyaba el balanceo de carga entre un conjunto de servidores web. Dos estudiantes (Jonathan Toledo y  Carlos Murillo) nos mostraron como lo llevaron a cabo y mostraron diferentes elementos que presentaban nuevas formas de hacer el aprovisionamiento de manera automática.
Del segundo ítem, se mostró como llevar a cabo el despliegue del sistema de ficheros NFS. Las máquinas virtuales se crearon con Vagrant y su aprovisionamiento se hizo de manera manual. Se propuso una tarea para que entonces los estudiantes hicieran el aprovisionamiento de manera automática de este servicio sobre tres máquinas virtuales.
Finalmente, se llevó a cabo una introducción a Docker, se habló un poco de su historia, de su importancia en el desarrollo de la virtualización centrada en los contenedores, así como algunos conceptos alrededor de la herramienta.
Se presentó como llevar a cabo el despliegue de Docker en una máquina virtual de Linux (Ubuntu Groovy) y se llevaron a cabo la ejecución de algunos de sus comandos.
---
En nuestra próxima clase llevaremos a cabo una revisión más detallada de algunos comandos de Docker para la gestión de contenedores. Hablaremos de volúmenes en Docker y si el tiempo nos lo permite veremos el uso de la herramienta docker-compose.
Vale la pena mencionar que Docker es una tecnología de mucha relevancia en la industria del software y también en el área de la investigación. Algunas de las razones por las cuales la tecnología de contenedores es tan atractiva:

Uso eficiente de recursos
Permite ciclos de desarrollo de software más rápidos → fácil distribución de nuevas funcionalidades o versiones del software
Soporte a la portabilidad → capacidad de correr la misma imagen de contenedor en diferentes plataformas
Adecuado para microservicios → gracias a la versatilidad de la tecnología es posible dividir aplicaciones monolíticas en diferentes servicios que pueden ser modificados y escalados de forma independiente.
Permite la reproducibilidad/repetibilidad  experimental.

Sin embargo los contenedores:

No resuelven problemas de seguridad
No convierten mágicamente aplicaciones a microservicios
No sustituye a las máquinas virtuales