logo
follow us On Twitter Follow us on Facebook Gladinet Cloud Storage Blog Support forum
DOWNLOAD PURCHASE PRODUCT

Thursday, December 24, 2009

Windows Azure Blob Storage vs. Amazon S3

This week, Gladinet Cloud Desktop reached version 1.4.2 (build 232). Windows Azure Blob Storage has been officially added to the list of supported Cloud Storage Providers (S3, AT&T, Google …). This means you can map a network drive to the Windows Azure Blob Storage and start using it from Windows Explorer (See this link for detailed How-To information).

image




As always, every time we add a new storage provider integration, we would compare it to the existing ones, such as Amazon S3. Since Gladinet Cloud Desktop can map both as virtual folders in a network drive, a quick drag-and-drop upload/download experiment should be easy.

Sometime ago, I did a simple comparison between EMC Atmos Online and Amazon S3. I also did a simple comparison between AT&T Synaptic Storage and Amazon S3. The performance data are pretty much in line with one and other, with the bottleneck on the server end (in the Cloud). I would expect Azure Storage to be in line as well. Let’s begin …

The test is simple, I have a 27M zip file that I first drag and drop into a folder under Amazon S3 and watch the upload progress in the Gladinet Task Manager, timing it from begin to end. Then I repeat the same thing with Windows Azure Blob Storage.

Amazon S3: 176 seconds
Windows Azure Blob Storage: 175 seconds
(Upload Speed: 154 KBytes/sec)

It is very interesting to see the results are so close when knowing the two cloud storage providers are completely different. The servers hosting the data are completely different and the IP routes are different. There must be some kind of server side tool to throttle the speed of a single connection to a certain number. Maybe an expert of the cloud server end can explain this.

A speed test shows my upload speed to a random server in US is 3.97Mbit/s (  ~ 490KBytes/sec). So this means my upload pipe is much wider than 154 KBytes/sec, meaning my computer and the internet connection are not bottlenecks.
image

I am happy to see the result because the more cloud service providers are available, such as Amazon S3, Windows Azure Storage and the AT&T Synaptic Storage, the more choices the consumers like myself has. Go Cloud!

Grab a copy of the Gladinet Cloud Desktop here and try it yourself.

2 comments:

Greg Bray said...

Apparently the best way to get faster uploads in Azure is to use the PutBlock() method to upload chunks of data in parallel and then call PutBlockList() to merge the chunks into a single file. This article talks about 10x-24x improvement in performance and a reduction in overall file transfer time of upwards of 90%:

http://goo.gl/dFIr

I tried checking the S3 API for a similar "block upload" feature, but it doesn't look like S3 supports this. There is an Amazon Elastic Block Store in EC2, but I don't think it can be accessed via HTTP GET requests like S3 can... http://aws.amazon.com/ebs/

Tom said...

Yeah that is what I was going to ask: Was the above Azure test done using their blocking capabilities?

I found this article to be very useful in evaluating block sizing: http://rob.gillenfamily.net/post/External-File-Upload-Optimizations-for-Windows-Azure.aspx