Sharing the article that I wrote about SaaS offering of message
queuing service.
Anand
www.byteonic.com
Article Link:
http://tinyurl.com/3zzozk
Article Excerpt:
I mentioned in the article on SaaS offering of ITIL, that the cloud
computing or as SaaS matures, more infrastructure software components
would be made available in the cloud. For example on demand Message
Queuing (MQ) service.
In house MQ software has played an important role in the enterprise
application integration world for over a decade. However in the
integration of services in the Web 2.0 world, the traditional message
queuing model has some limitations such as:
1. Lack of accessing MQ over HTTP(S) protocol straight out of
box. In order to accomplish this, service providers had to build
HTTP(S) Adapters over MQ.
2. Scalability issues arise, when integrating over HTTP(S,)
because of a lack of MQ platform agnostic and proven implementation of
HTTP(S) Adapters.
3. Additional costs to cover licensing and server provisioning
when service demand increases.
4. Troubleshooting requires a deep understanding of the MQ
product. Obviously highly skilled MQ admin personnel don’t come cheap.
5. Full life cycle management of MQ environment has a cost
associated to it and is directly proportional to the number of
integrations and the number of messages processed.
6. Web 2.0 companies are interested in focusing on their core
offering as opposed to managing integration infrastructure and
challenges associated with it.
The above limitations make sense to use MQ service on demand. Some
examples of such service providers are:
1. Amazon Simple Queue Service (SQS)
2. Gnip
3. OnlineMQ
SQS is a basic queuing service provided by Amazon in EC2 cloud
computing platform. One of the advantages of SQS is in guaranteed
availability of messages when dropped on the SQS queues. Second, if
your service is hosted on EC2 then using SQS is cost saving because
intra EC2 data communication is free of charge. However publish and
subscribe style of messaging is not yet offered. Neither does it offer
guaranteed once and only once of message delivery. One has to
programmatically control that the same message is not delivered
multiple times.
Gnip (see our coverage here) has a success story on offloading traffic
from high volume web sites such as Digg, Twitter among others. Gnip
uses Amazon’s SQS and wraps the access to it based on SEDA; probably
this is the reason why they can handle high message volume. Gnip
provides more than a traditional MQ, for example they also provide
services such as message transformation and routing. You can use Gnip
if you are integrating with any of the sender or receiver from the
list of supported consumers/producers of Gnip. Any custom integration
or integration between your application components would find Gnip
limited.
OnlineMQ is a new service and still in beta. However they seem to be
providing a comprehensive MQ service. OnlineMQ provides an intuitive
GUI based admin tool and supports both styles of messaging i.e. PTP
and Pub/Sub models. You can enable or disable a queue for read only or
write only.
From the above solutions none of them is an ideal MQ solution for all
situations. However choosing Amazon’s SQS provides you with the
flexibility of building the functionality that you need over it.