¿Cuándo usar Vagrant? – 5 escenarios de uso. Tercera entrada de mi guía rápida de Vagrant y en esta ocasión voy a explicar cuándo usar Vagrant según mi experiencia.
¿Cuándo usar Vagrant?
Como ya expliqué aquí una de las ventajas de Vagrant es que es fácil de entender por la mayoría de los desarrolladores.
A diferencia de otras herramientas DevOps, como Docker que utiliza conceptos desconocidos por la mayoría de desarrolladores y es una especie de “magia negra” o Chef que hay que echarle horas para dominarlo, Vagrant es fácil y hay quien lo define como una línea de comandos para VirtualBox.
Si el DevOps te suena a chino y buscas una herramienta fácil de usar, para empezar a automatizar la creación de tus entornos de desarrollo, entonces usa Vagrant.
Si te encuentras en uno de estos casos, entonces NO uses Vagrant.
5 escenarios de uso de Vagrant
Una buena manera de saber cuándo usar Vagrant es con ejemplos. A mí se me han ocurrido 5 escenarios o ejemplos de uso de Vagrant.
1. Necesito un servidor de aplicaciones y no quiero depender del departamento de sistemas
En el propio repositorio de código del proyecto se puede crear un archivo Vagrantfile
con una instalación de Ubuntu + los componentes típicos de servidor que utilices (MEAN, LAMP, etc.).
Este Vagrantfile
lo pueden usar todos los desarrolladores para montar un entorno en su equipo sin depender de un servidor de aplicaciones virtualizado que puede que vaya lento, no tenga espacio, etc.
2. Soy programador frontend o diseñador y no quiero montar todo el backend
En el propio repositorio de código del proyecto se puede crear un archivo Vagrantfile
para que cualquier desarrollador puede virtualizar el backend
. En este caso, además del sistema operativo y middleware (servidor de aplicaciones), en el Vagrantfile
se desplegaría la última versión de los binarios del backend (para esto puede ser interesante Docker).
3. Tengo que hacer una demo para mañana de una aplicación y no hay entorno de demo o no funciona
Para versiones demo de aplicaciones se pueden generar repositorios de “boxes” con entornos de demo completos que se pueden ejecutar en cualquier equipo (de un comercial por ejemplo), aislado de cualquier problema con servidores de desarrollo, usuarios, bases de datos, etc. Los boxes, además, se pueden versionar, actualizar, etc.
4. Necesito virtualizar un sistema operativo concreto para un proyecto o una prueba y no quiero depender de sistemas
Accediendo a un repositorio de boxes busco el que necesito y lo arranco con Vagrant en mi equipo
5. Necesito un entorno de desarrollo complejo que me va a llevar días configurar
Por ejemplo, un cluster de Hadoop. Tan fácil como ir al repositorio y arrancar la máquina virtual.
Si alguno de los 5 escenarios de uso que acabo de comentar te suena familiar, quizás te interesa echar un vistazo al resto de la guía rápida de Vagrant.