Hacker News new | past | comments | ask | show | jobs | submit login
Migrating from EC2 to Rackspace (conigliaro.org)
56 points by anthony_barker on April 21, 2012 | hide | past | favorite | 33 comments

I wrote about this topic on Quora a while back: http://www.quora.com/How-does-Amazon-EC2-compare-with-Racksp...

Most of the pros and cons listed there still apply. In it's current form, Rackspace Cloud compute is little more than VPS with a few cloud features. However, the next gen Rackspace cloud platform will make significant improvements: http://www.rackspace.com/cloud/nextgen/

For now, EC2 is a far superior compute platform in just about every way.

> For now, EC2 is a far superior compute platform in just about every way.

Not quite. You will get far better IO on Rackspace. Also, you get more CPU bang for you buck. Not all of us need anything beyond a highly performant VPS.

Linode is a much better choice for VPS. Rackspace cloud currently runs entirely on old AMD 2374 hardware. Sure you get 4 burstable cores for all instance types, but these do not perform even close to as well as 4 core on Intel 55xx or 56xx hardware many other cloud providers utilize. Disk IO may be better with Rackspace on th low end (e.g. Compared to M1.small), but it doesn't scale, and you'll be getting the same IO on a 16GB instance, which doesn't even come close to an m2 or cc instance with EC2.

> Linode is a much better choice for VPS.

Except they don't offer a 256MB RAM option. Rackspace does, for $10 a month. The only other serious competitor in this space is the EC2 micro and well, it doesn't perform as well.

> Also, you get more CPU bang for your buck.

I'm not sure this is necessarily true. We did a recent study and found RAX costs almost double for our example web app: http://blog.shopforcloud.com/2012/02/holy-cow-rackspace-uk-c...

Did you run any actual tests? I recently needed to crunch a big bunch of numbers and, instead of simply comparing specs, I actually benchmarked various EC2 and rackspace configurations to find actual calculations per $. The end result was that using Rackspace (4GB instance) would end up about 30% cheaper than EC2 for my particular work load.

Be careful with that on rackspace. If I recall correctly, they use a credit scheduler with burst capacity. You need to be sure that you're not just getting a bunch of burst capacity and factoring that in with your cost calcs.

Good point, we didn't actually run the tests. We're planning on expanding our focus beyond just cost to include performance and features of the clouds as well.

That's not quite right.

The smaller rackspace instances tend to perform better than the smaller EC2 instances (anything below m1.large), especially in terms of I/O.

If you don't need the advanced EC2 features then rackspace is also more comfortable to use (real IP addresses, no messing with EBS).

> That's not quite right. The smaller rackspace instances tend to perform better than the smaller EC2 instances (anything below m1.large), especially in terms of I/O.

This is true, I mentioned this as a pro in the quota post. However, the performance is relatively flat - it doesn't scale on higher instances. On the lower end Linode tends to perform better than rackspace cloud.

EBS has nothing to do with IP Addresses. I presume you mean Elastic IP's? There isn't much "messing around" involved with setting up an Elastic IP on an EC2 instance if you want one. The way Amazon does it is arguably better because the IP address isn't locked to that instance and can be routed to any other running instance in that availability zone.

No, EBS and IPs are separate issues.

My point was that rackspace is easier to get going when all you want is "some servers" without building a lot of machinery upfront. They sell you a VPS, no more, no less, whereas EC2 exposes you to all sorts of magic that small deployments don't need.

I.e. automating EBS attachment (reliably) is non-trivial. That's a major hurdle on EC2 if you're not familiar with it because most EBS-backed instances are deliberately on small volumes, thus you usually have to deal with it from day 1.

Likewise the networking/NAT on EC2 is a royal pain in the ass for newbies and veterans alike. It's a poor design; public IPs could just as well be mapped directly, but as it stands anyone running on EC2 has to deal with that idiosyncrasy of the platform.

And finally, price/performance really is better on the small rackspace instances versus the small amazon instances.

As a rule of thumb: When you can get away with instances smaller than the 16G-rackspace then use rackspace (beyond that their pricing is even more ridiculous than amazon's). When you need bigger (or expect to need bigger in the future) then use EC2.

And before you pick either make sure to remind yourself that the cloud (any platform) only makes sense for small or large deployments. If you're in the mid-range of 10-40 servers then renting dedicated servers will be drastically cheaper in almost all cases.

Do you know if that is still true with the new 64 bit m1.small instances?

I haven't benchmarked them specifically but I don't think there's a difference in terms of I/O or CPU. At least I haven't noticed one (we've switched to a 64bit image a while back).

FWIW, we run a mid-sized deployment on EC2 (~60 instances) and anything interactive has to go on at least m1.large and up (usually xlarge). We do use m1.small's for queue-workers and low priority batch jobs.

Yes this is true on 64 but m1s. EBS IO is still very slow and m1s generally deploy to slower Intel 53xx and 54xx hardware (although this is still often faster than the AMD 2374 you'll get on Rackspace)

This article hits the big points quite well. We recently switched from Rackspace to EC2 for exactly these reasons.

A few more points:

• Amazon has a much larger network and you can use multiple availability zones.

• Amazon supports VPCs, allowing you to mix your cloud services with your old school servers.

• Amazon's CloudFront CDN allows you to use your own servers as a back end, not just static files.

• There are a wealth of third party tools available for Amazon that just aren't there (yet) for Rackspace.

Rackspace's Cloudfiles has been fantastic for us - we spent about $60 to serve 300GB of images to over 40 million visitors last month. That's over the superior Akamai network.

In contrast, Amazon Cloudfiles charges per 10K requests, while only bandwidth counts with Cloudfiles. If we'd been on Cloudfront, we'd have paid more than 5x as much.

Rackspace also supports the ability to combine Cloud and Physical servers. They call it Hybrid Hosting (http://www.rackspace.com/hosting_solutions/hybrid_hosting/).

Their hybrid offering still leaves a lot to be desired. They're more like two separate products, and even being on a sales call with them involved people from each team. It lacks a unified product experience.

Having used a variety of cloud servers (Slicehost before the RS acquisition as well as after) I would agree that the cloud offering from RS has a long way to go, both in terms of features and performance. You get way better performance from Linode (for less money last I checked) and tons more features from EC2 (as outlined in the article).

To me, the only good reasons to go with RS's cloud offerings are if you've already got dedicated machines with them (and want simplified billing, or integration via their hybrid hosting), or are planning to integrate heavily with their other cloud services (e.g. free network to cloudfiles)

You also get significantly worse security and transparency from Linode versus EC2.

  * No multi-factor authentication for admin screens.
  * No ability to pass environment variables from admin screens to instances (useful for keeping logins off instances).
  * Customer support has ability to gain root access to machines.
  * Little to no information provided about security incidents.
  * Generally poor transparency for all incidents e.g. outages, security.
  * Recent history of major security incidents.
  * Inability to get all information in a single RSS feed.

I recently compared the price of Rackspace, EC2, and Azure. If you compare the prices per GB of RAM, EC2 is far, far better than both Rackspace and Azure, which are about equal to each other. This only further solidifies the argument for EC2.

Here's a graph of the three provider's prices: http://i.imgur.com/G2laJ.png

Agreed, here's more evidence of the cost differences: http://blog.shopforcloud.com/2012/02/holy-cow-rackspace-uk-c...

You can use http://www.ShopForCloud.com to do other similar comparisons.

As pointed out in other comments, you didn't actually bench them and it turns out that Rackspace is better bang for buck in CPU terms. I wonder how much of your data is flawed in the same way.

I don't think it's as simple as saying "Rackspace is better bang for buck in CPU terms". This is a complicated area and one which is being researched at universities. See [1] for one such research project, which mentions that there is even a "reasonable extent of variation amongst instances from the same providers". It's also application specific and hard to predict (who knows what other VMs will be running on the same physical box as your VM in the future).

Our blog post was a first step in this sort of comparison, where we wanted to see if there was a significant-enough difference between providers to warrant further studies.

Also, see asharp's comment above about Rackspace using a credit scheduler with burst capacity.

[1] Lee Gillam, Bin Li, John O.Loughlin and Anuz Pranap Singh Tomar (2012) "Fair Benchmarking for Cloud Computing Systems". http://www.cs.surrey.ac.uk/BIMA/People/L.Gillam/downloads/pu...

The ones that I noticed in my eval of rackspace

1) internal traffic between boxes at rackspace is on the public network unless you setup ipsec/ssl http://serverfault.com/questions/184655/suggestions-for-vpn-...

2) Definite lack of firewalls and no deep packet inspection

3) No free micro tier for testing/dev


a) I don't like all the naming conventions of AWS - reminds me of Starbucks where a small is "tall"

b) Neither seem to offer IDS out of the box and/or outgoing firewalls although one can set-up snort/sourcefire (AWS offers this) https://aws.amazon.com/solution-providers/isv/sourcefire

c) No two factor authentication services out of the box for application authentication(need to use yubikey/duo security)

1) no, rackspace boxes have two networks; an internal (inside the cloud) and an external (public)

If you're running Windows cloud services, I tend to find Rackspace's cloud easier to deal with. I use it extensively for compatibility testing, and have found it preferable to EC2 in this regard. Setting up Windows VMs is easier with Rackspace, as opposed to EC2 which has a terrible process and UI for their windows stuff.

With that said, If I was building out legitimate infrastructure, as opposed to just a developer test platform, the article correctly points out the superiority of EC2 over Rackspace. EC2 has a powerful API that's unmatched in the public cloud space.

Our long-range goal is to host our own infrastructure. I chose Rackspace because of OpenStack. I want the majority of my development effort to be applicable when we decide to make that change.

Actually the main issue is:

Sure, you can run an Amazon EC2 machine 24/7 (and get a 'competitive price')

But if that's your main usage pattern, go for Rackspace, Linode, etc

EC2 really shines on 'on demand' computing. Turning it up to 11 when you need it and decomissioning it soon after. Sure, it's usual to keep 1 or 2 machines working full time.

Whereas in Rackspace what you do is start a machine (you can pick from several configs) and have it running permanently.

And AWS offer several services that are still sometimes missing from the competition (like CloudFront, Route53, etc)

It seems that they (Rackspace) are just about to launch something that might fix some of the issues that are being talked about: http://www.rackspace.com/blog/next-generation-rackspace-clou...

The message seems to be "don't".

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact