Great service bus at a reasonable price
Rating: 8 out of 10
IncentivizedUse Cases and Deployment Scope
Azure Service Bus is used in many scenarios at Dynacare. We use Service Bus in Azure analogously to our RabbitMQ implementation we have on-premise. As a basic pub/sub, queue, or dynamic router pattern it works very well. We use it consistently for various messaging requirements such as webhook handling, or HL7 message queuing.
Pros
- Acting as a basic queuing service it works very well.
- One of the best parts is that Azure Service Bus can work over HTTPS which helps in strict firewall situations. There is a performance hit if you choose to use HTTPS.
- The routing capabilities are quite good when using topics and subscriptions. You can apply filters using a pseudo-SQL-like language though the correlation filters are quick and easy options.
- Costs are very reasonable at low-ish volumes. If you're processing 10's of millions of messages a month... it may be a different story.
Cons
- The SqlFilter could be a little easier to use, but it's not terrible.
- The performance while using HTTPS for the connection is a little slow compared to direct connections using AMQP ports.
- There is a size limit to the message - unlike RMQ for instance, Azure Service Bus caps messages to 256kb on the standard tier.
Likelihood to Recommend
If you need a cloud-based service bus or a simple to use queue/topic/routing/pub-sub service, then Azure Service Bus is a very good choice at a reasonable price and performance. Typically on-premise we'd use RabbitMQ because it "just works", but if you're building a "cloud-first" application, then this is the one to go with. It's especially easy to integrate with if you're already embedded in the Microsoft ecosystem.
