Jesse Cotton |
San Diego, CA |
j**********@gmail.com
| https://jessecotton.com
Chef Workflow Refresh
Role: Engineer
Technologies: Chef, Git, RSpec, Serverspec
After adopting various emerging best practices for managing infrastructure and deploying code, a customer noticed their Chef workflow needed some updates as well. As part of this engagement I would work closely with their operations team to evaluate adopting Berkshelf and related best practices, and explore eliminating their Chef server. This proved to be a good direction. As a result I was tasked to:
- train them on Berkshelf and a serverless Chef workflow including cookbook versioning and releases
- train them on cookbook organization - library cookbooks, application cookbooks, environment cookbooks
- prepare extensive documentation on cookbook development and the new workflow
- help them split up their monolithic Chef repository (move each cookbook into its own separate Git repository with history)
- help them eliminate forked cookbooks through one of several methods: contribute a change upstream, adopt a newer version of the forked cookbook, migrate to a better community cookbook
- with the goal of training by example, enhance several cookbooks to include multiple layers of testing: linting (Rubocop, Foodcritic), unit testing (ChefSpec/RSpec), integration testing (Serverspec)