Vagrant in production

Vagrant should be used more like a staging environment to test your infrastructure changes. It should be your test bed for automated infrastructure changes.

The way we use it at my company is like so:

  1. Create VMs for our managed servers in Vagrant.
  2. Create puppet definitions for each server.
  3. Create cucumber tests for each server.
  4. Make infrastructure changes via puppet and add cucumber tests.
  5. Launch our servers to test for failures.
  6. Fix bugs, release and/or back to step 4.

Basically when we’re happy with our changes, we’ll pull our puppet changes into production to make it happen.

I’d not recommend using vagrant to manage VMs for real production. I’d use something else like razor, virsh, OpenStack or one of the many other vm management systems out there.

Leave a Comment