
Ask HN: Docker, Vagrant? What's your dev environment setup look like? - andreygrehov
I know this has been discussed a lot, but things change rapidly.<p>I currently use a combination of Vagrant + local services, that I manually run when required. Some other people in the team use Docker, that I personally haven&#x27;t touched for quite a while. I&#x27;m looking to standardize the dev setup in our organization and curious what are the best practices in 2017. There are a few goals I pursue:<p>- an easy way to spin up the entire infrastructure locally (say for new hires);<p>- an easy way to share new services with the team;<p>- the environment should mimic staging&#x2F;production as much as possible.<p>I&#x27;m leaning towards a Vagrant VM + Docker containers inside of it. In this case we can share a single Vagrantfile across the team, which to me solves the first two goals. Running multiple containers in the VM solves the third goal.<p>I sometimes hear that Vagrant is a useless layer in this setup. But I&#x27;m not sure.<p>Are there some best practices today? What&#x27;s your setup looks like?<p>P.S. We use Chef to manage non-local environments. Could be nice to have a single tool for all environments (local, staging, prod, etc.), but I&#x27;m not a dev-ops, not sure if that&#x27;s a handy practice.<p>Edit: formatting.
======
kpsychwave
I use Cloud9 IDE for dev, it is a collaborative web app that runs the env
inside a Docker container and has clone/revert capability. For MS related
projects, I use PaperSpace, a windows VM in the cloud, they offer Enterprise
plans with advanced provisioning.

You can also run the open source version of C9 locally.

I don't know how far you can practically go with keeping the environments
consistent, especially for performance. It can be resource costly to allocate
a clone of Prod for every dev. Depending on your stack, it might be better to
auto-test on a dev server on a commit cycle.

~~~
andreygrehov
Thank you. I'll check c9 out. It's unfortunate that this submission did not
make it past 'new'.

