Saturday, January 9, 2010

Bandwidth Disparity in the Cloud

Over the past 2 months we've been using Pingdom to monitor downlink throughput for various cloud services. We placed a 5 MB test file in each of these cloud services and then configured Pingdom to pull that file every 15 minutes. Pingdom maintains 15 globally placed servers including 1 US West (Los Angeles), 2 US East (NY, VA), 1 US Central (Chicago), 5 US South and SW (Dallas, Houston, Atlanta), 1 Canada (Montreal), and 4 Europe (London, Stockholm, Frankfurt, Amsterdam). Every 15 minutes it pulls that test file from each of the public clouds using a round-robin monitor selection. Although, I agree this is not the best method for calculating downlink throughput, it was affordable and easy to setup and I believe it can at least provide some comparative value at a high level.

The results of these tests have show a good amount of bandwidth disparity between the different cloud providers.

Cloud Servers (IaaS):
The greatest disparity in these tests was between cloud server providers. We setup the smallest instance possible with each of the public clouds (i.e. EC2's m1.small, Linode 360, etc.), running Linux and Apache with a 5MB static test file. The results show average downlink speeds ranging from 4.45 Mb/s with Terremark's vCloud service to 23.42 Mb/s with Amazon EC2 US East (which is coincidentally higher than 3 of the CDNs we also tested).

Service/Rate (Mb/s)


Content Delivery Networks (CDN):
If you happen to not know what a CDN is, it is basically a service that allows you to delivery Internet content faster to your users that you could hosting it on your own servers. CDNs enable this by maintaining many "edge" servers located throughout the world, each with a a copy of your files. They then use some DNS magic such that when a user in the US requests a file it is pulled from a US server while a user in Europe gets it from a Europe-based server. The end result is that the user gets the file from the closest and/or fastest server to them. This also offloads a lot of static content bandwidth from your servers.

To test these CDNs, we setup accounts with each uploaded a 5MB test file to them for testing. The only exception to this is CacheFly which provides a 5MB test file for free and Akamai which we were able to find a 5MB test file on (thanks DNC).

The big surprise for us here was that Akamai, the "big dog" amongst CDNs was not the top performer. Other than that the remaining 3 in the top 4 we as we had expected, Akamai, Limelight and EdgeCast.

Service/Rate (Mb/s)


Cloud Platforms and Services (PaaS/SaaS):
Platforms and SaaS offer a higher level of cloud computing capabilities. Force.com for example, allows you to create databases and forms very quickly with their web-based management platform and Google Site's allows you to create a website within a few minutes. If your business software requirements can fit they "mold" of a PaaS or SaaS, they are oftentimes a great choice to facilitate a very quick time-to-market.

We setup accounts with each of these providers and posted a 5MB test file in each for testing. Force.com basically maintains it's own in-house CDN for static content delivery which explains it's significantly better performance.

Service/Rate (Mb/s)

Next Steps
We recognize that the biggest problem with this analysis is the limited scope of testing by only using Pingdom. We are developing a "Cloud Speedtest" that will pay to have run by hundreds of users with normal residential and commercial Internet connections. This speedtest will record both up and downlink throughput to various cloud services. We will aggregate that data with Pingdom, our own testing, and some other sources to produce a much better analysis of many cloud services.

No comments:

Post a Comment