One app, one user, one ruby
blog.arkency.com
blog.arkency.com
I guess I don't really understand what the author is advocating? In "production", we don't run multiple apps requiring different Ruby versions on the same VM. Ruby 1.9 has been around for quite a while now, so there's not a lot of fragmentation. We only run one version of Ruby, but we install it to a location that a "stock" environment supports well. Usually it's prefix=/usr/local. Then we treat VMs as disposable containers. I don't build VMs by hand; I let my build tool do that, so upgrading infrastructure versions usually goes something like this:
* Update the build script and test with a local VM
* Build a new staging VM and migrate the staging instance there
* Once we're confident, do the same to production