Feb 8, 2017 10:00:44 AM by James Serra
There can sometimes be confusion, in IoT scenarios, between IoT Hub and Event Hub, as they can both be valid choices for streaming data ingestion. My Microsoft colleague, Steve Busby, an IoT Technology Specialist, is here to clear up the confusion:
The majority of the time, if the data is coming directly from the devices, either directly or via a field-based gateway, IoT Hub will be the more appropriate choice. Event Hub will generally be the more appropriate choice if either the data will not be coming to Azure directly from the devices, but rather either cloud-to-cloud through another provider, intra-cloud, or if the data is already landing on-premise and needs to be streamed to the cloud from a small number of endpoints internally. There are exceptions to both conditions, of course.
Both solutions offer very high throughput data ingestion and can handle tremendous streaming data volumes. In fact, today, IoT Hub is primarily a set of additional services that wrap an underlying Event Hub.
Event Hub, however, has some limitations that may make it inappropriate for an IoT scenario when data is being pulled from devices in the field, specifically:
In addition to the features of Event Hub, IoT Hub also adds:
As you can see, both Event Hub and IoT Hub are valuable Azure services with distinct use cases. Event Hub is great for high throughput ingestion (only) of data from a limited number of sources (like cloud to cloud, on-prem to cloud, or intra-cloud). In those scenarios, Event Hub will generally be appropriate and significantly cheaper than IoT Hub. However, for IoT scenarios where interacting with the individual devices directly are involved, IoT Hub will generally be the better technology and adds a lot of features we need to be competitive.
Written by James Serra
James is currently a Senior Business Intelligence Architect/Developer and has over 20 years of IT experience. James started his career as a software developer, then became a DBA 12 years ago, and for the last five years he has been working extensively with Business Intelligence using the SQL Server BI stack (SSAS, SSRS, and SSIS). James has been at times a permanent employee, consultant, contractor, and owner of his own business. All these experiences along with continuous learning has helped James to develop many successful data warehouse and BI projects. James has earned the MCITP Business Developer 2008, MCITP Database Administrator 2008, and MCITP Database Developer 2008, and has a Bachelor of Science degree in Computer Engineering.