Getting Started with Azure IoT Hub Device Provisioning Service

Today every industry is moving towards the IoT implementation to automate and control their industrial as well as manufacturing assets. Now every industry is moving towards the IoT to meet their digitization goal.
Implementing the IoT devices for business solution might be easy but managing the million devices including their data and the entire device life cycle including deployment, upgradation and securing the IoT devices is much difficult to overcomes these limitations. Microsoft introduces the services azure IoT hub device provisioning service which is formally known as azure DPS. Let's learn about the IoT hub device provisioning service.

What is Azure IoT Hub DPS?

Azure IoT hub device provisioning service is responsible to enroll the IoT devices before devices get registered into the Azure IoT hub.

Devices can be directly registered with IoT hub, but the Azure device provisioning service makes it easier to manage the entire life cycle of millions of IoT devices. Enrollments of devices can be done from the portal as well programmatically with the help of azure DPS REST services or SDK which supports various types of programming languages. The devices enrolled into the Azure DPS can be registered into the Azure IoT hub with the help of REST Services as well as SDK.

Advantages of Azure IoT Hub Device Provisioning Service

  • Helps to manage and connect thousands of IoT devices without worrying about setup configuration
  • Device provisioning service helps of automatically balance the load of device across the multiple IoT Hubs
  • Device provisioning service provides the feature to automatically connect the device to the IoT hub with nearest location of device
  • Whenever required change in the configuration of existing connected device, Device provisioning service provides the feature how the device will be re-provision without or changing the existing configuration
  • Easily secure the devices with X509 certificate and TPM which allow verify the identity of device when device need to be connected from deployed location
  • Device provisioning service allows to connect individual or group of devices to the IoT hub with the help of devices enrolled using the feature group and individual enrollment
  • Helps to manage the configuration of single as well as group of devices

Creating Azure IoT Hub Device Provisioning Service

Now let’s start creating the azure device provisioning step by step via Azure portal


To create any service in Azure portal we required valid azure subscription whether it’s paid or trial subscription, hope you have valid azure subscription

Step 1: Go to Azure Portal

Navigate to the using browser and login into portal with valid credentials, as shown in following image

After a successful login page, the page will be redirected to the Azure portal default dashboard page as shown in the following image.

Step 2: Create IoT Hub Device Provisioning Service on Portal

Find the create resource option which can be found left top side of the portal as shown into the following image or follow any other option which you may know to create the resource (service) in the Azure portal.

Click on the left side option to create a resource & type IoT hub device provisioning service into the populated search box, it will pop up the following screen which is shown in the following image.

As shown in the preceding image, click on the create button, it will show the following screen,

Provide required details as shown in preceding image as
The name of the IoT hub device provisioning service which must contain only alphanumeric characters or hyphen.

Valid Name

Invalid Name


Compilemode dps


Choose the available azure subscription which you want to use for creating service from drop down list
Resource Group: 
Choose existing resource group or create a new resource group which you may want to use.
Choose the deployment location for IoT hub device provisioning from the given list. However, the device provisioning service is global and associated with any specific location, but you must specify a location for the resource group where the metadata associated with the service profile will reside.
After providing all the required details, click the create button. It will take some time to create the service. Once the service is created, status can be notified on the notification icon as shown in the following image.

Now click on the Go to resource button. It will redirect to the newly created IoT hub device provisioning service as shown in the following image.

Let’s know about preceding IoT hub device provisioning service settings and overview section
  • Resource Group:The name of the resource group in which IoT hub device provisioning resides.
  • Service Endpoint: Unique URI to connect to the IoT hub device provisioning for device enrollment related operations
  • Status: IoT hub device provisioning working status
  • Global Device Endpoint:  Global endpoint of IoT hub device provisioning service to perform the device provisioning related operation.
  • ID Scope: Unique Id for identifying your specific IoT hub device provisioning service for device related operation since device operation related endpoint is global to all device provisioning services
  • Subscription ID: Name of the subscription id in which your IoT hub device provisioning service resides
  • Pricing & Scale Tier: Each IoT hub device provisioning service has pricing tier which can be decided to use based on the what scalability and performance required for an application. Currently IoT hub DPS support S1 tier which cost $ 0.10 that is INR 6.610 for 1000 operations
  •  Shared Access Policies: Shared access policies section reside the different keys & connection string to connect with IoT hub device provisioning service programmatically using SDK’s & REST services
  • Linked IoT Hub: This property allows to link upto ten IoT hub to the device provisioning service as well to see the list of linked IoT hubs. All the enrolled devices after provisioning registered into respective IoT hubs
  • Certificates: This Section allows to add the device certificates which can be assigned to the devices during enrollment.
  • Manage Enrollments: This section allows to enroll the various types of security feature devices such as TPM (Trusted Platform Module) and X.509. Device enrollment can be enrolled using the following two concepts
            Individual Enrollment: This allows to enroll the one device at a time which allows unique                  configuration per device.
           Group Enrollment: Group Enrollment allows to enroll the group of devices at a time which                  allows common configuration for group of devices.
  • Manage Allocation Policy: Device provisioning service allows to link the multiple IoT hub & using manage allocation policy we can set the IoT hub allocation policy for enrolled devices which automatically decides on which IoT hub device should belong when the device is connected or registered.
Following are the allocation policies can be set
  • Lowest latency: This policy automatically assigns device to the closest IoT hub ((Datacenter) of device location which will make faster communication between devices and IoT hub.
  • Evenly weighted distribution: This is the default policy and recommended by Microsoft which will equally distributes devices to the linked IoT hubs, Let’s say we have ten IoT devices and two linked IoT hubs then five devices will be assigned to one IoT hub and five devices to another IoT hub
  • Static configuration: This policy assigns the devices to the specific IoT which is selected during the device enrollment. 
Hope this article helped you to understand about the azure device provisioning service, in next article we will learn about the Azure IoT Hub.

Don't Forget To 

Post a Comment

Protected by Copyscape
Copyright © Compilemode