Archive - Cloud computing RSS Feed

AWS Route53 vs Rackspace Cloud DNS

Yesterday, Rackspace announced their new Cloud DNS service. This is clearly(?) a response to Amazon’s Route53 release a while back. With one big difference; Rackspace Cloud DNS is free (in combination with other Rackspace Cloud Products), whereas Route53 is not.

I’ll admit I haven’t tried the Rackspace service (yet), but here’s a quick comparison table anyway. Some questions (about branding and distribution) I couldn’t find answered on the Rackspace information page, so I used the support chat.

  Amazon Route53 Rackspace Cloud DNS
Management API* API*
Distribution Anycast** Anycast***
IPv6 - Yes
DNSSEC - -
Branding - -
RR Types A, AAAA, CNAME, MX, NS, PTR, SOA, SPF, SRV, TXT & “Alias”**** A, AAAA, CNAME, DKIM, MX, NS, SPF, SRV & TXT
Pricing Cheap Free

* Neither Amazon nor Rackspace has a management interface for the DNS services. DNS30 is however availible for Route53.
** 19 locations on 3 continents
*** 3 locations on 2 continents (see comment below)
**** Alias records are used to map resource record sets in your hosted zone to Elastic Load Balancing instances.

If the choice only stood between Route53 and Rackspace I think I’d go with Rackspace, just because of the IPv6 connectivity. But other providers should also be considered, Zerigo for example has an excellent DNS service.

Update: After the comment below by Daniel Morris at Rackspace I tried to contact the chat support again to get the information about the edge locations. Here’s the response:

Agent: I’m sorry but I am not positive I would recommend contacting the support team at 1-877-934-0407 or 0800 054 6345 | +44 20 8734 4345
Agent: I’m sorry for any inconvenience this has caused
Agent: have a great day

Not very impressed wit this fanatical support, to be honest.

CloudFront with origin pull and WP Super Cache

Using AWS CloudFront as a CDN (content delivery network) for your site can be a good way of speeding things up.

CloudFront has support for origin pull (this way, there’s no need to sync files, they’re fetched on demand from the web server). Configuring this can be a bit tricky, since the AWS web interface only supports AWS S3 buckets to be configured as backends.

To get a distribution with origin pull up and running we need to do it manually. I’m assuming you’re working on some kind of unix/linux system (OS X for example). First of all, you need an AWS account with CloudFront. If you don’t already have one, get it here.

Create a file named .aws-secrets containing your AWS Access Keys (these can be found in the AWS Portal under Account -> Security Credentials), in the following format.

%awsSecretAccessKeys = (
    "my-aws-account" => {
        id => "ID goes here",
        key => "Key goes here",
    },
);

Create a XML file containing the settings of the new distribution, name it cf.xml.

<DistributionConfig xmlns="http://cloudfront.amazonaws.com/doc/2010-11-01/">
<CustomOrigin>
    <DNSName>example.com</DNSName>
    <HTTPPort>80</HTTPPort>
    <OriginProtocolPolicy>http-only</OriginProtocolPolicy>
</CustomOrigin>
<CallerReference>1234</CallerReference>
<CNAME>cdn.example.com</CNAME>
<Comment/>
<Enabled>true</Enabled>
<DefaultRootObject>index.php</DefaultRootObject>
</DistributionConfig>

Replace example.com with your domain. CNAMES can also be added and changed later via the AWS Management Console.

Download the cfcurl.pl script.

Execute the following command.

cfcurl.pl --keyname my-aws-account -- -X POST -H "Content-Type: text/xml; charset=UTF-8" --upload-file cf.xml https://cloudfront.amazonaws.com/2010-11-01/distribution

Point the cdn domain you entered in the cf.xml file to the domain returned in the block with a CNAME. You can also get this name from the AWS Management Console.

If you don’t already have WP Super Cache installed, install it now. Then go to Settings -> WP Super Cache -> CDN and enter the cdn domain name as the Off-site URL and check Enable CDN Support.

Clean out the existing cache and visit your front page, content like css, javascript and images should now be loaded from the CDN.

Rackspace Cloud Servers, US vs UK

Today, Rackspace opened up the beta for Cloud Servers in the UK. This is a quick performance comparison with the US cloud, using SysBench.

The test was done using four servers (two on each site, one 256MB instance and one 512MB). All servers ran Ubuntu 10.10.

Without further ado, here’s the results (less is better).

Product SysBench CPU Sysbench Memory Sysbench File I/O
US 256 4.0s 184.5s 22.6s
US 512 4.0s 185.7s 20.3s
UK 256 4.0s 190.2s 21.4s
UK 512 4.0s 191.1s 18.5s

There seems to be good capacity at both sites, performance was almost identical.

The following commands where used to do the benching, interesting values was the total time to run the test.

sysbench --num-threads=4 --test=cpu run
sysbench --num-threads=4 --test=memory run
sysbench --num-threads=4 --test=fileio --file-test-mode=rndrw prepare
sysbench --num-threads=4 --test=fileio --file-test-mode=rndrw run

IPv6 with Rackspace Cloud Servers

Although Rackspace is working on IPv6 support, it’s always nice to be some steps ahead. The following techniques probably works with other providers as well, providing you have enough access to the virtual server. The tests where done using Ubuntu 10.10, but again, should work well with any Linux distribution.

Tunnelbroker provides free IPv6 tunnels (other providers like SixXS exists, but I wont cover them here).

Start by register an account with Tunnelbroker, when that is done login and choose the option Create Regular Tunnel. The form is pretty straight forward.

IPv4 endpoint is the IP address of your virtual server.

I’ve run some tests with MTR to determine which endpoint offers the best latency, and I came up with the following. But you should probably do your own tests.

Rackspace Site Endpoint Hops Latency
United States Chicago, IL, US [ 209.51.181.2 ] 5 2 ms
United Kingdom London, UK [ 216.66.80.26 ] 5 2 ms

Rackspace peers directly with HE/Tunnelbroker both in US and UK, that’s why these numbers are quite good.

When this is done, go to the tunnel page and scroll down to the Example Configurations section and choose either Linux-route2 or Linux-net-tools (without knowing exactly why, I’d recommend the route2 method). Run the commands as root on your server.

Now, the IP listed under Client IPv6 address is your endpoint IPv6 address, this can be used for services. It’s also possible to allocate a /48 network, but that’s probably not necessary for a single server.

Try it out by running the following comand.

# ping6 ipv6.google.com

Amazon EC2 Micro instance, how fast is it?

Today, Amazon announced a new instance type for EC2. I micro instance with 613MB memory and a starting price of $0.02 per hour. But how fast is it?

I’ve previously benchmarked Amazon EC2 and Rackspace, and here comes a new quick-and-dirty performance test using SysBench. The following products where tested.

Product CPU Memory Disk Price
Amazon EC2 Micro 1-2 virtual core 613MB N/A (uses EBS) $0.02 per hour
Rackspace Small 4 virtual cores 256MB 10GB $0.015 per hour

Servers where running Ubuntu 10.04 64bits, tests where performed on two different servers, average scores where used. Here’s the results, less is good.

Product SysBench CPU Sysbench Memory Sysbench File I/O
Amazon EC2 Micro 197.6s * 2635.1s 6.7s
Rackspace Small 7.9s 336.8s 57.3s

* I did manage do boost this down to 35s one run, since bursting is allowed for shorter periods. The following two runs took around 200s.

The following commands where used to do the benching, interesting values was the total time to run the test.

sysbench --num-threads=4 --test=cpu run
sysbench --num-threads=4 --test=memory run
sysbench --num-threads=4 --test=fileio --file-test-mode=rndrw prepare
sysbench --num-threads=4 --test=fileio --file-test-mode=rndrw run

Conclusion

According to SysBench, Rackspace is much faster then Amazon EC2 when it comes to CPU and Memory tests. Amazon EBS is however much faster then the Rackspace storage.

Page 1 of 212»