Automation is key to a reproducible, failure-tolerant infrastructure. Cloud administrators should aim to automate all steps of building their infrastructure and be able to re-provision everything with a single click. This is possible through a combination of configuration management, monitoring, and provisioning tools. To get started in creating appliances that will be automatically configured and provisioned, three tools stand out in the arsenal: Veewee, Packer, and Vagrant.
Vagrant is a tool to create lightweight, portable, and reproducible development environments. Specifically, it allows you to use configuration management tools to configure a virtual machine locally (via VirtualBox) and then deploy it in the cloud via Vagrant providers. Recipe 5.4 gives you an introduction to this development tool.
A new kid on the block in configuration management and orchestration is Ansible. Ansible is based on SSH communications with the instances and a no-server setup. It is push based at the core. It is easy to install and get started. Of course, just like Puppet, Salt, and Chef, it can be used in conjunction with Vagrant. Ansible (Recipe 5.6) has some great documentation, so we will go quickly through the installation process and dive straight into some key concepts and a basic provisioning using Vagrant.
You need to build ...