Me acabo de terminar de leer: «Creating Development Environments with Vagrant«.
Un libro que se lee muy rapido, apenas llega a las 100 paginas. Pero ha satisfecho todas mis dudas sobre que y para que usar Vagrant.
Tengo que decir que no lo he probado, todas estas conclusiones derivan de la lectura de este libro.
Vagrant es un sistema de virtualizacion, que tiene como base VirtualBox. La diferencia con respecto a otros sistemas de virtualizacion, es que este sistema se basa en un fichero de configuracion en el cual se indica, el Sistema Operativo y todas las librerias o productos que se quieren instalar dentro. De manera que si exportas ese fichero de configuracion a otra persona, tiene exactamente el mismo sistema. Solo compartiendo un fichero, que no pesa.
Para configurar el sistema internamente puedes usar tres herramientas, ssh, puppet y chef. Estas ultimas son automatizadores de instalación y configuración de programas. El libro dedica una capitulo a cada configurador de programas. Y en un solo capitulo te explica como usarlos. De hecho podrias usar los tres a la vez.
Es insteresante como puedes montar un entorno de mas de un servidor. Por ejemplo Liferay en un server y MySQL en otro. Todo esta configuracion dentro del mismo fichero Vagrant.
Ahora bien, he estado mirando que es Docker, y creo que ya no es necesario usar Vagrant. Pero esto va en otro post.