Las máquinas virtuales nos permiten realizar la virtualización de sistemas operativos, realizar pruebas o correr aplicaciones logrando que varios sistemas operativos convivan sin complicaciones, aislados unos de otros. Una de las primeras opciones que tenemos para hacerlo es VirtualBox, un software gratuito distribuido bajo los términos de la licencia GNU GPL (General Public License) distribuido por Oracle. Un nuevo producto llega para facilitar la vida de los desarrolladores cuya frase es “funciona en mi máquina”: Vagrant, una nueva forma de crear y personalizar entornos de desarrollo livianos, reproducibles y portables.

Vagrant usa de hecho el VirtualBox de Oracle para construir máquinas virtuales de forma dinámica. VirtualBox es un virtualizador completo para hardware x86, ideal para el uso en servidores, escritorios y de forma completamente profesional. Está disponible –por lo que también Vagrant está disponible- en Windows, Mac, Linux y Solaris. Las versiones soportadas de VirtualBox en Vagrant son desde la 4.0 en adelante.

Para poder instalar Vagrant en el equipo, tendremos que descargarlo directamente desde la página del proyecto. Como dijimos, al estar soportado en VirtualBox, es completamente gratuito. Es una aplicación ideal para desarrolladores web que tienen que usar diariamente entornos virtuales para desarrollar aplicaciones web. La virtualización es la herramienta más utilizada por las facilidades para el deploy que propone, y Vagrant tiene el objetivo de hacer que todo esto sea aún más fácil. Se trata de un programa fácil de configurar, liviano, reproducible y portable, para maximizar la productividad y flexibilidad de nuestro trabajo y del trabajo en equipo.

Para los desarrolladores que trabajan de forma individual, Vagrant es una aplicación que permite trabajar en entornos de desarrollo consistentes sobre diferentes proyectos. En este sentido, es muy versátil. Permite desempeñarnos en diferentes proyectos que tienen sus propias librerías, colas de mensajes de sistema, bases de datos, frameworks y más. Tener todas estas dependencias en un ordenador es casi imposible, sobre todo si tenemos varios proyectos corriendo al mismo tiempo. Por eso, Vagrant brinda la posibilidad de construir entornos únicos para el desarrollo, que luego pueden desmantelarse y reconstruirse de acuerdo con las necesidades individuales.

En cuanto al trabajo colaborativo, normalmente encontramos que cada desarrollador tiene que tener los mismos entornos, con las mismas dependencias, versiones, configuraciones y demás. Pero hoy en día, no es algo fácil de obtener. Miembros de un mismo equipo pueden estar usando librerías de MySQL diferentes, o tener una configuración diferente del servidor. Con los ambientes virtuales, esto se elimina, y es una de las mejores funcionalidades que ofrece Vagrant para el trabajo en equipo.