One of the biggest challenges facing IoT projects is how to reliably and securely connect devices to the solution back end to enable the device to send telemetry and retrieve commands. IoT devices have different characteristics as compared to other clients such as browsers and mobile apps.
IoT devices:
• Are often embedded systems with no human operator.
• Can be in remote locations, where physical access is very expensive.
• May only be reachable through the solution back end
• May have limited power and processing resources
• May have intermittent, slow, or expensive network connectivity
• May need to use proprietary, custom, or industry-specific application protocols
• Can be created using a large set of popular hardware and software platforms.
In addition to the requirements above, any IoT solution must also deliver scale, security, and reliability. The resulting set of connectivity requirements is hard and time-consuming to implement using traditional technologies such as web containers and messaging brokers. Azure IoT Hub and the IoT Device SDKs make it easier to implement solutions that meet these requirements.
Azure IoT Hub: A reliable and secure device-to-cloud and cloud-to-device messaging
Azure IoT Hub is a Microsoft Azure cloud service that offers reliable and secure device-to-cloud and cloud-to-device messaging that scales to millions of devices.
Comparison of IoT Hub with Event Hubs
With Azure IoT Hub, it is easy to get started with minimum effort and scale up your solution to grow, without having to rewrite it or rework what you’ve already built. One of the main use cases for Azure IoT Hub is to gather telemetry from devices. For this reason, IoT Hub is often compared to Azure Event Hubs. Like IoT Hub, Event Hubs is an event processing service that enables event and telemetry ingress to the cloud at massive scale, with low latency and high reliability. However, the services have many differences, which are detailed in the table below.
How does IoT Hub Work?
Azure IoT Hub implements the service-assisted communication pattern to mediate the interactions between your devices and your solution back end.
The pattern establishes the following principles:
• Security takes precedence over all other capabilities.
• Devices do not accept unsolicited network information.
• Devices should only connect to or establish routes to well-known services they are peered with, such as IoT Hub.
• The communication path between device and service or between device and gateway is secured at the application protocol layer.
• System-level authorization and authentication are based on per-device identities. They make access credentials and permissions nearly instantly revocable.
• Bidirectional communication for devices that connect sporadically due to power or connectivity concerns is facilitated by holding commands and device notifications until a device connects to receive them. IoT Hub maintains device specific queues for the commands it sends.
• Application payload data is secured separately for protected transit through gateways to a particular service.
Why should you use Azure IoT Hub?
Azure IoT Hub addresses the device-connectivity challenges in the following ways:
• Per-device authentication and secure connectivity: You can provision each device with its own security key to enable it to connect to IoT Hub.
• Monitoring of device connectivity operations: You can receive detailed operation logs about device identity management operations and device connectivity events.
• An extensive set of device libraries: Azure IoT device SDKs are available and supported for a variety of languages and platforms–C for many Linux distributions, Windows, and real-time operating systems.
• IoT protocols and extensibility: If your solution cannot use the device libraries, IoT Hub exposes a public protocol that enables devices to natively use MQTT v3.1.1, HTTP 1.1, or AMQP 1.0 protocols.
• Scale: Azure IoT Hub scales to millions of simultaneously connected devices and millions of events per second.
To sum up, Azure IoT Hub provides reliable device-to-cloud and cloud-to-device messaging at scale and enables secure communications using per-device security credentials and access control. It also enables extensive monitoring for device connectivity and device identity management events and also includes device libraries for the most popular languagesand platforms.
Furthermore, we recently hosted a webinar where we discussed how to set up and start working with an Azure IoT Hub and explore all the capabilities that IoT Hub provides to communicate with your devices.
View the recording here to learn more.