In early September, Microsoft announced a premium tier to its messaging offering known as Azure Service Bus Premium Messaging. The premium service includes existing cloud based messaging capabilities, such as Queues and Topics, but delivers them over dedicated infrastructure in order to provide a more predictable experience for customers.
Clemens Vasters, lead architect, Microsoft Azure Messaging Services describes the new service in the following way: “Azure Service Bus Premium Messaging is a new offering, now entering public preview that builds on the successful and reliable foundation of Service Bus Messaging. Premium Messaging provides a number of key enhancements for greater predictability and performance required for the most demanding workloads – paired with an equally predictable pricing model.”
With the new service, customers can continue to use existing APIs and tooling when publishing or receiving messages to/from the service. The service continues to be a Platform as a Service (PaaS) offering, but in this case, provides exclusive compute, memory and storage allocations.
The ability to put a ring fence around your messaging platform removes the risk of noisy neighbor scenarios where other Service Bus subscribers may cause disruptions to your messaging performance due to their Service Bus consumption. One of the ways that Microsoft is able to provide more predictable performance is through the use of a new Jet Stream storage engine. This storage engine was originally implemented by the Service Bus team for the Event Hub service. Event Hubs offer large scale ingestion capabilities and is currently responsible for processing over 1.5 Trillion messages per month in their public offering.
Sriram Hariharan, senior technical and content writer at BizTalk360, describes Microsoft’s decision to use this storage engine after hosting Dan Rosanova, senior program manager on Service Bus team, at a popular Integration Monday webinar. “Given the huge success of Event Hubs, the Service Bus team had no hesitations in using the Jet Stream (engine) for Service Bus Messaging. This solves a lot of performance issues that persisted with the Service Bus Messaging capabilities.”
The introduction of the premium tier is not a blow to the standard tier which thousands of customers use. The nature of multi-tenant, cloud scale services introduces some level of unpredictability. For some customers having some variance in throughput is acceptable at a specific price point whereas some customers are willing to pay for dedicated resources. As Dan Rosanova explains in a recent Microsoft Ignite session “If you do important, latency sensitive messaging workloads or high throughput (thousands or tens of thousands of messages per second) this is a good service for you.”
The pricing model changes in the premium tier. In the standard tier, the service is priced on a transaction basis whereas the new premium offering uses a resource based model. A messaging unit is how Microsoft allocates resources for the service. Customers will provision enough messaging units, similar to Azure SQL Database DTUs, to support their workloads. Within their provisioned messaging unit(s), customers can process as many messages through their service as it can handle and will subsequently get charged daily for the number of messaging units they provisioned.