Skip to main content


Last month, we released Azure IoT Hub automatic device management, and module identity and module twins. Each of these features enable scenarios to enhance device management capabilities within your IoT application built on Azure IoT Hub. Today, we are excited to announce that they are generally available with the same great support you’ve come to know and expect from Azure IoT services.

Automatic device management

Automatic device management automates many of the repetitive and complex tasks of managing large device fleets over the entirety of their lifecycles. With automatic device management, you can target a set of devices based on their properties, define a desired configuration, and let IoT Hub update devices whenever they come into scope. We offer two services in automatic device management for different scenarios – automatic device configurations and IoT Edge automatic deployments.

Building blocks for Azure IoT device management

Automatic device configurations

Automatic device configurations provides the ability to perform IoT device configuration at scale including updating settings, installing software, and updating firmware with reporting and conflict resolution automatically handled. It provides an additional layer of capability by building upon existing platform primitives, namely device twins, and queries.

With general availability support comes expanded SDK support. We now support service SDKs in the following languages: C, C#, Java, Node, and Python (coming soon). In order for you to achieve full automation, this release also corresponds to the IoT extension for Azure CLI capability for automatic device configuration.

IoT Edge automatic deployments

IoT Edge automatic deployments enable cloud-driven deployment of Azure services and solution-specific code to IoT Edge devices. IoT Edge automatic deployments behave very similar to automatic device configurations by automatically updating devices that come into scope, handling reporting, and merge conflicts. This general availability now support IoT Edge deployments in the IoT extension for Azure CLI, as well as our SDKs across all of our supported languages. With IoT Edge being generally available globally today, our growing list of enterprise customers can bring their edge solutions to production. For further details, see Sam George’s blog post Azure IoT Edge generally available for enterprise-grade, scaled deployments for the latest news on Azure IoT Edge.

Module identity and module twin

Module identity and module twin are similar to Azure IoT Hub device identity and device twin, but provide finer granularity. While Azure IoT Hub device identity and device twin enable the back-end application to configure a device and provide visibility on the device’s conditions, a module identity and module twin provide these capabilities for individual components of a device. On capable devices with multiple components, such as operating system based devices or firmware devices, it allows for isolated configuration and conditions for each component. Module identity and module twin provide a management separation of concerns when working with IoT devices that have modular software components.

With this release, module identity and module twin now support both AMQP and MQTT on all the operations. This release also corresponds to expanded SDK language support for both the device and client side. We now support SDKs in the following languages including C, C#, Java, Node.js, and Python. Get started with module identity and module twin today with the quick start tutorials.

We would love to hear your feedback on IoT Hub device management, so please continue to submit your suggestions through the Azure IoT User Voice forum.

  • Explore


    Let us know what you think of Azure and what you would like to see in the future.


    Provide feedback

  • Build your cloud computing and Azure skills with free courses by Microsoft Learn.


    Explore Azure learning