Why I chose The Rackspace Cloud over AWS
by Tony Primerano on Sep.03, 2009, under tech
Last October at BarCamp DC 2 I ran a session called “To Cloud or Not? AWS, EC2, S3 or build your own“. Unfortunately the barcamp wiki died and my notes are gone but at the time it seemed that everyone loved Amazon’s services. I tried using EC2 in April and while the ablity to select from several pre-configured AMIs was nice, building your own AMI should have been easier. I wanted to configure my machine and then push a button to have my image created. With Amazon you needed to install tools and go through several steps to create an image.
Then I found Slicehost. It was owned by Rackspace and had servers for as little as $20/month (for a 256MB instance). A few weeks later I stumbled on Mosso, also owned by Rackspace and it had servers for about $11/month (plus bandwidth). Since my applications were using very little bandwidth, I moved to Mosso which is now called The Rackspace Cloud. With the Rackspace offerings you install your operating system image, configure it and then, from their control panel you can then back it up with 1 click. You can also schedule backups. This was so much easier than EC2.
Then there is the pricing. Amazon’s small instance is a big vitrual machine and at $0.10/hour it runs around $70/month (i think it was 0.12/hour when I 1st started using it). This is probably a good price if you need that much horsepower. What could you possibly run from a 256MB instance anyway? Here’s what I am running.
- A full rails app using Apache/Passenger and MySql (I had to remove several unused modules from apache config and my database is small at the moment)
- Apache PHP — I don’t have a database here but I suspect there is room
I suspect a 512MB instance a safe bet for most applications and I will lilely upgrade as my traffic and database size increases. Depending on the situation, I may just spin up more instances of the same server as redunancy is a good thing. Sure I could run everything on 1 AWS instance but if it dies I’m really SOL.
If you ever need a bigger slice you can upgrade in the control panel with 1 click. All your configurations and IP address are kept the same. I usually make a backup (1 click) before doing this just in case something bad happens.
Rackspace is still making improvements to their APIs and Image Management so while they don’t offer as many services as Amazon, they have offered all important features to make developer’s lives easier, IMO.
For the record, I actually backup my Rackspace Databases to Amazon’s S3, I feel better knowing my backups are in a different datacenter.
If you sign up (and found this post helpful) please use my referral code when creating your account. It is REF-TONYCODE
September 3rd, 2009 on 8:28 am
Tony, thanks for the post. I’m pleased that you find Cloud Servers easy to use (we certainly planned it that way!). I think you’ll be pretty pleased with some of the features we’ll be rolling out over the next several months.
Let me know if I can ever help with anything.
Rob La Gesse
Director of Customer Development
Rackspace
210-845-4440
September 3rd, 2009 on 9:18 am
How did you set up the backup from MySQL to Amazon S3?
September 3rd, 2009 on 9:29 am
I am using a modified version of Paul Dowman’s MySQL S3 backup scripts.
http://pauldowman.com/2009/02/08/mysql-s3-backup/
I updated it to keep 7 days of backups instead of just one, because if someone wipes out the database and the cron runs you’ll have a backup of nothing.
Having this backup is very useful. Since my product isn’t live yet I’ve been a little lax in my testing before deployment and I accidentally deleted a bunch of data one day. With these scripts I was up and running again in a few minutes. I also use the scripts to pull my production data into my local box for testing. Its pretty sweet.
September 3rd, 2009 on 10:24 am
Good write-up, Tony. I would add the following advantages (I switched from EC2 to RSC several months ago and haven’t looked back):
1) RSC’s storage is directly attached and persistent. This means fast I/O, and that you don’t (necessarily) lose your data in the event of a crash or reboot. To get persistence with EC2 you have to pay for one or more EBS volumes, and they’re still not directly attached.
2) Where Amazon gives you ceilings, RSC gives you floors. EC2 says “This is how much CPU you get,” while RSC says “You’ll get at least this much CPU, and you can burst if there’s more available.”
3) A much better scaling model. If I need to scale on EC2, I have to launch additional instances (which you can do with stored AMI’s). At RSC, I can point to a running instance and click a button to say “Make this server bigger” (or smaller if you need to scale down). A few minutes later, it’s all done. I have the option of adding additional instances, too, of course, but it’s not my only relief.
4) Support! Amazon has pay-per-incident support. I’ve never used it, and can’t speak to its quality. If you’re using Cloud Sites, Rackspace sysadmins manage your instance(s) for you. If you’re using Cloud Servers, you manage your own instance(s) but still get their support* which really is as good as they say it is.
5) Hybrid deployments. I’m not using this, but for larger deployments you can mix-and-match VPS instances and dedicated hardware, and they’ll work pretty seamlessly together. Amazon doesn’t offer this at all.
6) DNS and reverse DNS. DNS services are common (though EC2 doesn’t offer them), but reverse DNS is unheard of. I love that if you look up my host’s IP you get back my hostname instead of some convoluted hostname set by my hosting provider.
There are a few services Amazon offers that RSC doesn’t yet, but I really haven’t missed any of them (your needs may differ). RSC gives me everything I need to run the stuff I run, the price is unbeatable, and managing all of it is simple as can be.
*RSC currently offers free support for all Cloud Servers customers, but in the future it will be available only to those who spend $100/month or more – still a much better deal than EC2’s support model, and it’s still Rackspace support, which is awesome.
September 3rd, 2009 on 10:33 am
Great points Bill, I knew you would have something to add. I’ve been using the reverse DNS since I started, it was pretty important for some of the things I am doing.
One issue with RSC floors.. They make performance/load testing hard. If I make some changes to my application and it goes from 50 requests per second to 60 RPS I don’t know if my code change helped or the server is just under less load. I wonder if there is a way to temporarily set your instance to use the ceiling model.
September 3rd, 2009 on 10:56 am
Glad to see AWS is posting a link to this on twitter. I don’t want a one sided discussion.
Actually, it appears they just have a bot retweeting anything that mentions AWS.
September 4th, 2009 on 1:12 pm
Check out the RS Cloud Servers versus AWS EC2 here:
http://www.rackspacecloud.com/cloud_hosting_products/servers/compare
The API here:
http://www.rackspacecloud.com/cloud_hosting_products/servers/api
And Cloud Tools (new!) here:
http://tools.rackspacecloud.com/
September 5th, 2009 on 1:42 pm
Tony,
Good write up. Thanks for your question on performance testing. We have certainly thought about offering capped CPUs to provide consistent (albeit inferior) performance. As you point at, it would be good for determining the relative impact of code changes as well as “worst case” performance. It’s good to hear a customer talk about this being useful. We hear you and I’ll take it back to the team!
Erik Carlin
Senior Architect, Rackspace Cloud
September 5th, 2009 on 5:34 pm
Erik, just don’t make that the default behavior. I just want a way to temporarily cap the CPU so I can determine my “worst case”. Thanks for listening
September 6th, 2009 on 5:43 pm
Tony,
Absolutely. It would likely be a “cap” flag you could turn on/off and default would be off.
Erik
September 11th, 2009 on 9:56 pm
Exact same situation here. Started with EC2 and used it for about a year, loved it, but wanted something cheaper. Then I looked at Slicehost, realized I use little bandwidth and settled with Rackspace Cloud Servers for personal projects. The price for what you get is incredible. Scaling is super easy. You get a really nice control panel. I’ve gone from recommending EC2 for projects at work (with little luck because of cost) to using RSC because cost isn’t even an issue. EC2 is such a nightmare when it comes to backing up & cloning when you compare it to Rackspace Cloud. Excellent product. Kudos Rackspace.
September 27th, 2009 on 8:31 pm
EC2 is much cheaper, especially if you get a reserved instance.
With a reserved instance you can get $0.05/hour. Compare that to what a comparable RackSpace instance costs: $0.12/hour . Also EC2 bandwidth out is $0.17/GB and RackSpace is $0.22/GB . Those are significant differences that go directly to the bottom line.
Tom Hubbard
804-767-1744
September 28th, 2009 on 9:26 am
Hey Tom, Thanks for EC2 information. I agree EC2 is cheaper if you are running the equivalent of small EC2 instances but for a majority of my servers I am using 256 and 512MB instances with very little bandwidth. Rackspace is currently saving me a lot of money over AWS but I may move some servers to EC2 in the future if it saves me money.
The issue with the EC2 “small instance” is that is it pretty large. Maybe they need Mini and Micro instances.
I also would be willing to pay a little more for Rackspace as their 1 click backup is much easier than EC2 (last time I checked).
September 30th, 2009 on 6:47 am
Great points, Tony. But do you really need to be running several 256MB servers, or is there some way that you could consolidate apps onto a single 2GB host?
I do agree that EC2 is a bit difficult to set up initially.
October 2nd, 2009 on 9:02 am
yes I could put several of my servers on a single 2GB host but I like to decouple my system as much as possible. If I had one host and it went down I’d be in big trouble. As it is if my DB host goes down several things no longer work but there are a few services that I offer that will continue to operate normally as they don’t depend on the database.
October 2nd, 2009 on 6:43 pm
rackcloud servers looks exactly like VPS I am currently using from vpslink.com, but cheapest due to flexible traffic rates only
btw, is it possible to build custom OS images with rackspace?
From running system or from the scratch? Or maybe cloning existent instance when new needed? I have interest in such feature…
Thanks.
October 4th, 2009 on 7:16 pm
Creating and cloning images is easier on Rackspace than on AWS but at the moment they can not be shared between accounts but that is changing soon.
Once you get a machine setup how you like it you click backup from the web interface to create a snapshot image of the machine. Then you can use that image to restore that machine or use it to create a new instance.
November 4th, 2009 on 1:38 am
Another perspective on Amazon EC2 versus Rackspace CS:
http://blog.schicks.net/2009/rackspace-vs-amazon/
I find that RSC’s “directly attached and persistent” storage is actually a mixed blessing as currently implemented.
April 22nd, 2010 on 10:20 pm
Thanks Tony. You helped me decide which hosting company to go with.