Hi,
I'm going to be setting up a small server farm for my production RoR application deployments. I'm now at the point I need to pick what software I'll be running/management techniques.
So, my question is, what OS (and if Linux, which distribution) are most people having the best luck/performance with? I'm well versed in FreeBSD/Linux/Solaris, and would be open to other options as well.
Now, once the OS decision is made, how are people managing Ruby? Installing it by hand (compiling/etc), and then using gems to keep things updated? Or using the built-in distribution copies (IE debs or ports or whatever)? I was thinking doing it by hand might be better so as to keep current with bug fixes and security updates. In this case, I'd be using KVM with linux to create virtual machines, and install ruby/rails inside the virtual machines, that way I can build once and simply deploy the virtual machines across the server farm easily. Does this make sense?
Now, as to development, soon there will be a team working on RoR applications. Is the "best" (I realize this is opinion based as much as fact) multi-user development something like SVN? Or is there some better solution?
Now, finally, after development, what is the best way to deploy? After initial deployment, best way to deploy updates?
From reading documentation, it looks like mongrel is the best
application server, and with the updates to the proxy functionality (coming in next release), lighttpd is the best front end. This is what I was *planning* on. I was also thinking about going with Ubuntu (since 7.x is going to have KVM integrated) for the OS.
I've been using Solaris on my servers, but I've gotten pretty fed up with the update/patching system, and the fact that it takes a fair amount of fuss to get a lot of applications to work, so that's why I'm evaluating switching to Linux, simply from the "ease of use" standpoint. FreeBSD was an option, but jails just seem kinda "hackish" to me, at least in terms of administration. KVM seems to be the closest to Solaris Zones I've been able to find.
Well, I really do appreciate any input/comments/opinions you all could
provide. Some of this might be in documentation I missed, if so - feel
free to just tell me so (and I'd REALLY appreciate links.) Everything
else, I'm open to hearing any/all ideas.
Thank you kindly, David J. Orman