An Opscode Chef knife plugin to manage Chef Servers. Currently only bootstrapping new Chef Servers is supported (on Amazon's EC2) but node data backup and restore is planned.
As a developer and sometimes system administrator, one of the scariest things I ever encounter is a server that's been running for ages which has seen multiple upgrades of system and application software.
Why? Because an old system inevitably grows warts. They start as one-time hacks during outages. A quick edit to a config file saves the day. "We'll put it back into Chef later," we say, as we finally head off to sleep after a marathon fire fighting session.
Reading through the documentation, I saw it mention Puppet and Chef which both appeared to be some sort of witchcraft that allowed you to automatically configure and setup these virtualised servers. Bingo. Easy server configuration management.
The Shutl engineering team has been operating with a DevOps mentality for over two years. We started by rebuilding our infrastructure under Chef and embedding our operations engineers into our agile product development process.
We made great progress and saw a big improvement in delivery and quality as all team members were responsible for getting things live and ensuring their long-term maintainability. But… we still had a silo. Only a few of our team were doing the lion's share of the work when it came to maintaining our infrastructure, and on-call duties were shared by just a small number of people.
Over the past six months, we've changed that. So, rather than extol the virtues of this approach - there are plenty of articles doing that! - we thought we'd share some of the steps we took to make every engineer a DevOps engineer.