Alex Payne writes online here.

See also the archive, books & talks.

An individual post follows.

Shared Hosting is a Ghetto

I haven’t said much in defense of Rails in the past few months, but a recent post on Dreamhost’s blog left me irked. Now that I see that the post is still making the rounds, it seems time to respond.

The most popular sound bite from the post:

“The feeling I get from the Rails community is that Rails is being pushed as some sort of high-end application system and that makes it OK to ignore the vast majority of user web environments. You simply cannot ignore the shared hosting users.”

Huh. Well, the Java community ignored shared hosting users. The Python community ignored shared hosting users. Basically every development community save Perl and PHP have stayed the hell away from shared hosting. Why? Because shared hosting is a ghetto (please forgive the topical reference).

As a web developer, dealing with shared hosts is a nightmare. Sure, setting up a server from the ground up has historically been a nightmare too, but I’ll take that over shared hosting any day. The constraints, the instability, and the unpredictability of a shared hosting environment are a big part of the reason why the web hosting business is moving towards virtualization everywhere you look. Big kids need their own sandboxes to play in.

As a programmer who wants to get paid for my work, making an application that I sell to people who then install it on a shared hosting account doesn’t sound like a great way to make a living. If you’ll excuse a callous generalization, it’s a support nightmare for a down-market customer base. Plus, nobody but nerds (who don’t pay for software anyway) install their own web applications anymore. People use hosted services.

Is it any surprise that even big PHP and Perl applications like WordPress and Moveable Type now offer hosted services (WordPress.com and TypePad, respectively)? Hosted services are a better way to make money in the web development business, and Rails is a better fit for such projects. Case in point: everyone bitches that the various Rails blogging applications don’t work well on shared hosting accounts, but scores of bloggers are moving over to Rails-based hosted tumblelogging service Tumblr. Update: Commenters have clarified that Tumblr is built in PHP. Hopefully my point remains intact.

My guess is that the Rails community hasn’t invested time in supporting shared hosts because it’s simply not worth it. Extra work for users, extra work for developers, and where’s the value? It sounds like Dreamhost is overselling this problem (much like they oversell capacity).