= Introducción a Vagrant == Que es Vagrant * Es una aplicación para crear escenarios virtuales de forma sencilla y replicable * Orientado al uso por desarrolladores o entornos de producción simples * Puede integrarse con herramientas de gestión de la configuración * Puppet, Ansible, Chef, Salt * Forma parte del conjunto de aplicaciones utilizadas en “infrastructura como código” * Desarrollada inicialmente por Mitchell Hashimoto en 2010 * en su tiempo libre, impacto tremendo * A partir de vagrant se creó Hashicorp en 2012 * desarrollo buscando los huecos donde puede hacer falta, gran prestigio * Hashicorp: * Packer (imágenes de vagrant) * Consul (descubrimiento de servicios) * Terraform (aprovisionamiento) * Vault (seguridad) * Nomad (despliegue contenedores) <- aka kubernetes == Características * Software libre (Licencia MIT) * Escrito en Ruby * Github: https://github.com/mitchellh/vagrant * Han contribuido cientos de personas == Problema * Configurar escenarios a mano es tedioso y provoca errores * Un desarrollador debe centrarse en el desarrollo * Los escenarios pueden cambiar == Solución * Distribuir una “virtual appliance” completamente configurada * Por ejemplo: OVF o OVA * Muy pesado * Difícil de modificar y redistribuir * Útil para software privativo == Una mejor solución * Distribuir de forma separada imágenes “limpias” de OS y la configuración completa * Muy ligero * Fácil de modificar y redistribuir * Fácilmente integrable en el flujo de trabajo “devops” * Muy útil para software libre == Limitaciones de Vagrant * Configuraciones avanzadas dependen del proveedor * proveedor = sistema de virtualización usado * No adecuados para escenarios complejos * Recursos limitados para entornos en producción en cloud computing