The Azure device provisioning service provides the option to link multiple IoT hubs with one device provisioning service instance, which helps to allocate the device automatically to the specific IoT hub based on set policy during the device enrollment. There are the following policies:
- Static configuration
- Evenly weighted distribution
- Lowest latency
Static Configuration
The static allocation policy assigns the device to the pre-defined IoT hub, which is specified at the time of the device's enrollment. The following flow will give you an idea of how it will work.
Evenly Weighted Distribution
An even distribution policy assigns the device on the IoT hub, which has less utilization and load. Let’s say we have ten IoT devices and two linked IoT hubs. Then five devices will be assigned to one IoT hub instance and the other five devices will be assigned to another IoT hub instance based on how much the available IoT hub is utilized.
The following process diagram will give you a clear idea of the evenly distributed policy.
Lowest latency
The lowest latency policy allows allocating the device to an IoT hub that is near the device's location. It means devices are automatically allocated to the closest IoT hub (datacenter) of device location, which will enable faster communication between devices and the IoT hub.
The following diagram shows how the lowest latency policy works.
Summary
I hope this blog helped you to understand the Azure IoT Hub device allocation policies. If you have any questions, let me know in the comment box.