1. About the Speaker
• Originally from Cape Town South Africa been living and working in
London for 6 years.
• Developing with PHP on the lamp stack since 2002.
• Currently work at a well known charity on their scalable fundraising
platform.
• Follow me on twitter @jeremyquinton
3. The future of Development
@mitchellh creator and maintainer of vagrant
4. WHY?
“Vagrant lowers development environment
setup time, maximize dev/prod parity, and
makes the „works on my machine‟ excuse a
relic of the past.”
-http://vagrantup.com
http://www.12factor.net
6. Components of a virtualised
development environment
• Virtualbox - virtualisation layer.
• Vagrant
• Provisioning tool like chef or puppet.
7. Virtual Box
• Virutalisation product freely available as Open Source Software under
(GPL) version 2.
• Supports all major platforms.
https://www.virtualbox.org/manual/ch01.html#hostossupport
• Community effort backed by a big company.
• Grab a copy for your platform at
https://www.virtualbox.org/wiki/Downloads
8. Vagrant
• “A tool to transparently manage all the complex parts of modern
development within a virtual environment without affecting the
everyday workflow of the developer too much.” - vagrantup.com
• Opensource project and written in Ruby, a command line tool.
Supported on most major operating systems.
• Hashicorp - http://www.hashicorp.com/blog/announcing-
hashicorp.html
• Grab a copy here - http://downloads.vagrantup.com/tags/v1.0.5 for a
package or install with ruby gems.
9. Chef
• Chef is a open source provisioning tool which was built for automating
the cloud. https://github.com/opscode/chef
http://wiki.opscode.com/display/chef/Home
• There are hundreds of recipes which are already written so you can
simply re-use them. https://github.com/opscode/cookbooks
• Can be installed via ruby gems. gem install chef
• Different configurations chef solo will be used in the examples.
10. Windows Developer
VCS
Mac Osx Developer
VagrantFile
Linux Developer
Chef Solo Scripts
1. vagrant add box box_name package.box
2. vagrant up
3. vagrant provision
Deployment
Staging Production
tool
11. How vagrant works
• Vagrant instance is managed with Vagrantfile
which is ruby syntax.
• 28 configuration options. You don‟t need to
use them all I‟ll demo 7 today. Full list on
vagrantup.com.
13. Three methods to create a box file
Method Pros Cons
Download a box file from - Simplest - You don‟t know whats on
http://www.vagrant.es - Up and running quickly the base box
- Time consuming.
- Gives understanding of the - Miss a step or do a step
Using the instructions off specifics of a vagrant box wrong and you have a
vagrantup.com setup vagrant box which has odd
behaviour
Using the opensource project
VeeWee off github - Simpler,Powerful
https://github.com/jedi4ever/vee - Templates for most server
operating systems
wee