We created a server environment so a small startup could deploy its web application with all the services it needs. Well, environment is a big word... bootstrapped startups don't have money to manage redundant servers, so we set up just one production server. Still, when disaster strikes, we want to be able to have another server up and running within thirty minutes.
For developers laziness is a virtue. Therefore we want to apply DRY (don't repeat yourself) to systems administration. So for this project we considered each time we log in to the production server a 'systems administration smell'. Attend our case study to see how we used a configuration managent system (puppet), application specific scripts and a few practices to keep us sane. See how far we have gotten towards our goal of DRYness and fast recovery, and learn from our mistakes.