Windows Azure Service Bus Queues vs. Windows Azure Queues
Cage match alert! Anytime you put a “vs” in your title, you’re setting up an epic battle for folks to argue one way or the other which is better. That’s not my intention here. But, hey, you clicked, so I win.
The Windows Azure Service Bus is a mysterious beast that is rarely tackled in 100-level overviews of the platform. When it is, some people just view it as “one of those advanced fancy-schmancy enterprise features I’ll never need”. But the Service Bus is actually a pretty cool feature of Windows Azure. It let’s you handle a lot of common scenarios (as per the Service Bus website):
Hybrid applications
The Service Bus enables you to securely connect and integrate enterprise systems running in your private cloud with applications running on Windows Azure. This makes it easier to extend solutions to the cloud without having to port or migrate all of your data or code from an existing enterprise datacenter to Windows Azure.
Mobile applications
The Service Bus enables you to easily build applications that can distribute event notifications and data to occasionally-connected clients, such as smart phones or tablets. You can expose notifications or events from an application running either in Windows Azure or in your private cloud environment, and ensure that they are ultimately delivered to mobile devices.
Loosely coupled architectures
The Service Bus enables you to build loosely-coupled systems that are more resilient to network failure and can more easily scale out based on demand. The Service Bus can act as the connecting broker between the different components of a system, eliminating direct dependencies between different components. Easily leverage the Service Bus to architect applications that support application load balancing.
As I dug into the Windows Azure Service Bus, one of the features that I was surprised to learn about is Service Bus Queues. Confusion set in as I thought, “Hey, wait a second! Windows Azure Storage has Queues built in as a durable messaging mechanism. What’s the difference? Does Azure really have two services that do the same thing?!”
Yes, Virginia, there are two queuing services available in the Windows Azure platform. Geeks being who geeks are, it leads to the natural question, “which one should I use?” Which brings us to the inevitable cage match advertised in this post’s headline.
Valery Mizonov and Seth Manheim, along with other contributors on the Windows Azure team, have just published whitepaper on MSDN that handles this delicate question.
Windows Azure Queues and Windows Azure Service Bus Queues – Compared & Contrasted
Like most technology cage matches, this is not a zero-sum game. The answer to the question, “Which one do I use?” is “It depends.” Give it a read or bookmark it for future reference when you’re ready for fancy-schmancy features. I know it certainly answered a lot of questions for me.