Why is it better to use Vagrant instead of sharing the VM's Disk itself?

development-environment, vagrant

Solution

I can only speak from my own experience: the learning curve is well worth it.

As a programmer, I love being able to set up separate isolated environments for development, testing, and deployment.

Sure, you can copy the VDI around and whatever, but it's easier-- in my opinion-- to execute a few command line programs and it's all ready to go. It just seems dirty to me to copy around VDIs or other types of images.

Also, I can make packaged up vagrant boxes that I can send to my coworkers or distribute on the Internet.

Problem

I was searching for the best way to distribute a development environment to my team and found Vagrant. After some reading and testing, here is what I can say about it Pro: Automates the process of creating a new VirtualBox VM (for a new user). Con: Nullifies the only pro I found by requiring the new user to learn a new tool. The learning curve is way more time expensive than actually copying the VDI and configuring a new VirtualBox VM tu use it. (It is not that great as well, but is still higher than learning a new tool.) I definitely didn't understand why using Vagrant makes the process of distributing a development environment so different than just creating a normal VirtualBox VM and sharing the disk. Maybe I'm missing a point here, can anyone enlight me?

Original source