Comparative Pricing for Virtual Hosting Providers

Rackspace just launched a new suite of cloud computing (really virtualized hosting) products. We use a bunch of these products from different companies. We also have a consulting practice dedicated to Amazon’s EC2 offering, so I wanted to take a closer look at how the different offerings stack up in terms of price and features. I also compared the new Rackspace offering to Slicehost, which we’ve used for a while and are very happy with. (Slicehost was acquired by Rackspace in October of last year, so they’re the same company, but very different products. It looks like they’re continuing to run Slicehost as an independent brand, which I think is smart.)

Anyway, here’s my comparison. Bear in mind that this is not an apples/apples comparison (the details are below):

Rackspace Cloud Slicehost Amazon EC2 Small
RAM (MB)
256 256 1700
HD (GB)
10 10 160
Processor
Some vaguely-defined fraction of a quad-core server Some vaguely-defined fraction of a quad-core server Equivalent to a single-core 1.0-1.2Ghz 2007 Opteron
Price/Hour
$0.015
N/A
$0.10
Price/Day
$0.36
N/A
$2.40
Price/Month
$10.80 $20.00 $72.00
$61.20 as of Nov. 1 2009
Bandwidth Out/GB
$0.22 100GB fixed pooled $0.17
Bandwidth In/GB
$0.08 100GB fixed pooled $0.10

So it looks like the Rackspace-branded offering significantly undercuts the Slicehost offering on price in every category as long as your bandwidth is less than about 42GB per month. If your site uses more bandwidth than that, Slicehost would be a better value, particularly if you run more than one instance, since Slicehost pools bandwidth allocations across all the virtual machines you run on their service. Rackspace Cloud is also cheaper than Amazon EC2 across the board except in one area (bandwidth out).

The chart doesn’t reflect this, but Amazon extends volume discounts on outbound bandwidth starting at 40 terabytes. We refer to this as “the Smugmug discount”; I suspect that not too many of their customers beside Smugmug hit this limit in practice (and we certainly never have), so it didn’t factor into my analysis here.

I included Amazon EC2 in this comparison because they get so much attention in this area. To be fair, Amazon has never positioned EC2 as a low-cost offering, instead emphasizing flexibility and the ability to pay as you go. But this comparison shows that the Amazon offering has a weakness in terms of price points (as opposed to price in an absolute sense). There’s no such thing as a “tiny” EC2 instance; their “small” size doesn’t correlate to the Rackspace/Slicehost offering, so they’re missing out on the low end (which in this case is a single-processor virtual machine with under 1GB of RAM). The smallest virtual machine you can run on Amazon’s EC2 has 1.7GB of RAM and 160GB of storage. This makes Amazon EC2 unappealing for a lot of developer use cases, such as temporary staging servers for QA, private/small workgroup collaboration servers (low-traffic blog hosting, file shares and version control servers), and so forth.

(You can pay for a year’s worth of EC2 service in advance and get a pretty significant discount on the per-hour charge; Amazon calls this a “reserved instance“. This might make economic sense depending on what you were looking to do, although it’s not going to beat Rackspace for on-demand scenarios. Again, the problem with the Amazon’s EC2 offering isn’t with price per se, it’s with the price point — they just don’t offer a low-end virtual machine.)

It’s also worth noting that the offerings differ in another area: the ability to spin up and manage machine instances programmatically. Amazon EC2 is far and away the most robust provider in this area, with a web services API that enables users to control most aspects of their virtual machine instances. Slicehost has a rudimentary API, while Rackspace Cloud’s programmable API offering is “coming soon”.

Slicehost also has one feature that we really like: they provide DNS hosting for their customers at no extra charge (their DNS service is also part of their API). Amazon doesn’t appear to provide DNS (although they do generate a DNS name automatically when you create an instance — if you want to designate a host name of your choice, you’re on your own).

Amazon EC2′s large library of machine images (including the ability to create and publish your own machine image) is a big strength and one that many developers have taken advantage of. It’s probably the most compelling feature of their offering in a world in which they are not particularly competitive on price.

Finally, it’s worth noting that of these, only Amazon EC2 offers Windows hosting (which Microsoft will make you pay through the nose for). The Slicehost and Rackspace offerings only contain operating system images for Linux (although they support a bunch of distributions).

I’m spending a lot of time thinking on this as I figure out how to create a hosted service out of the Tinypug project we’ve been working on. For now, we plan to continue to use Slicehost and Amazon EC2 to host client sites as we evaluate the Rackspace Cloud offering in more depth.