One of the big things I have started using both at work and at home is Ansible. It is an automated deployment tool that makes it really easy to create reproducable builds. This means I have needed to figure out a way to test the playbooks I am using to deploy and upgrade servers. Enter Vagrant.