Rails Deployment
January 14th, 2008 | 0 comments
There is a post on RubyInside today that spawned quite the cascade of comments, on the topic of deploying rails.
While a lot to wade through, there are some interesting comments buried in there. I still find it strange that everyone is clamoring for a solution, while ignoring one that exists because it's done by a commercial company.
LiteSpeed is not perfect, but it does what is being asked for, the "just upload it" route. You tell it where your files are, and it works. It manages your processes (No need for monit, GOD, etc.), it watches your memory, it kills process that are no longer being used and spawns more when it needs.
While commercial, there is a free version which is more than sufficient for anything you may need unless you have a large amount of traffic, in which case you are likely making money. It's unlikely that you would reach the concurrent request limits for free, because your rails app would consume to many resources on a single box.
That said, having a mod_ruby that works would be absolutely fantastic. I hope somebody picks it up, I'm not trying to say LiteSpeed is The Only Way, just that I find it strange to be dismissed because - "it's not open source!".
Of even more interest though, Ezra posted a comment:
I'm just going to say that Rubinius has support(as of today!) for running multiple instances of it's VM within one process, each VM on it's own native thread, each VM running many ruby green threads. Each VM has it's own heap and so each VM could load different apps that wouldn't interfere with each other. We have plans for a mod_rubinius for apache that takes full advantage of this feature. Stay tuned ;)
So perhaps the answer everyone is seeking is coming soon to an Apache near you!