Live data from Hacker News

Vagrant for fast dev environment setups

techie-notebook.blogspot.in

1–10 of 18 posts

Re: Vagrant for fast dev environment setups

#2
The most important part of using vagrant, the provisioning, isn't even covered in the article.

A paragraph or link to vagrant's homepage is enough to explain the value. The hardest part is automating the dev environment via chef or puppet, which is where the article should've been dedicated to.

Re: Vagrant for fast dev environment setups

#4

The most important part of using vagrant, the provisioning, isn't even covered in the article. A paragraph or link to vagrant's homepage is enough to explain the value. The hardest part is automating the dev environment via chef or puppet, which is where the article should've been dedicated to.

There is a link to the Vagrant docs on running chef solo at the bottom of the article. Not sure if it was always there or if it was a response to this comment because the author made no indication of edit or update.

Re: Vagrant for fast dev environment setups

#5
What is the problem that vagrant solves, that can't be done without virtualbox on its own, or virtualbox and chef/puppet on their own?

Or lacking that, what does vagrant do so much better than the base tools on their own that you would never want to do without it?

As far as I can see you can do all that vagrant does with vboxmanage, vboxheadless and cloning. I generally ssh into my virtualboxes already.

You could even make an argument against vagrant - if you want to maintain the same deployment tools for vboxes and production boxes, so that you can rehearse/test initial deployment, deployment and recovery on a vbox configured as much as possible as a production box.

I'm more than open to correction or persuasion ...

Re: Vagrant for fast dev environment setups

#7
post #5

What is the problem that vagrant solves, that can't be done without virtualbox on its own, or virtualbox and chef/puppet on their own? Or lacking that, what does vagrant do so much better than the base tools on their own that you would never want to do without it? As far as I can see you can do all that vagrant does with vboxmanage, vboxheadless and cloning. I generally ssh into my virtualboxes already. You could eve…

The main differences would be the overall integration and the "Vagrantfile". I.e. you can slap a Vagrantfile into your project (akin to a Rakefile) that defines what a dev-environment should look like.

Some other developer can then just check out the repo, run "vagrant up" and vagrant will take care of downloading the required OS disk-images (*.box-files), launching any number of VMs and triggering your provisioning procedure (puppet, chef, shell-script - whatever) on each.

It's still a lot of work to properly integrate into a project/CI without frequent hickups (e.g. keeping up with ever-changing server-configurations). But it's definitely a solid baseline to start from and saves a lot of work that you'd otherwise spend scripting all this yourself.

Re: Vagrant for fast dev environment setups

#8
post #5

What is the problem that vagrant solves, that can't be done without virtualbox on its own, or virtualbox and chef/puppet on their own? Or lacking that, what does vagrant do so much better than the base tools on their own that you would never want to do without it? As far as I can see you can do all that vagrant does with vboxmanage, vboxheadless and cloning. I generally ssh into my virtualboxes already. You could eve…

It offers a reduction in the time to get started; vagrant provides the wrapper script around vboxmanage that you would otherwise write & debug.

By effectively standardising that tool which many people would otherwise continually reinvent, the group as a whole benefits from sharing and moving things forward, e.g. The many pre-packaged system images, puppet config examples and the like.

If you're not using it, I don't think you'd be missing anything worth losing sleep over.

I looked into it a while back - I saw it as a potential way to save my time documenting our setup for others, but in the end I opted to make my own as we have other tools to be integrated with, and by doing it myself I didn't cost myself any extra time really. I would have had to adapt either vagrant or our machine provisioning setup which would have taken more time than writing a very thin wrapper over vboxmanage.

Re: Vagrant for fast dev environment setups

#10
post #5

What is the problem that vagrant solves, that can't be done without virtualbox on its own, or virtualbox and chef/puppet on their own? Or lacking that, what does vagrant do so much better than the base tools on their own that you would never want to do without it? As far as I can see you can do all that vagrant does with vboxmanage, vboxheadless and cloning. I generally ssh into my virtualboxes already. You could eve…

If you have an elaborate VM management system already set up that you can use on all production and development machines - by any means, use it.

If not, Vagrant provides you with the following in development mode:

* A way to package virtual machines and shift them between machines, probably with different OSes. At our company "could you pack that up and send it" is the new "can you show me this error on my machine"?

* An easy way to track machine configurations in your version control system.

* It has integration into all major provisioning tools, so you can possibly reuse your production environments scripts.

* It cares to configure a lot of details, e.g. forwarding the ssh agent so that not every developer has to care for that.

* A plugin API to build additions independent from the underlying virtualizer (only VirtualBox at the moment, but more in the future), e.g. https://github.com/BerlinVagrant/vagrant-dns (but in that case, sadly not independent of the host os)[1]

And all that, without home-baking.

[1]: Shameless plug: I need help for Linux and Windows

Post reply on HN