Thursday, April 21, 2011

Webfaction Rocks!

About a year ago I began using Webfaction shared hosting for this blog and a handful of webapps I'm running (2 Django apps, 1 Rails app, and a wiki). I have been blown away by the service they offer for the amazingly low price. I'll give you an example of what I'm talking about.

How they deal with bad neighbors

The first thing they do that's great is they don't overload their servers so you are not likely to see a performance drop because other people's misuse of the server.

Second, they automatically send warnings to users if they go over what they pay for, and if the user does not fix the problem, they automatically terminate some of that user's processes to ensure the server stays healthy. How do I know they do this? I was recently a bad neighbor myself (on accident of course :P).

My webapp, Leaguevine, relies on fetching data from Twitter at regular intervals to keep a local copy of relevant Twitter information up to date. This had been working fine for many months. However, when Twitter went down for a bit, the app began building up an excessive amount of processes trying to fetch this Twitter information, and I neglected to build a way to systematically kill off these processes if Twitter was down for a while. I ended up going noticeably over my alotted memory usage.

Here's my experience with webfaction when this happened:

  1. Webfaction contacts me with an automated and friendly worded email saying I went over the memory limit. This email is extremely helpful, and shows a list of processes and how much memory they are using. Further, it tells me how to reproduce the data that they showed me and gave me helpful links for how to reduce my memory usage.
  2. Webfaction sends me a second email a few hours later with the same basic information. I was away from my computer, so I didn't see the first one right away. This email, like the last, asks me to email them back to tell them if I was able to remedy the problem.
  3. I fix the problem by adding a single line in my crontab file.
  4. I send them a response to their email saying how I fix it, but wasn't overly specific since I honestly didn't expect them to read it.
  5. Webfaction emails me back, saying they appreciate that I fixed it, but they were concerned that my fix will hurt the performance of my webapp. This really showed that they cared about my site! Before this email, I had never experienced a hosting provider that cared about what I was actually hosting beyond simply ensuring that I didn't surpass the limits.
  6. I emailed them back, explaining the fix in more detail and why it wouldn't hurt my site's performance.
  7. Webfaction emails me back cheerfully, saying they think what I did was good.
I'm sure that most hosting providers provide these automated messages and the first four steps of that experience would be identical even with a lesser hosting provider. However, that 5th step shows how far they go above and beyond the typical hosting service. Because of that, I'm sure I'll be recommending Webfaction to anyone who will listen for a long time to come.

Other things I love about them

Their documentation is absolutely amazing. They cover detailed step by step instructions for every reasonably popular web app, and a lot of less popular ones as well.

For less popular web apps, they have tons of custom install scripts with step by step instructions, so you custom installation is a breeze.

Finally, they have a great community that will help you with basically any problem you're having. I've asked three questions, and two of the three times I've asked those questions I've gotten answers that solved my problem within an hour.

Just use them! You won't regret it

I feel so strongly that you should use webfaction for shared hosting that I'm not even going to include a referral link here. I don't want you think that this entry was just a plug so that I could make a few bucks. I am honestly impressed with their service, and it has been far better than any other web hosting services I've tried in the past. If you browse the web for other reviews, I think they'll all say the same thing :)