Vagrant is a tool that simplifies the management of virtual machines for development. You create a configuration file for a project, and then with one command pull down an image, provision it, and open it up to network connections. It provides a cross-platform layer of abstraction above VirtualBox (or VMware).<p>Vagrant gives you your choice of provisioning tools, so you can run shell scripts, Ansible, Chef, Puppet, or even Docker containers to get your virtual machine set up to match your production environment (or however else you need it).<p>Vagrant and Ansible make a great pair for the same reasons Ansible is great for provisioning other environments. It speeds up the provisioning process, leaves no extra dependencies installed on your virtual machine, and runs idempotently making it easy to work out the kinks in your server configurations.