This page will help you to position the Azure Service Bus Events Hub.
What is it?
Service Bus Events hub is a new product within the Azure Service Bus and is aimed at high volume event stream processing and being able to act upon these events in some way when they are submitted to the hub. Events Hub is targeted as a key part of Microsoft’s IoT offering but it is likely to offer a number of opportunities in other areas too.
Event Hubs is similar to Service Bus Messaging in that it supports sending messages to a “broker” over an AMQP protocol, but the key difference is that rather than having a receive/delete model for collecting messages the event hub has a stream of messages which it has received over a period of time. The receiver of events from the hub will use a consumer group to have their own pointer to a position in the stream which they will use to iterate over the events on the stream and read messages.
Messages are not removed from the stream by the reader, they are removed by the hub when they expire which is a key difference to the Service Bus messaging feature, and this allows the Event Hub to be targeted at a much higher scale scenario by partitioning the hub and having multiple concurrent readers per consumer group.
The below picture shows a high level representing the sender and receiver of events to an event hub.
One of the key value cases for Event Hubs is around the use of other Azure services which are combined with Event Hub to create an end to end solution. The below picture shows an example of what that may look like.
The main features of Event Hub are:
- AMQP Support for sending and receiving event messages
- Partitioning of the hub
- Replay support by moving back in the stream and re-receive a message
- Configure message retention period
- Super high scalability
- Shared Access Secret support
Event Hub is a easy to setup and easy to use service in the cloud. This provides a great way to get started, but the real strength of Event Hubs is when you combine it with other Azure services to create powerful ways to do interesting things with your events. Some of the most common Azure and Microsoft features people are combining with Event Hubs are:
- Stream Analytics – For aggregation of events
- Machine Learning –
- Power BI – For reporting based on data from events
- Azure Storage
- Azure SQL DB
The added value comes with you feed data from the event hub into the Microsoft Business Intelligence technologies.
At this time we are not clear on obvious weaknesses around the Event Hub offering. Feature-wise it offers a small set of features which it delivers very well and at high scale. The other things you might want around complex event processing and BI capabilities in processing events are offered in other features on the Azure platform.
Events Hub requires that you have a Microsoft Azure subscription and create an Azure Service Bus namespace.
Pricing info is available on the Microsoft website – Click Here. Costs are based mainly on the amount of usage you have. One observation of the costings it that it looks like you would need to do some thinking about what your expected data transfer rates may be to ensure you scale your units appropriately.
- Microsoft BI Technologies
The various Microsoft BI technologies such as SQL Datawarehouse, Stream Analytics, Machine Learning, Power BI, HDInsight are all complimentary to Event Hubs as a way of mining and presenting interesting information based on the data from events.
- Microsoft IoT
The Microsoft IoT platform is using Event Hub as one of the core parts of its offering. The ability to ingest vast numbers of messages at very high through put from millions and millions of devices is one of the core aims of the Event Hub. This sits Event Hub as a perfect capability which will play a part in IoT solutions developed on Azure.
We speculate that it is likely that an IoT offering may abstract you slightly from the Event Hub to give you a higher value experience but under the hood we expect it to be using Event Hub and you can also develop your own IoT solutions that use Event Hub too.
The following are recommended resources for more info:
- Azure Event Hub – All of my thoughts – Nino Crudele
- Service Bus Event Hubs vs Service Bus Messaging – Michael Stephenson
- Getting started Azure Service Bus Event Hub – Sandrino Di Mattia
- Azure Event Hubs on Integration Monday – Nino Crudele