Microsoft offers an official IoT Developer Specialty Certification which requires passing the AZ-220 Certification Exam. This exam content was updated on September 24, 2020 and includes new areas of focus. I successfully passed this exam on October 29, 2020 and in this post will be sharing my preparation strategy in the hopes that it might assist others in completing the examination and obtaining an official designation as a "Microsoft Certified Azure IoT Developer"!
How do I know which topics to focus on, what skills does the AZ-220 exam measure?
The AZ-220 Microsoft IoT Developer examination measures the skills outlined in this document. What is interesting to note, is that the various topics / sub-sections are basically titles pulled directly from official Azure IoT related documentation available on docs.microsoft.com. This is important because, I found during my taking of practice exams and the official examination that many of the questions were rooted primarily in the official documentation content! So much so, that I would place a bet that the authors of the examination literally consulted the official documentation while creating the actual AZ-220 exam questions. Thus, I have provided below, the skills mentioned in the aforementioned document, with an additional enhancement to those line-items in the form of hyperlinks which point to the relevant documentation entry on docs.microsoft.com.
Be warned that it is not advised that one only prepare for the AZ-220 exam by merely "reading the docs", practical application is arguably the most important preparation technique as it can create experiences that you can later draw on during test time. We will discuss resources which enforce practical application in the subsequent section.
Skills Measured
NOTE: The bullets that appear below each of the skills measured are intended to illustrate how
we are assessing that skill. This list is not definitive or exhaustive.
NOTE: In most cases, exams do NOT cover preview features, and some features will only be
added to an exam when they are GA (General Availability).
Implement the IoT Solution Infrastructure (15-20%)
Create and configure an IoT Hub
Build device messaging and communication
- build messaging solutions by using SDKs (device and service)
- implement device-to-cloud communication
- implement cloud-to-device communication
- configure file upload for devices
Configure physical IoT devices
- recommend an appropriate protocol based on device specifications
- configure device networking, topology, and connectivity
Provision and manage devices (20-25%)
Implement the Device Provisioning Service (DPS)
- create a Device Provisioning Service
- create a new enrollment in DPS
- manage allocation policies by using Azure Functions
- link an IoT Hub to the DPS
Manage the device lifecycle
Manage IoT devices by using IoT Hub
- manage devices list in the IoT Hub device registry
- modify device twin tags and properties
- trigger an action on a set of devices by using IoT Hub Jobs and Direct Methods
- set up Automatic Device Management of IoT devices at scale
Build a solution by using IoT Central
- define a device type in Azure IoT Central
- configure rules and actions in Azure IoT Central
- define the operator view
- add and manage devices from IoT Central
- monitor devices
- custom and industry-focused application templates
- monitor application health using metrics
Implement Edge (15-20%)
Set up and deploy an IoT Edge device
- create a device identity in IoT Hub
- deploy a single IoT device to IoT Edge
- create a deployment for IoT Edge devices
- install container runtime on IoT devices
- define and implement deployment manifest
- update security daemon and runtime
- provision IoT Edge devices with DPS
- IoT Edge automatic deployments
- deploy on constrained devices
- secure IoT Edge solutions
- deploy production certificates
Develop modules
- create and configure an Edge module
- deploy a module to an Edge device
- publish an IoT Edge module to an Azure Container Registry
Configure an IoT Edge device
- select and deploy an appropriate gateway pattern
- implement Industrial IoT solutions with modules like Modbus and OPC
- implement module-to-module communication
- implement and configure offline support (including local storage)
Process and manage data (15-20%)
Configure routing in Azure IoT Hub
- implement message enrichment in IoT Hub
- configure routing of IoT Device messages to endpoints
- define and test routing queries
- integrate with Event Grid
Configure stream processing
- create ASA for data and stream processing of IoT data
- process and filter IoT data by using Azure Functions
- configure Stream Analytics outputs
Configure an IoT solution for Time Series Insights (TSI)
- implement solutions to handle telemetry and time-stamped data
- create an Azure Time Series Insights (TSI) environment
- connect the IoT Hub and the Time Series Insights (TSI)
Monitor, troubleshoot, and optimize IoT solutions (15-20%)
Configure health monitoring
- configure metrics in IoT Hub
- set up diagnostics logs for Azure IoT Hub
- query and visualize tracing by using Azure Monitor
- use Azure Policy definitions for IoT Hub
Troubleshoot device communication
- establish maintenance communication
- verify device telemetry is received by IoT Hub
- validate device twin properties, tags and direct methods
- troubleshoot device disconnects and connects
Perform end-to-end solution testing and diagnostics
- estimate the capacity required for each service in the solution
- conduct performance and stress testing
Implement security (15-20%)
Implement device authentication in the IoT Hub
- choose an appropriate form of authentication
- manage the X.509 certificates for a device
- manage the symmetric keys for a device
Implement device security by using DPS
- configure different attestation mechanisms with DPS
- generate and manage x.509 certificates for IoT Devices
- configure enrollment with x.509 certificates
- generate a TPM endorsements key for a device
- configure enrollment with symmetric keys
Implement Azure Security Center (ASC) for IoT
Where can I learn how to apply the concepts measured on the AZ-220 exam in a practical / hands-on manner?
In February of 2020, the initial AZ-220 Developer exam beta was being written and at the time, a series of lab exercises were developed to prepare the initial set of test takers on the concepts that the exam would cover. Those original labs exist today at http://aka.ms/az220labs but have since evolved into a more modern and interactive format on the Microsoft Learn Platform. As one of the authors for these Learn Modules, I can assure you that the core concepts are retained, but amplified with the ability to complete the exercises using the 100% free Microsoft Learn Azure Sandbox in addition to some updates and modernization of content where applicable. In fact, you will notice that many of these Learn Modules actually have the same exact titles as the original AZ-220 labs! Thus, the secret I am about to reveal here is that you can obtain practical experience using actual the free Azure access provided by the Microsoft Learn Azure Sandbox at zero cost by completing the following Learning Paths on MS Learn which are based on the original AZ-220 preparedness labs! Below I have provided links to those Learning Paths and the Modules contained within.
Introduction to Azure IoT - Learning Path
- Enabling Digital Transformation
- Microsoft Azure IoT strategy and solutions
- Introduction to Azure IoT Hub
- Learn How to Manage IoT Devices as an IT Admin
- Create your first Azure IoT Central App
- Introduction to Azure IoT Edge
- Introduction to implementing lambda architecture for IoT solutions
- Explore and Analyze Time-Stamped data with Time Series Insights
Securely Connect IoT Devices to the Cloud
- Learn How to Manage IoT Devices as an IT Admin
- Automatically provision IoT devices securely and at scale with the Device Provisioning Service
- Identify anomalies by routing data via IoT Hub to a built-in ML model in Azure Stream Analytics
- Remotely monitor and control devices with Azure IoT Hub
- Automate IoT devices management with Azure IoT Hub
- Manage your IoT Hub with alerts and metrics
Build the Intelligent Edge with Azure IoT Edge
- Introduction to Azure IoT Edge
- Deploy a pre-built module to the Edge device
- Set up an IoT Edge Gateway
Develop IoT solutions with Azure IoT Central
- Create your first IoT Central App
- Set up rules and take action on telemetry data in Azure IoT Central
- Manage IoT Central applications with the REST API
- Set up continuous data export from Azure IoT Central to a Power BI app
I prefer to learn at my leisure with video content, are there any resources that cover the materials in the official docs and Microsoft Learn that I can watch?
In July 2020, in preparation for upcoming changes to the AZ-220 exam content which was updated on September 24, 2020 (Fun Fact: Coincidentally my birthday!), the IoT Advocacy team at Microsoft developed a 5 part video series that covers 60-70% of the AZ-220 exam content. Pretty much everything is covered with the exception of Implement security (15-20%) & Monitor, troubleshoot, and optimize IoT solutions (15-20%).
That content can be viewed and consumed at http://aka.ms/iotlp/blog or by clicking the image below:
So far, all of the AZ-220 prep materials that you shared are 100% free which is awesome, but what are your thoughts on paid courses / practice exams, are there any recommendations?
There is an official instructor led training for the AZ-220 Exam, which consists of 4 days of instruction with a Microsoft Certified Trainer. I have not used this service personally but understand that the content and instructors are vetted and would assume it is of high quality.
Diana Phillips from the One Commercial Partner Group at Microsoft runs a similar but 100% free study group that you can learn more about and enroll in at this link. You could almost think of it as a free alternative to the above resource which also provides video resources, prescribed homework assignments, and is rooted in the lab content mentioned previously at http://aka.ms/az220labs.
There is also an official practice exam offered by MindHub Inc., which provides access to approximately 100+ sample exam questions that are provided in a format very similar to the actual exam. You can sample what the question format for this practice test at this link. Full-time Microsoft employees may be able to access these materials at https://mslibrary.measureup.com/. I relied on this resource very heavily in the days leading up to my official examination. On my first attempt at the practice exam I scored ~70%, but noticed that the report literally breaks down into sections that map 1:1 to the skills measured!
Thus, I could zero in on the exact sections I needed to brush up on and soon after was scoring in the high 80-90% range!
I continued forth by completing a grand total of 4 practice exams before I decided to go up for the final exam where I scored an 800 out of 1000 on my first attempt! (Note: a 700 or higher is required to pass).
Summary
The AZ-220 Certification Exam covers a broad range of topics related to Azure IoT Services and the underlying technologies that make it work. If you regularly work with these technologies and want to try your hand at the exam, you can try a free practice exam right now at this link.
Personally, I preferred to learn most of the content by following the Learn Modules and creating / reviewing the IoT Event Learning Path videos, then moved onto the official practice exam offered by MindHub Inc., then I used the results of my practice exams to hone in on the documentation areas that I needed to focus on. Once I could consistently score in the high 80s / low 90s on the practice exam I believe I was more than ready.
If you have taken the exam or are currently preparing, let us know about your experience in the comments. We have a great conversation space right here on the IoT Tech Community where you can ask your questions to the community at large, or feel free to reach out to me directly on twitter @pjdecarlo if you need any assistance. We wish everyone luck on their journey to become an officially certified Azure IoT Developer.