Under The Microscope

Archive for February 26th, 2007

Experiences In Web Hosting

Major hosting provider Dreamhost.com had a scheduled but overly-long downtime this weekend, and conversations on web hosting have come up several times since. At Rogue Amoeba, we’ve gone through a several web hosts over the years, and seen at least two die off in the process. As such, I thought I’d detail our own experiences with web hosting, and provide a bit of advice.

Web Hosting Rule #1: You get what you pay for.

This rule is true of most things in life, but it is perhaps less obvious in webhosting. Most hosts can offer you 99% or even 99.9% uptime, and that amounts to being down just a few hours per year. That sounds great on paper. In practice, however, it’s a whole different matter.

When Rogue Amoeba got started, we found a dirt-cheap web host, iSuperWeb.com. “iSuperWeb”? What the hell were we thinking? But it was the carefree days of 2002 and we were young and foolish. Within our first month, we had to upgrade our account twice as we went over bandwidth limits. This host actually shut down our account the first time this happened, posting a “Bandwidth exceeded” message, instead of simply charging us for the overage. That probably should have been a hint to us. Within three months (early 2003) they were dead, and we’d switched to a new host.

That new host was Eryxma, who gave us plenty of bandwidth. Erxyma was run by a couple guys who were in over their heads, but it was fine for us. We were a small company with very little in the way of traffic and we had better problems to consider1.

In our case, Eryxma gave us a Virtual Private Server (VPS), basically a slice of a full machine made to look like a real machine. You have full control of your virtual machine, and can reboot it, access it as root, and so on. You’re the administrator of this VPS, so you can do whatever your like. My email records show me happily recommending Eryxma to at least one person (Sorry Tim!).

Eryxma was great, it was very inexpensive, and it met our needs. Until one day, in early 2004, when it didn’t. In a short period of time, we started seeing many problems with Eryxma as the company crumbled2. We decided to start look for a new host. Quentin was fed up with a string of crappy web hosts going back to well before we founded Rogue Amoeba and convinced me to take a second look at Pair networks.

Web Hosting Rule #2: Everyone loves their current host until the server is down.

Pair’s been around since 1995 and many of their servers have been up almost as long. Their prices have always had a premium attached to them compared to other hosts, and this had turned me off for a long time. But we’ve been using them for three years now, so when I was recently asked “Is Pair’s network and overall reputation so great that they can command those prices?”, my answer was simple: “Yes”.

As noted, everyone will recommend their current host, until their site goes down. With Pair, we’ve been down once, when our HD died. This was fixed within about two hours, with no data loss. If our server never goes down, our love for Pair never stops. We trust them to provide rock-solid hosting, and that’s the most important thing to us.

Pair locks down your account, meaning you don’t get the same level of control as with a VPS, or even with many other similar hosting providers. But here’s the rub: that’s generally a good thing. Less power leads to increased stability across the board, and when you’re sharing a machine with others, that’s a very good thing.

Web Hosting Rule #3: Have A Contingency Plan

So we set up an inexpensive Pair account to host our main web site (rogueamoeba.com), while keeping our downloads on Eryxma. This two-pronged approach meant that we didn’t need a very high-end account with Pair, as our downloads account for the vast majority of our bandwidth usage. That kept costs down at Pair, and let us pay for what we call a “bandwidth sink” elsewhere.

Having two hosts probably seems a bit odd, but it’s worked out very well. If our less reliable host fails, we flip over and let Pair handle our downloads. In a true worst-case scenario, if Pair fails, we have an account all set up and can transition our site to the other host machine. See below for more on this setup.

Meanwhile, Eryxma was still falling apart, so we went looking for a more reliable VPS host and found ServInt. They too provided us with a VPS, and while the price was more expensive they were (and remain) far more stable. We played around on the VPS, using it to run our automated processes such as order processing.

Web Hosting Rule #4: Run your software company, not your web server.

As noted, this two-pronged approach worked quite well for us and we continue to use it now. However, having a VPS just proved to be a hassle for us. We all know our way around a command line, but while the VPS gave us as much power as we could want, we paid the price when we had to administer it ourselves. So a year ago, we looked at upgrading our Pair account.

Pair offers dedicated hosting (your own rented machine) through their QuickServe plans. These are quite expensive, a couple hundred dollars a month, so this was a big step up for us. However, we took advantage of their discounted QS-X plan, which offers an over-stock machine at a reduced price. With the QuickServe, we have a full machine to ourselves, and lots of bandwidth. We shut down our VPS and moved everything over to Pair.

Even with our own machine, we’re still locked down pretty well. We don’t have root access, and we can’t install new packages, which means Pair nickels and dimes us for add-ons like installing Subversion ($50). That’s a lot of money for something we could do ourselves if we just had the access, and this used to grate on me. Now, however, I have a different mindset: we’re paying a sysadmin in discrete chunks. He gets $50 for his task and we know it will be done right. Meanwhile, we don’t have to pay a full salary to someone who spends most of the day reading Slashdot.

Here We Are Now

I said that we still use a two-pronged approach, but when we got our QuickServe, we moved everything there. Around the same time, we realized that we would still do well to have more bandwidth if needed, and it might be nice to be able to noodle around a bit more than we can on Pair. On recommendation from Mike, we checked out DreamHost, whose prices are rather unbelievable. They offer plans with what is effectively unlimited bandwidth and storage for just a few dollars a month.

How do they do it? I don’t really know. Perhaps it’s all a house of cards. The important thing for us is that it doesn’t matter. Dreamhost hosts only one important public-facing site for us, BigBlueAmoeba.com3 (BBA). BBA is our download server, as long as it’s alive.

We have a mirror checker script that runs on our main site every six minutes. It checks the local files and makes sure BBA has the same copies. If it can’t reach BBA, or if the files don’t match, our Pair.com site (rogueamoeba.com) takes over handing out downloads. Worst case, we have 6 minutes of downtime for our downloads, and this has never been an issue. The upshot is that we again have a bandwidth sink, and it’s very inexpensive.

So that brings us up to our current setup. Pair.com hosts rogueamoeba.com, our main website, as well as rogueamoeba.net, which handles our order processing and other internal needs. This hosting costs us something like $1500 a year, but we know we can count on it 100%. Meanwile, DreamHost handles our downloads and other various needs (I put MacSanta.com there, for instance). This costs us around $100 a year.

Closing Advice

We had a lot of experience with inexpensive but unreliable hosting, and it was just never worth it. I certainly would recommend not using a host like DreamHost or one of the many other cut-rate hosts for a website that you want available 24/7. We love DreamHost, but if we cared about reliability there, we’d be gone in a heartbeat.

I firmly believe that everyone would do well to use Pair, or a company with a similarly bullet-proof track record4. I wouldn’t suggest a QuickServe to every software company, but Pair’s simpler web hosting plans are quite affordable. They cost more than some other hosts but you really do get what you pay for. For us, that piece of mind is worth a few dollars more per month.

If you’re interested in switching web hosts, you can click these shameless and self-serving referral links:

As well, if you’re switching to Pair, use coupon code REFUGEE to pay $0 on setup fees.

Footnotes:
1. Important questions such as “Can we sell a tool that lets you record any audio without getting sued out of existence?”

2. Maybe we need a parallel rule set. Web Hosting Rule #A: Never go with a host whose name looks like a skin disease

3. 10 AmmoPoints* to the first person who can tell me (here in the comments) what the domain BigBlueAmoeba.com is parodying.
* Even with the weak US Dollar, 1 AmmoPoint is equal to $0.00001, and may thus only be exchanged in blocks of 1000 AmmoPoints

4. Another host often mentioned in the same breath as Pair (pair.com) is Hurricane Electric (he.com). They’ve been around since 1994 and have a similarly-excellent track record (despite the name). This leads me to another parallel rule, Web Hosting Rule #B: The shorter your host’s domain name, the better.