Cómo montar un entorno de pruebas con Vagrant

Seguro que, en más de una ocasión, nos hemos encontrado con la necesidad de crear un laboratorio donde probar diferentes desarrollos o tecnologías antes de aplicarlos a los productos en curso o, incluso, medir rendimientos en un entorno controlado.

Dicho trabajo se puede hacer en una Workstation local, con el consiguiente gasto en tiempo, en la instalación de productos y recursos puesto que, en el momento que están instalados, empiezan a consumir a no ser que llevemos una administración rígida y metódica, cosa que no suele ser habitual en este tipo de pruebas.

Pero, ¿y si hubiera una manera de apoyarse en dos tecnologías ampliamente probadas y fiables, como son las máquinas virtuales y la dockerización para crear nuestro entorno de una manera rápida, encapsulada y pudiendo evitar el consumo de recursos más que con apagar el entorno?

Alberto Ruiz Sáez
Alberto Ruiz SáezData Engineering

Pues eso es lo que vamos a conseguir en este tutorial, usando tres productos: VirtualBox, Vagrant y Dockers.

Ventajas de crear un entorno de pruebas con Vagrant

Si ya conoces VirtualBox y Dockers, probablemente estés pensando que con ellos ya se puede crear el laboratorio que queremos, así que, ¿qué nos aporta Vagrant a la ecuación? Pues, ni más ni menos que poder generar una máquina virtual ligera, reproducible y compartible de forma muy sencilla, puesto que se basa en simples ficheros de configuración.

Habitualmente, para crear una máquina virtual tenemos que instalar un software de virtualización, como puede ser Virtualbox, VMware o Hyper-V, por mencionar alguno de los más conocidos, una vez hecho, configurar el sistema con los requisitos que veamos adecuados y, por último, conseguir el sistema operativo que necesitemos e instalarlo, tarea que no es trivial, puede consumirnos bastante tiempo y además producir un resultado que nos ocupe una  cantidad significativa de gigas en nuestro disco duro.

Vagrant es una herramienta de línea de comandos que actualmente está disponible para Windows, Mac y Linux y nos permite simplificar de manera significativa todo el proceso.

Se basa en una filosofía a lo docker, en la cual, tenemos un fichero de configuración en el que la primera línea específica el nombre de una imagen de partida, con un sistema operativo ya preinstalado, dicha imagen se puede buscar dentro de un extenso repositorio que Vagrant pone a nuestra disposición con configuraciones especializadas para multitud de especificaciones.

El resto de parámetros nos permitirá afinar y personalizar tanto la propia máquina virtual como el contenido, hasta dejarlo a medida para nuestras necesidades.

Todo ello, invirtiendo mucho menos tiempo que con el proceso tradicional y sobre todo obteniendo un resultado significativamente menos “pesado”, pudiendo en algunos casos ocupar hasta un 10% del espacio habitual.

Y como la mejor manera de demostrar un concepto, es llevarlo a la práctica, y mi área de trabajo particular es la ingeniería de datos, a continuación, voy a mostrar cómo montar, en una Workstation Windows, un servidor PostgreSQL mediante las tecnologías indicadas.

Descarga e instalación de Vagrant y VirtualBox

Lo único que tenemos que instalar en la máquina local es lo siguiente:

y dado que ambos procesos son bastante triviales, vamos a pasar directamente a la magia, esto es, configurar y crear el laboratorio.

Configuración del laboratorio Vagrant

Una vez instalados correctamente los dos productos, nos crearemos la carpeta que más nos convenga para generar nuestra configuración, en mi caso lo voy a situar en C:\Laboratorios\PSQL_test, por lo que procederemos a abrir un símbolo del sistema en dicha ruta.

Una vez allí, probaremos a ejecutar el comando ‘vagrant’ para obtener un listado de las opciones disponibles.

Si obtenemos esta respuesta, significará que funciona correctamente.

A continuación, escribiremos el siguiente comando ‘vagrant init’, lo cual nos creará nuestro primer fichero de configuración en la carpeta.

A continuación, editaremos el fichero Vagrantfile para configurar y aprovisionar la máquina, con las siguientes líneas auto comentadas:

Ejecución y pruebas

Una vez modificado el fichero, es hora de probar nuestro trabajo, para ello, una vez situados dentro de la ruta del proyecto, no tenemos más que ejecutar el comando ‘vagrant up’, tras lo cual Vagrant se habrá encargado de hacer todas las tareas por nosotros, acabando de esta manera:

Ya solo nos queda probarlo, para ellos usaremos el cliente ssh que nos proporciona vagrant mediante el siguiente comando: ‘vagrant ssh

Una vez dentro, procedemos a conectar al servidor postresql, mediante el cliente que se nos habrá instalado, y con los parámetros que tal y como hemos configurado, serán los siguientes:

Host: 172.0.0.2

BD de mantenimiento: postgres

Usuario: postgres

Clave: psql_test

Y probar a listar las bases de datos creadas:

Por otro lado, si abrimos la consola de VirtualBox, comprobaremos que nuestra máquina se encuentra configurada y funcionando:

Otras consideraciones

Como comentamos al principio del artículo, una de las principales ventajas de este sistema es que, una vez hayamos terminado nuestras pruebas o desarrollos, solo tenemos que apagar la máquina para evitar que consuma recursos de nuestro equipo, tarea que podemos hacer, directamente desde VirtualBox o mediante el comando ‘vagrant halt

Tras lo cual, podremos comprobar que la máquina, efectivamente está apagada:

Por último, solo destacar que, si además queremos que, otro miembro del equipo, trabaje con la misma configuración con la que hemos probado, evitando el tan temido “en mi sistema funciona correctamente” solo tenemos que enviarle el Vagrantfile, es decir, el fichero de configuración de nuestra máquina vagrant y en cinco minutos estará listo para la tarea.

¡Espero que os sea útil!

Otros artículos relacionados

2023-11-20T13:52:43+01:0019 enero, 2022|

¡Compártelo en tus redes sociales!

Ir a Arriba