An introduction to Vagrant, Packer, Virtualbox and Ansible