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