IoT Hub vs Event Hub–A quick comparison

With this article I am trying to provide you a birds eye view comparison of IoT Hub and Azure Event Hub, so that some of you may stop feeling that there is nothing new in IoT Hub.

For the interest of this article, I put together a table with side-by-side comparison of some important features/desired features from an IoT Hub like platform.

FeatureIoT HubEvent Hub
CommunicationSupports both device-to-cloud and cloud-to-device bidirectional communicationSupports only device-to-cloud communication
State ManagementCan maintain device state using Device Twins and query them whenever needed.Not Supported
Protocol SupportAMQP 1.1, AMQP over Web Sockets, MQTT 3.2, MQTT over Web Sockets, HTTP 1.1, Web Sockets.AMQP 1.1, AMQP over Web Sockets, HTTP 11 , Web Sockets only
Protocol ExtensionsProvides IoT protocol gateway a customizable implementation for industrial protocol channelling.Not Supported
SecurityProvides identity to each device and easily revocable through IoT Hub Device Management portal.Shared access policies with limited revocation capabilities are provided.
Monitoring/ OperationsProvides a rich set of features through Device Management capability. Includes individually enable/disable or provision new device. Change security keys as needed. View/identify individual device problems easily.Does not provide individual performance metrics. Can provide only a high level aggregated metrics only.
ScalabilityScalable to thousands/millions of simultaneous devicesLimited number of simultaneous connections up to 5000 connections per Azure Service Bus Quotas. Event Hub provides a capability to partition your message to channel it in to associated Service Bus quotas.
SDK Support/ Developer SupportProvides very good Integration SDK and developer support. Both Azure IoT  Device SDK and IoT Gateway SDK are the most essential kits provided for almost all devices/OS platforms. It also support all the latest programming languages such as C#, Node.js, Java and Python.
Also provides  direct MQTT, AMQP and REST based HTTP APIs.
Very detail oriented documentation provided.
.NET, Java and C apart from protocols such as AMQP, HTTP API interfaces.
Files/Images Upload CapabilitySupports IoT devices/solutions to upload files/images/snapshots to cloud and define a workflow for processing them.Not Available
Message RoutingVery decent message routing capability is available out of the box. Up to 10 end points can be defined and Advanced Rules can be defined on how routing should occur.Requires additional programming and hosting to support as per the need.

From this comparison table, you can analyse that IoTHub is the right candidate for your IoT solution needs, as Event Hub lacking certain capabilities that are essential for an IoT Ingestion point. If you are only requiring to send messages to cloud and doesn’t require any fancy stuff as IoTHub provides, you can choose Event Hub.

Remember with more power comes more responsibility, that’s what IotHub intend to provide to you.

Hope this overview was helpful. Please feel free to comment or initiate a discussion any time. Please share your feedbacks on this article as well.

Other times, you're doing some piece of work and suddenly you get feedback that tells you that you have touched something that is very alive in the cosmos. Share your feedback on this blog, it will help me improve it a lot..