Recently I have been doing some research into cloud hosting, it has become this new craze and for a very good reason. It makes perfect sense to pay for what you use, and be able to scale your architecture in an affordable fashion. I originally started my research with Windows Azure, and I would like to mention there are a couple of reasons I am not going to include in my comparison. The primary reason is that Azure is a different animal, it is designed entirely different from all other cloud offerings. You write your software against their application model, when you need to scale you aren’t actually scaling a server, you are scaling your application model. In the case of Amazon or RackSpace you are scaling a server, if its a virtual server or not. The second reason I am not including it is that it does not compare well to other services, it offers a bunch of different services but they all wrap it up under the same pricing structure. I believe they made a mistake doing it this way, as it makes it prohibitively expensive for startups, or hobbyists, and these are the two markets that tend to push cloud the hardest.
A little disclaimer before I start. I, Eric Malamisura, or Elucidsoft LLC. are not related to or affiliated with either Amazon, or RackSpace in any way shape or form. All opinions, data, and thoughts are expressed solely as my own. Additionally all data posted here is recent as of this posting, all prices are subject to change as each company may change their pricing structure to be more competitive. I suggest you check out the site directly and do a true comparison yourself.
So to begin the comparison, let me detail the benchmark. The benchmark website was taken from a popular internet website and was scaled down by 85% for the sake of sanity and not to scare the living daylights out of peoplewith huge numbers. Here is the following benchmark:
I am using two different models for requests since each site handles it differently, for Rackspace I am taking the above numbers, and combining them, and then reducing them due to the way Rackspace splits them up. For that number we have 27500 requests under 250KB, the remaining 7500 are free.
So lets start off with Amazon, which appears to be the de-facto standard for cloud hosting right now, they are the most popular choice and the one with the best track record. Then we will move on to Rackspace, they certainly have a name brand for themselves. Everyone knows who they are, that they have a known track record for being very high quality. They have recently gotten into the cloud market, offering several solutions through their RackspaceCloud suite. I am going to be comparing RackspaceCloud Servers and RackspaceCloud Files.
I tried to double and triple check these numbers, if I made a mistake or looked over something please kindly point it out in the comments.
Benchmark Site
Platform: Windows
Bandwidth:
In: 480/GB a month
Out: 180/GB a month
Requests: PUT/COPY/POST/LIST: 15000, GET/*.*: 12500
Usage:
CPU Usage: 100% a month (732 hours = 30.5 * 24)
Storage:
175/GB a month
In: 20/GB a month
Out: 1,000/GB a month
Amazon EC2 (Windows)
With the Amazon EC2 service, to my understanding you basically get a virtual server and you can install or do whatever you wish with it. Below are the 3 tiers for Northern Virginia, USA on a Standard On-Demand Instance for Windows. The AmazonEC2 service is primarily used for hosting your site and not for storage. As you can see there is not a ton of local storage for your use, and the storage is not persistent. That means when the instance is reset/reboot or whatever anything stored on it will vanish.
Bandwidth:
In: $0.10/GB a month
Out: $0.15/GB a month
Usage (CPU/Memory/HD non-persistent/cores):
Tier1: 1.2Ghz/ 1.7GB/160GB/1 virtual core = $0.12/hr
Tier 2: 4.8Ghz/7.5GB/850GB/2 virtual cores = $0.48/hr
Tier 3: 9.6Ghz/15GB/1,690GB/4 virtual cores = $0.96/hr
Total price based on benchmark site for tier 1: $114.84/month
Amazon S3
Bandwidth:
Out: $0.15/GB a month
In: $0.10/GB a month
Storage:
50/TB a month = $0.15/GB
if above exceeded, 50/TB a month $0.14/GB
if above exceeded they continue this stepping model, see site for more info…
Requests:
PUT/COPY/POST/LIST $.01/1000 requests
GET/*.* $.01/1000 requests
Total price based on benchmark site: $176.43/month
Amazon EC2 + Amazon S3
The complete Amazon solution would be to combine Amazon EC2 with Amazon S3, it is worth mentioning that any bandwidth costs between EC2 and S3 are free as well. But everything else is still the same, you do have another option for storage that I did not compare. Amazon EBS, which is designed to act as a permanent file system for your EC2 instance, it differs from S3 because EBS can be directly attached to your EC2 instance and it can be used for storage of your DB files, etc. It is not meant for public consumption to my understanding but more to be used as a static file system since EC2 lacks such.
With that said, the total price of Amazon EC2, and S3 above is: $291.27/month
RackspaceCloud Server (Windows BETA)
A couple of things about RackspaceCloud Server, first thing that is substantially different is that storage on their server IS persistent. This is probably why you get less, because you can use it for storage, and this also may prevent you from purchasing an additional service for local storage up front. Also each virtual instance gets 4 Virtual CPU’s as opposed to Amazons EC2 where they use a tier based model. RackSpace Cloud also uses a different model for CPU power, they “weight” each instance so you are guaranteed a certain degree of CPU power, but you are also guaranteed burst capability in case you get a spike and need it. You are also given much more flexibility on choosing your pricing tier, they offer a wider degree of choices.
Bandwidth:
Out: $0.22/GB a month
In: $0.05/GB a month
Usage (CPU/Memory/HD persistent/cores):
Tier 1: at least 2Ghz/512MB/20GB/4 virtual cores = $.04/hr
Tier 2: at least 2Ghz/1 GB/40GB/4 virtual cores = $.08/hr
Tier 3: at least 2Ghz/2 GB/80GB/4 virtual cores = $.16/hr
Tier 4: at least 2Ghz/4 GB/160GB/4 virtual cores = $.32/hr
more tiers are offered, see their site for more information…
For proper comparison I want to mention that tier 3 is the closest match to the tier 1 Amazon EC2 version.
All prices are based on the benchmark site mentioned above:
Total price for tier 1: $107.28/month
Total price for tier 2: $137.56/month
Total price for tier 3: $195.12/month
RackspaceCloud Files
Bandwidth:
Out: $0.22/GB a month
In: $.08/GB a month
Storage:
Unlimited space/$0.15/GB a month
Requests:
Files over 250KB/Free
File under 250KB/$.01/500
HEAD/GET/DELETE Free
Total price based on benchmark site: $110.95
RackSpace Server + RackSpace Files
So the RackSpace Server + RackSpace Files solution seems pretty attractive, and from my research it really is pretty attractive. Especially since they offer a substantially more compelling offer if you want to start small and move up as needed. Amazon kind of starts you off more medium to enterprise, while RackSpace you can go micro to enterprise, which is pretty compelling for a micro-isv in my opinion. I want to also mention something that is kind of important, with Amazon if you want good support you need to purchase their “Gold” support. With RackSpace you get their fanatical support for entirely free with your package. There are some disadvantages although IMO minor, RackSpaceCloud is all based in Texas, USA. The Amazon solution will allow you to setup servers around the world at various locations, however Amazon does charge quit the premium for those as well so it might not be worth it.
Total price for the whole RackSpaceCloud package with tier 3, Server + Files is $206.07
Conclusion
The choice all depends on your needs, for my personally I am going to go with RackSpaceCloud I think. This may change in the future but it costs me nothing to setup an account, and give it a go and see if it fits my needs or not. For more information check out Amazon Cloud, or RackspaceCloud and compare for yourself.
Update: I ended up going with Amazon Cloud, and wrote a post about why I made that decision.