by Pete Carapetyan
No More Excuses For The Dev
DevOps means servers are so easy to set up, you can have development servers right on your own machine, otherwise identical, but instead - running on VMs.
This takes a bit of getting used to. No more excuses, no more delays. Run the code, your dev box is ready AND virtually identical to test and prod.
Infrastructure as Code
Using Chef, we modularized the installations we would need on typical servers for our standard deployments. With a cookbook for each, we may now mix and match installations, configuring servers as required.
Please see github.com/datafundamentals for the cookbooks we use to build our servers. All Chef work by Jeff.
Vagrant VMs
Vagrant VMs were also built, as code. These Centos based VMs were then loaded up from the Chef recipes as above
Git Launches Jenkins
Jeff built a Jenkins CI server running in our local network, using Chef for repeatability in case it ever craps out.
When we post changes to our Chef recipes on github, Jenkins detects the changes and re-runs the KitchenCI tests, to make sure the latest version of the recipe passes all it's tests.
Result
It is now a single command to build a VM for the specific type of server that a dev might need to run his latest code against. Since it is all Infrastructure As Code, this setup can be identical to the way the production servers are set up, as they can be built with the same code.