« Meditations from ALA | Main | Mobile and PDA technologies and their future use in education »
19 January 2005
Amazon make queueing a reliable experience
Posted by Richard Wallis at January 19, 2005 01:09 PM
An Amazon Web Services announcement which snuck under my radar recently was the launch of their Beta [aren't they all nowadays!] Simple Queue Service.
This is not as you may at first think something to keep the people waiting, behind the person checking out every book on their favourite subject whilst returning all the items found in their three year old's toy box, amused so they don't hassle the person waving the bar-code reader when they eventually arrive at the front of the queue.
No, this is a bit of technology delivered as a service which should excite the developers of interactive applications which may or may not access Amazon content. It provides a general purpose service to manage a set of queues of up to 4,000 data messages of up to 4 kbytes in size with a message maximum life time of 30 days.
When developers are building applications and services which involve the interaction between more than one system, they very quickly bang up against the need to pass messages between those systems. Most developers will tell you that this is not rocket science, even when the message delivery has to be reliable [some form of guarantee that a message is not lost, or incorrectly delivered].
The problem that is often tripped over when implementing such systems is that for messages to be delivered reliably they need to pass through a messaging system which keeps temporary copies of messages and manages queues etc. Such systems need to be managed, maintained, backed up, etc. The overhead of such housekeeping operations, is often considered to be such a pain that it can detract from the business case for delivering a new service.
So what are Amazon up to in launching something that will be hidden under the hood of other peoples applications, and unlike their other Web Services will not necessarily lead to clicks back to buy stuff from them?
Firstly, I would expect that it is a low cost service to provide. They almost certainly have been using this technology in-house to support their own services for sometime. Adding a few publicly visible servers to their set would not add much overhead.
Secondly, are they dipping their toe in to the emerging market for the supply of software component services. A software equivalence to Sun's 1$ a CPU cycle service?
Whatever their commercial strategy on this, what they are doing is floating it on the trusted Amazon brand.
OK you want to delegate off to some third party the job of looking after the messaging queues that underpin your application. So who do you pick? Someone you trust, with a 'good name' so why not Amazon. Would you choose them over some little known hosting company, or maybe another little company with their headquarters in Seattle?
I'll leave you to ponder on that....
