So the other week Zed Shaw wrote a post on his blog calling rails a ghetto. His post has some very valid points but most of that gets lost in the vitriol of one very angry man. Then Dreamhost, a major discount shared hosting company, put up a post somewhat akin to one of Zed’s complaints saying rails is a pain to deploy and should have an equivalent to mod_php such that deployment is just a matter of moving files. This is why wordpress and vbulletin (written in php) are the default blog and message board apps. Installation is just a matter of copying some files onto a shared hosting webspace. DHH, the inventor of rails, then made a post saying that the reason such a thing doesn’t exist is that the most of the people working on rails don’t have a need for it because they don’t use shared hosting environments. As I agree with the “scratch your own itch” philosophy of software development, I think this makes sense. People who use shared hosting are probably best suited to develop a rails solution that works in a shared hosting environment.
That said, I actually am a rails developer but I still use wordpress for my blog because I’ve yet to see a reason to pay slicehost $240/year for a virt that can run a rails-based blogging engine (like Typo, Mephisto, or SimpleLog) when my $50/year shared host running wordpress works just fine. But here’s the thing: if you’re an actual developer who has any familiarity with *nix (and not a webdev hobbyist), setting up rails on a shared host really isn’t that hard. Sure you can make it complicated if you’re trying to setup the latest and greatest bleeding edge stack, but something that “just works” isn’t very hard to setup. Hell, slicehost has tutorials for 5 OS variants which are only a couple of command lines. On top of that, let’s say that I finally did implement one of the 10 web-app ideas I’ve been kicking around for far too long. I’d surely do it in rails (or merb) and the time I would spend on it would easily outstrip the $190/year I could save with shared hosting. Even at minimum wage I would only have to work 30 hours to make out the price difference.
On the topic, a post came up on Ruby Inside asking why a viable mod_ruby doesn’t exist. Though the post doesn’t add much to the debate, the comments are actually quite interesting. Here’s the ones worth looking at:
- #13: topfunky mentions how rack might help as an alternative to mod_ruby
- #25: why ruby’s threading issues cause havoc for any mod_ruby, mod_mongrel, or tomcat like solution
- #50: links on how django does it with mod_python
- #56: Dr. Nic points out that deprec makes slicehost setup a breeze (which gets argued later in the thread)
- #65: more reasons why mod_ruby won’t work because of threads, an argument for a better fcgi solution, and why hosting is moving away from shared hosting
- #72: how ironruby (microsoft’s dlr version of ruby) could make IIS the easiest rails install
- #99: Ezra mentions how the Rubinius Ruby VM currently supports “multiple instances of it’s VM within one process, each VM on it’s own native thread. [...] Each VM has it’s own heap and so each VM could load different apps that wouldn’t interfere with each other.” and they have plans for a “mod_rubinius for apache that takes full advantage of this feature.”
neat. I’m glad to see my question about mod_ruby is a well-established one…
I found this thread while googling for Slicehost reviews. I’m not even a Ruby developer (Python), but I’m planning on getting a slice for development. Why? Because shared hosting is absolutely horrible. I use a very popular shared host (not Dreamhost) and it’s become obvious to me that these guys oversold, oversold, oversold and now I can’t do the things I want to do because it’s ridiculously slow. But then again - what do you really expect for $8/month? My point is, I think people are migrating away from shared hosting in droves and this finger pointing at the Rails community is hilarious.
Shared hosting is so damn cheap. I sincerely doubt people are migrating away from it in droves. For developers I think having your own dedicated server or VPS is ideal, but paying $20 a month for that privilege isn’t everyones cup of tea. Who wants to pay $240 a year to host your toy applications and what have you?
I don’t think the Rails community has any obligation to support shared hosts. That said, I think it’s in their best interests to make deploying Rails easier than it currently is. I mean, what’s the point of having a kick ass framework that makes writing web applications a breeze if you can’t put your applications up anywhere without worrying about Mongrel clusters and proxies what have you.
That said, SliceHost soudns really good. I think i’ll switch to them at some point.