Skip to main content

Provisioning and Managing Devices in Azure IoT (AZ-220: Course 2)


Intro Video

Photo of Shawn Johnson

Shawn Johnson

Azure Training Architect II in Content

Shawn currently resides in Waller, TX. While he could live anywhere in the world to perform his job, he's never leaving Texas, minus excursions to New Orleans and Disney World. He's still waiting for the perfect opportunity to inject worthless information into his courses so that everyone the world over can win more trivia contests. If he didn't need a job and money wasn't an object, he'd be barbecuing every day, selling his smoked wares until he sold out. That said, when retirement day comes, you'll probably find him sitting by the river doing absolutely nothing.I've been in technology for over 20 years. Yes, I'm one of the older TAs around here. But I'm immature enough to compensate for my age. I've been involved in Azure for about 5 years now. Prior to that, I was the digital Cliff Claven (Google it), implementing and supporting Exchange Server all the way back to version 5.0.In my spare time, I brew beer and cook, both indoors and out. I am married with three great kids who are too much like me. When people say they weep for our future, they're not talking about my kids, who are the greatest ever. No bias here.When I release content here at Linux Academy, rest assured that it will be informative and fun. We'll laugh, cry and learn together. So let's get to it.







Hands-on Labs


Course Details

This course Provisioning and Managing Devices in Azure IoT can be used as a stand-alone learning module, but is also a mini-course and the first in a learning path that will prepare the student for the AZ-220: Microsoft Azure IoT Developer exam.

The mini-course has 3 sections. The first section will focus on device management using IoT Hub. Topics such as device twins, hub jobs, direct methods and automatic device management can be found here.

The second section of the course covers the Device Provisioning Service. Imagine being able to deploy hundreds of devices without having to touch them! Here's how!

Finally, we will discuss the device lifecycle. Provisioning, disenrollment and deprovisioning are all topics that we discuss in this section.

Again, this course is designed to stand on its own or be the first in a series of mini-courses in preparation for the Microsoft Azure IoT Developer exam.


Getting Started

Course Introduction


Lesson Description:

Welcome to the course! In this video, we discuss the goals and objectives for the course and touch on specific points we'll cover. I'm glad you could join us, so let's get started!

About the Training Architect


Lesson Description:

Just a little about me, my background, and hobbies!

Device Management Using IoT Hub

The IoT Hub Device Registry


Lesson Description:

The IoT Hub device registry is home to metadata for every device in our IoT solution. In this lesson, we discuss the registry in detail and look at the actions we can perform against it. Special guests include an export of IoT device data to Azure Blob Storage with C#!

Device Twins


Lesson Description:

What are device twins? It is not a reboot of the classic Schwarzenegger/DeVito comedy featuring an all-robot cast. It is a logical representation of a device in the IoT Hub device registry. Want to learn more? Check this lesson out and see how we use twins to synchronize settings between devices and back-end applications.

IoT Hub Jobs and Direct Methods


Lesson Description:

In this lesson, we touch on two ways to manage our IoT devices via the Hub. Direct methods allow for interactivity between back-end applications and devices, while IoT Hub jobs allow us to manage multiple devices at once. In this lesson, we discuss both and even look at a hub job in action! Don't miss this!

Automatic Device Management


Lesson Description:

Want to configure multiple devices at once, all from the comfort of the Azure Portal? Who wouldn't? In this lesson, we discuss automatic device management. It's a spiffy way to create custom tag/property configurations and have them deployed to devices as they connect to an IoT Hub. Join us for this exciting adventure!

Hands-on Labs are real live environments that put you in a real scenario to practice what you have learned without any other extra charge or account to manage.


Device Provisioning Service

Device Provisioning Service Overview


Lesson Description:

When it comes to provisioning a large number of IoT devices, we have two options:Configure each device manually and become prematurely gray. Use the Device Provisioning Service which will configure them for us.For the sake of most of us not into the "silver fox" look, let's go with the second option. The Device Provisioning Service allows us to deploy hundreds (if not thousands) of devices without having to manually touch them. In this lesson, we'll look at the provisioning process and discuss the DPS.

Managing DPS Settings


Lesson Description:

Once we have created the DPS, we need to configure it. This lesson dicsusses the various configuration options and shows them in action via the Azure Portal.

Device Enrollments


Lesson Description:

In this lesson, we'll focus on enrolling devices with the DPS. We'll chat about what an enrollment record contains and discuss the different types of enrollments. We will be using a sample C# application located in the samplesprovisioningSamplesdeviceSymmetricKeySample folder of the course Git repository.

Upcoming Lesson: Attestation Mechanisms

Lesson Description:

What is attestation, anyway? Well, when we create a device enrollment in the Device Provisioning Service, we determine how we will allow a device to "attest" its identity! Check out this lesson for more details. We will be using sample C# applications located in the samplesprovisioningSamplesdeviceX509Sample and samplesprovisioningSamplesdeviceTPMSample folders of the course Git repository.

Allocation Policies


Lesson Description:

Once our devices have been registered with the Device Provisioning Service, they have to be assigned to an IoT Hub. The DPS allocation policy helps determine where the devices will reside. This short lesson discusses the default policy and how we can create a custom allocation policy using Azure Function apps.

Azure IoT Device Life Cycles

Device Provisioning (Autoenrollment)


Lesson Description:

This lesson touches on many of the previous points regarding device enrollment. It provides an overview of the entire device enrollment process, from the device's "birth" at the manufacturing facility all the way to its first day on the job!

Disenroll a Device


Lesson Description:

Sometimes we need to make sure that if a device ever fails or becomes compromised, it doesn't attempt to reprovision itself with the Device Provisioning Service. This process is called disenrollment, and we discuss it in this lesson. We will be using a sample C# application located in the samplesprovisioningSamplesdeviceX509Sample section of the course Git repository.

Deprovisioning an Autoenrollment


Lesson Description:

As it is in the beginning, so it shall be in the end. Eventually, our devices must retire. Whether due to breakdown or old age, at some point in time we have to take a device out of service. Not only will we not want it to reregister with the DPS, but we will need to prevent it from sending telemetry data to an IoT Hub as well. We call this deprovisioning, and it's a sad but necessary tale. Check out this lesson and try not to cry.

Course Wrap-Up

Conclusion and Next Steps


Lesson Description:

We've made it through the course! Congratulations! "What now?" Well then, this is the right video to answer that! We'll talk about the other courses in the Azure IoT series, as well as other tools available to solidify the knowledge obtained in this course!

Take this course and learn a new skill today.

Transform your learning with our all access plan.

Start 7-Day Free Trial