Vagrant, Chef ... Virtual environments Management

Vagrant is an open-source (MIT) tool for building and managing virtualized development environments. It can be seen as a wrapper around virtualization software such as VirtualBox, KVM, VMware and around configuration management software such as Ansible, Chef, Salt or Puppet.

Chef is a configuration management tool written in Ruby and Erlang. Chef is a powerful automation platform that transforms complex infrastructure into code, bringing your servers and services to life. Whether you’re operating in the cloud, on-premises, or a hybrid, Chef automates how applications are configured, deployed, and managed across your network, no matter its size. Chef is used to streamline the task of configuring and maintaining a company's servers, and can integrate with cloud-based platforms such as Rackspace, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer and Microsoft Azure to automatically provision and configure new machines. 

ref:

Vagrant wiki - http://en.wikipedia.org/wiki/Vagrant_%28software%29

Vagrant - https://www.vagrantup.com/

Vagrant documentation - http://docs.vagrantup.com/v2/

Vagrant 'Getting started' - http://docs-v1.vagrantup.com/v1/docs/getting-started/

Chef tool - https://www.chef.io/chef/


Chef 'Getting started' - https://learn.chef.io/ 

Vagrant & Chef provisioning - https://docs.vagrantup.com/v2/provisioning/chef_client.html

Building and managing Hadoop with Chef - https://www.chef.io/blog/chefconf-talks/building-and-managing-hadoop-with-chef-john-martin/

Introduction to Vagrant -  
VagrantBox - http://www.vagrantbox.es/