Azure IoT — Choosing the right messaging service

Ramandeep Singh
2 min readNov 15, 2019

--

Let’s do IoT!

IoT applications require real-time event and message delivery and there are multiple ways of achieving the same in Azure. We can leverage the Azure IoT Hub for device management and as a message broker for IoT data. Before dwelling any further on the topic, we need to distinguish between an event and a message:

Event/Notification v/s Message

Event/Notification

An event is a lightweight notification of a condition or a state change. The publisher of the event has no expectation about how the event is handled. The consumer of the event decides what to do with the notification. Events can be discrete units or part of a series.

Message

A message is raw data produced by a service to be consumed or stored elsewhere. The message contains the data that triggered the message pipeline. The publisher of the message has an expectation about how the consumer handles the message. A contract exists between the two sides. For example, the publisher sends a message with the raw data, and expects the consumer to create a file from that data and send a response when the work is done.

More information

Event v/s Message

Comparison of available messaging services in Azure

In this page, we will be comparing the following alternatives:

  1. Azure Event Grid
  2. Azure Event Hub
  3. Azure Service Bus Topics
  4. Azure IoT Hub Message Routing: intermediate message broker to be used in conjunction with other alternatives above.

Here’s a detailed table of selection criteria created from various official sources given by Microsoft (it’s really hard to put a big table like this in medium so i am putting an image):

A comparison of Azure IoT messaging services

Conclusion

Based on the above table, we can summarize a suitable Azure IoT solution for various types of IoT data:

Azure Messaging Solutions Summary

--

--