Great article, and fun to see what is going on inside. We used a similar strategy with great success at my last company (though we were using Passenger).
Once you've nailed the zero-downtime deployment, it's a short hop to adding a small box (or a script on your test server) to do continuous integration and then moving from there to continuous deployment. For our small team this setup was really liberating.
If you head down that path, I'd love to see updates on what your team's experience is with that transition.
The code is simple to understand, self contained, based around rake, and worked almost immediately for us (after some configuration). We were a two person team. I don't know if the setup we had would have worked with a larger team.
It felt like it made an impact in our ability to turn code faster. We had a solid test suite, which helped.
Once you've nailed the zero-downtime deployment, it's a short hop to adding a small box (or a script on your test server) to do continuous integration and then moving from there to continuous deployment. For our small team this setup was really liberating.
If you head down that path, I'd love to see updates on what your team's experience is with that transition.