Vagrant for

Non-Developers

Mike Brown

Python Developer

@m3osu / @ExcellaCo

Dev

Production

Vagrant?

"Vagrant provides easy to configure, reproducible, and portable work environments"

Vagrant helps developers set up a virtual machine

Translation:

Claim 1: Easy To Configure

Vagrant::Config.run do |cfg|
  cfg.vm.box = "ubuntu/trusty32"

  cfg.vm.forward_port 80, 8080

  cfg.vm.share_folder "test", "/home/vagrant/test"

  cfg.vm.provision :shell, :path => "install.sh"
end

Vagrant Commands

 $ vagrant up

 $ vagrant ssh

 $ vagrant halt

 $ vagrant destroy

Claim 2: Reproducible

  • Puppet

  • Ansible

  • Chef

  • Docker

  • Shell

Configure dev the same way you configure prod

"But our production environment has several servers..."

Claim 3: Portable

Configurations can be shared!

This team is not worried about their development environments

Dev ≈ Production

Dev ≈ Production

For the whole team

Made with Slides.com