Overview of device management with IoT Hub

Introduction

Azure IoT Hub provides the features and an extensibility model that enable device and back-end developers to build robust device management solutions. Devices range from constrained sensors and single purpose microcontrollers, to powerful gateways that route communications for groups of devices. In addition, the use cases and requirements for IoT operators vary significantly across industries. Despite this variation, device management with IoT Hub provides the capabilities, patterns, and code libraries to cater to a diverse set of devices and end users.

A crucial part of creating a successful enterprise IoT solution is to provide a strategy for how operators handle the ongoing management of their collection of devices. IoT operators require simple and reliable tools and applications that enable them to focus on the more strategic aspects of their jobs. This article provides:

  • A brief overview of Azure IoT Hub approach to device management.
  • A description of common device management principles.
  • A description of the device lifecycle.
  • An overview of common device management patterns.

Device management principles

IoT brings with it a unique set of device management challenges and every enterprise-class solution must address the following principles:

Device management principles graphic

  • Scale and automation: IoT solutions require simple tools that can automate routine tasks and enable a relatively small operations staff to manage millions of devices. Day-to-day, operators expect to handle device operations remotely, in bulk, and to only be alerted when issues arise that require their direct attention.
  • Openness and compatibility: The device ecosystem is extraordinarily diverse. Management tools must be tailored to accommodate a multitude of device classes, platforms, and protocols. Operators must be able to support many types of devices, from the most constrained embedded single-process chips, to powerful and fully functional computers.
  • Context awareness: IoT environments are dynamic and ever-changing. Service reliability is paramount. Device management operations must take into account the following factors to ensure that maintenance downtime doesn't affect critical business operations or create dangerous conditions:
    • SLA maintenance windows
    • Network and power states
    • In-use conditions
    • Device geolocation
  • Service many roles: Support for the unique workflows and processes of IoT operations roles is crucial. The operations staff must work harmoniously with the given constraints of internal IT departments. They must also find sustainable ways to surface realtime device operations information to supervisors and other business managerial roles.

Device lifecycle

There is a set of general device management stages that are common to all enterprise IoT projects. In Azure IoT, there are five stages within the device lifecycle:

The five Azure IoT device lifecycle phases: plan, provision, configure, monitor, retire

Within each of these five stages, there are several device operator requirements that should be fulfilled to provide a complete solution:

Device management patterns

IoT Hub enables the following set of device management patterns. The device management tutorials show you in more detail how to extend these patterns to fit your exact scenario and how to design new patterns based on these core templates.

  • Reboot - The back-end app informs the device through a direct method that it has initiated a reboot. The device uses the reported properties to update the reboot status of the device.

    Device management reboot pattern graphic

  • Factory Reset - The back-end app informs the device through a direct method that it has initiated a factory reset. The device uses the reported properties to update the factory reset status of the device.

    Device management factory reset pattern graphic

  • Configuration - The back-end app uses the desired properties to configure software running on the device. The device uses the reported properties to update configuration status of the device.

    Device management configuration pattern graphic

  • Firmware Update - The back-end app informs the device through a direct method that it has initiated a firmware update. The device initiates a multistep process to download the firmware image, apply the firmware image, and finally reconnect to the IoT Hub service. Throughout the multistep process, the device uses the reported properties to update the progress and status of the device.

    Device management firmware update pattern graphic

  • Reporting progress and status - The solution back end runs device twin queries, across a set of devices, to report on the status and progress of actions running on the devices.

    Device management reporting progress and status pattern graphic

Next Steps

The capabilities, patterns, and code libraries that IoT Hub provides for device management, enable you to create IoT applications that fulfill enterprise IoT operator requirements within each device lifecycle stage.

To continue learning about the device management features in IoT Hub, see the Get started with device management tutorial.