Vagrant es una herramienta que nos permite crear escenarios virtuales de una forma muy simple y replicable . Es un proyecto de código abierto escrito en Ruby y multiplataforma que nació en 2010 de la mano de Mitchell Hashimoto, dos años después se lanzó la primera versión estable y se creó la empresa HashiCorp para asegurar el desarrollo y el soporte de Vagrant.

Vagrant ¿Para qué?

Vagrant genera máquinas virtuales a través de imágenes ya creadas previamente por la comunidad . A estas máquinas se las denominan boxes.

Ahora que ya sabemos que hace Vagrant, ¿Para qué usarlo? Para evitar situaciones tales como, me funciona en local pero no me funciona en remoto, en mi máquina funciona pero no en otras... Con Vagrant conseguimos evitar dichos problemas con las cajas ya configuradas.

El hecho de no tener que configurar nada en nuestro ordenador es que si algo falla, falla solo en la máquina virtual que hemos levantado y no en nuestro ordenador, así evitamos instalar librerias o software que sean conflictivas entre ellas.


Los boxes

Gracias a esto, podremos descargarnos entornos ya configurados para que el desarrollador solo se preocupe de empezar a programar y no de configurar el escenario, ahorrandonos así una gran cantidad de tiempo. A estos entornos configurados, se les llaman boxes (cajas) como hemos comentado anteriormente.

Por ejemplo, quiero un escenario con stack MEAN, en vez de tener que instalar Nodejs, Angular, mongoDB y Express uno a uno, simplemente me dirijo a la página oficial de los boxes , busco Mean Stack y me aparecerán los boxes disponibles por la comunidad, selecciono el más adecuado para mi proyecto y paso a instalarlo.

Como ves, en pocos minutos tendremos un escenario totalmente preparado para empezar a crear nuestra aplicación sin demorarnos mucho en instalaciones, configuraciones y problemas de compatibilidad.

Como ves, Vagrant es una herramienta muy útil e interesante , evitaremos tener cientos de bases de datos en nuestro ordenador, podremos tener aislado el entorno, y sobretodo evitaremos el "Pues en mi máquina si funciona". Sin duda gran aliado para trabajo en equipo y evitar problemas de configuración.