We’re currently beginning a project that clones an environment currently setup at Amazon EC2 to Rackspace Cloud. Both environments will operate mostly independently, but still need to be implemented in a similar fashion. Without getting into too many details, I decided to make a quick blog post to compare the pros/cons of Amazon EC2 vs. Rackspace Cloud.

Rackspace Cloud is a strong offering, and I can understand why it’s quickly becoming a market leader. Their support is top-notch and offer an enterprise-level product. Like Amazon EC2, they have an intuitive web interface, growing API, and competitive pricing. Here are some things I’d like to see improved:

  • Speed & usability of the web interface: the web interface is quite slow on my Ubuntu Linux box with Firefox. It seems to vary in speed based on time of day. Also, it would be nice to have a few more features in the web interface, such as the ability to launch multiple servers at once.
  • Multiple data center support within one account: the ability to choose a specific data center for each instance that is provisioned.
  • A directly attached storage solution: although the disk space alloted to each instance is reasonable, non-volatile, and fast, there’s no ability to expand for increased storage or setup logical RAID volumes for increased throughput.
  • Custom image support: it would be nice to run FreeBSD (version 8.x has good support for the Xen hypervisor).

Amazon EC2 is the most well-known provider, and for good reason. They have a strong API, flexible implementation options, “external” storage, and a slew of other features. Here are some things I’d like to see improved:

  • Static internal IP addressing: unlike Rackspace Cloud, EC2 doesn’t guarantee that your internal IP address and/or DNS entry won’t change. This can be a hurdle for those that want to implement internal DNS. However, EC2 is smart enough to re-route traffic to other EC2 instances locally at all times, even if the public IP address is used.
  • Security groups can’t change: once an instance is launched, you can not change its security group configuration. This hinders flexibility.
  • Buggy AWS console: the console that is provided by Amazon is buggy. One example: sometimes security group rules will disappear if you attempt to access a security group you’ve modified during the same session.
  • Lack of clarity on data center/zone locations: this can hurt standard naming conventions (such as after airport codes) when you don’t know exactly where your instances are located.