From a development point of view, it is necessary to be able to quickly build and test different server architectures for development. This repo builds various server architectures using Vagrant and Puppet that can quickly be spun up and developed on. More info: http://jessesnet.com/portfolio/vagrant-puppet-vm-clusters
Virtual Box
Vagrant
To install Virtual Box and Vagrant on CentOS/Ubuntu:
http://jessesnet.com/development-notes/2014/vagrant-virtual-machine-cluster/