Over the past few weeks, I have been writing a detailed blog post comparing Windows Azure Queue Service and Amazon Simple Queue Service. You can read that post here: https://gauravmantri.com/2012/03/27/comparing-windows-azure-queue-service-and-amazon-simple-queue-service/. This post turned out to be rather big as there was so much to cover so I thought why not summarize that post in a smaller one and hence this post.
Like the other post, for the sake of brevity we’re going to refer Windows Azure Queue Service as WAQS and Amazon Simple Queue Service as ASQS in the rest of this blog post as well.
Following table provides a comparison summary of features in WAQS and ASQS.
WAQS | ASQS | |
Current service version | 2011-08-18 | 2011-10-01 |
Ability to create queues | Yes | Yes |
Minimum/Maximum length of queue name | 3/63 | 1/80 |
Queue name case sensitivity | Lowercase only | Mixed case |
Valid characters | Alphanumeric, and Dash (-) | Alphanumeric, Dash (-) and Hyphen (_) |
Specify custom metadata while creating queue | Yes | No |
Specify settings for system attributes while creating queue | No | Yes |
Ability to list queues | Yes | Yes |
Supports specifying “prefix” to fetch partial list of queues | Yes | Yes |
Maximum records returned per call | 5000 | 1000 |
Optionally return metadata | Yes | No |
Ability to limit the result size | Yes | No |
Concept of continuation token to fetch next set of queues | Yes | No |
Ability to delete a queue | Yes | Yes |
Ability to fetch custom metadata for a queue | Yes | No |
Ability to fetch system attributes for a queue | No | Yes |
Ability to set custom metadata for a queue | Yes | No |
Ability to set system attributes for a queue | No | Yes |
Programmatically get URL for a queue | No | Yes |
Ability to create message | Yes | Yes |
Maximum size of a message | 64KB | 64KB |
Ability to make message invisible immediately after creation | Yes | Yes |
Maximum age of a message in a queue before it is automatically deleted by the system | 7 Days | 4 Days |
Maximum value for a visibility timeout for a message in a queue at the time of creation | 7 Days | 15 Minutes |
Ability to create messages in bulk (batch) | No | Yes |
Maximum number of messages which can be created in a batch | N/A | 10 |
Ability to fetch messages and making them invisible to other callers for some time | Yes | Yes |
Maximum number messages which can be fetched in a single call to the service | 32 | 10 |
Maximum value for a visibility timeout for a message when fetching the messages | 7 Days | 12 Hours |
Ability to fetch messages but not altering their visibility | Yes | No |
Ability to delete a message | Yes | Yes |
Ability to delete messages in bulk (batch) | No | Yes |
Ability to update content of a message | Yes | No |
Ability to update visibility timeout of a message | Yes | Yes |
Ability to update visibility timeout of messages in bulk (batch) | No | Yes |
Maximum number of messages for which visibility timeout can be changed in bulk (batch) | N/A | 10 |
Ability to clear a queue i.e. delete all messages while preserving queue | Yes | No |
Ability to grant permissions to other user on a queue | No | Yes |
Ability to revoke permission on a queue | No | Yes |
I hope you will find it useful.