Installing and upgrading software on computers is a pretty boring job. Doing it manually involves lots of waiting and sometimes some pretty cryptic error messages.
At HipSnip we set up software on live, development and test systems all the time so it's important to automate it. It's very easy to quickly install something on your development server in order to get your new feature working and then make the mistake of forgetting to install it on your live server.
When I put a new version of our software up I need to be confident that everything is going to run exactly as we expect it to. That’s why we use scripts running on Chef from Opscode to make sure to match the setup we use for our tests to the one we use in production. There are always going to be differences in hardware and network configuration to take into account but if you control as much as you can the room for error can be reduced considerably.
We are in the process of open sourcing our Chef code (known as cookbooks - Chef pushes the cooking metaphor as far as it will go!). Our dedicated github organisation has all of our cookbooks. We've been frustrated by the quality of some of the public cookbooks that we've found, so we intend to keep the quality of ours high by making sure that they all come bundled with test suites and good documentation about what features and platforms they support.
We will be posting more details about the software we use (and how we install it) on this blog. If you're a Chef user please take a look at our cookbooks and let us know @HipSnip if they work for you.