December 11, 2016
Azure, Cloud Computing, Cloud to Device, Communication Protocols, Connectivity, Contrained Networks/Devices, Data Hubs, Device Shadow, Device to Cloud, Device Twin, Emerging Technologies, Event Hubs, HTTP2, Identity of Things (IDoT), Intelligent Cloud, Internet of Things, Interoperability, IoT, IoT Hub, IoT Privacy, IoT Security, Messaging, Microsoft, Performance, Protocols, Reliability, Scalability, Tech-Trends
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.
||Supports both device-to-cloud and cloud-to-device bidirectional communication
||Supports only device-to-cloud communication
||Can maintain device state using Device Twins and query them whenever needed.
||AMQP 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
||Provides IoT protocol gateway a customizable implementation for industrial protocol channelling.
||Provides identity to each device and easily revocable through IoT Hub Device Management portal.
||Shared access policies with limited revocation capabilities are provided.
||Provides 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.
||Scalable to thousands/millions of simultaneous devices
||Limited 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 Support
||Provides 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 Capability
||Supports IoT devices/solutions to upload files/images/snapshots to cloud and define a workflow for processing them.
||Very 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.
December 9, 2016
.NET, AMQP, Analytics, Azure, C#.NET, Cloud to Device, Communication Protocols, Connected, Connectivity, Contrained Networks/Devices, Device to Cloud, Device Twin, Emerging Technologies, Geolocation, HTTP 1.1, Identity of Things (IDoT), Internet Appliance, IoT, IoT Hub, IoT Privacy, IoT Security, KnowledgeBase, machine-to-machine (M2M), Machines, Microsoft, MQTT, Stream Analytics, Visual Studio 2015, Visual Studio 2017, Visual Studio Code, VisualStudio, VS2015, VS2017, Windows, Windows 10, Windowz Azure
IoT Hub is a fully managed service from Microsoft Azure as part of Azure IoT Suite that enables reliable and secure bi-directional communications between millions of IoT devices and your solution back end.
Azure IoT Hub are designed to provide following capabilities:
- Multiple device-to-cloud and cloud-to-device communication options, including one-way messaging, file transfer, and request-reply methods.
- Built-in declarative message routing to other Azure services.
- A queryable store for device metadata and synchronized state information.
- Secure communications and access control using per-device security keys or X.509 certificates.
- Extensive monitoring for device connectivity and device identity management events.
- Provides device libraries for the most popular languages and platforms.
IoT Hub and the device libraries help you to meet the challenges of how to reliably and securely connect devices to the solution back end.
Real-world IoT devices mostly have the following constaints:
- Embedded systems.with minimal or no user interaction.
- Remotely available, with less physical access. .
- Reachable through the solution back end.
- Limited power and processing capabilities
- Intermittent, slow, or expensive network connectivity.
- Use proprietary, custom, or industry-specific application protocols.
- Created using a large set of popular hardware and software platforms.
IoT Hub provide solutions to meet all the above constraints of a connected device. In addition it also provides scale, scalability and reliability. It also addresses most of the connectivity challenges through following capabilities.
- Device Twin: With Device twins, you can store, synchronize, and query device metadata and state information, and these are stored in JSON format. IoT Hub persists a device twin for each device that you connect to IoT Hub. This feature was introduced in Novemeber’16 with General availability of Iot Hub.
- Per-device authentication and secure connectivity. You can provision each device with its own security key to enable it to connect to IoT Hub.There by enabling you to manage or block devices as desired.
- Route device-to-cloud messages to Azure services based on declarative rules. IoT Hub enables you to define message routes based on routing rules to control where your hub sends device-to-cloud messages.
- Monitoring of device connectivity operations. You can receive detailed operation logs about device identity management operations and device connectivity events.
- Support for latest and widely used IoT protocols and provides extensibility: Protocols such as AMQP 1.1 or HTTP 1.1 and MQTT 3.1 are supported. We could also provide additional protocol translation using Azure IoT Gateway SDK at Device/Field/Protocol Gateway layer.
Azure IoT Hub can bring more value to organizations to bring in their field devices to cloud with real-time data capture and bi-directional communication. It solves the problem of lack of proper communication infrastructure for devices to communicate or operate on real-time basis. Pay per use, less investment infrastructure that would let you scale as you grow.
Do you feel some similarities between IoT Hub and Event Hubs service already exists as part of Azure Platform? In my later articles I would be covering some of the major differences.
November 17, 2016
.NET, Azure, Azure IoT Suite, Cloud Services, Cloud to Device, Connectivity, Device Shadow, Device to Cloud, Device Twin, Internet Appliance, Internet of Things, IoT, IoT Hub, machine-to-machine (M2M), Microsoft, Tech-Trends
Internet Of Things, IoT
Today Microsoft has announced general availability of Azure IoT Hub Device Management. With this release Azure IoT Hub subscribers/customers will be able to get access to following features and functionalities:
- Device twin. Use a digital representation of your physical devices to synchronize device conditions and operator configuration between the cloud and device.
- Direct methods. Apply a direct, performant action on a connected device through the cloud.
- Jobs. Broadcast and schedule device twin changes and methods to scale management operations across millions of devices.
- Queries. Create real-time, dynamic reports across device twins and jobs to attest status and health for entire device collections, whether your devices are online or offline.