Using Vagrant and Chef for Reproducible, Isolated Rails Development Environments
gofullstack.com
gofullstack.com
I do however substitute chef for ansible as I found chef difficult to use on a single server (chef-solo was flakey) and bootstrapping is a pain.
For writing anisble playbooks to use with Vagrant I found the following post very useful - http://hakunin.com/six-ansible-practices
I found "Taste Test"[1] by Matt Jaynes to be a nice and quick (if slightly expensive) comparison between the various configuration managers.
[1]https://devopsu.com/books/taste-test-puppet-chef-salt-stack-...
The one thing that became a problem was managing vmware (the plugin is a closed source one, so it was hard to debug any issue that came up with it - easily solved by writing our own open source one)
One thing that's bitten me a few times is case-sensitivity when using NFS and HFS+ -- still wishing I could find a solution that didn't require setting up an additional partition on my host machine.
While I'd favor using proper config management this was a much better use of my time.
http://stackoverflow.com/questions/16647069/should-i-use-vag...
This not only avoids the "Dunno, works on my system" but also the "Dunno, works in dev/test"
You could potentially even combine the two approaches and have a Vagrant VM with a small Ubuntu stack that has docker installed and then have a set of docker containers, one per component or service.
That said, the Docker abuse setup is fairly common. I'm in the process of doing one myself right now. :)