3 ms·
I completely disagree with the assumption that Docker will make life simpler here. First, question is, what are you optimizing? Are you optimizing on-boarding
by avitzurel 11y ago
I completely disagree with the assumption that Docker will make life simpler here.
First, question is, what are you optimizing?
Are you optimizing on-boarding for new engineers? How many new engineers do you get a month?
Let's say you get 2 new engineers a month. Getting the Docker up and running, setting it up so new engineers can use it easily is also cost, that also takes time.
I don't think that evens out until you really need to set up 10-12 new engineers every month.
This post also skips the part where boot-2-docker fails to load and you need to restart VirtualMachine and a lot of other problems with Docker that you will encounter LONG after the initial `bundle install` finished and everything is set up on a single machine.
While back we had the same problem and we used the same scripts we run in production only on Vagrant and we distribute that image
http://avi.io/blog/2014/12/26/ruby-and-rails-development-environment-using-chef-and-vagrant/ http://avi.io/blog/2014/12/26/ruby-and-rails-development-env...
Docker has a lot of advantages, however, I have yet to see a single company that stuck with the initial promise of a reproducible dev environment on Docker (Please correct me if I'm wrong here).
Bumping into the same situation I would select one of the following
1. Document with all the steps (Wiki)
2. Chef (same as runs in production) on top of Vagrant
I would live Docker completely out of this, it will introduce more complexity over time than the initial setup process.
Nothing will replace good docs and great onboarding culture in my book
- ncallaway 11y agoWe run a setup that is very similar to what you describe, but we use Packer to run the provisioning system (in our case Puppet). So, it's: 1. Documentation with the setup steps (Readme file) 2. Packer uses Puppet to provision a Vagrant box and an identical EC2 AMI. 3. Run vagrant up to get started in development.
- nraynaud 11y agoI would tend to optimize onboarding up to a point, mainly to try to impress new engineers. But also maybe because if something hard happens, and you need to bring an external consultant in emergency that could be useful. But mostly to impress new hires.