Audience Profile
The Azure IoT Developer is responsible for the implementation and the coding required to create and maintain the cloud and edge portion of an IoT solution. In addition to configuring and maintaining devices by using Azure IoT services and other Microsoft tools, the IoT Developer also sets up the physical devices and is responsible for maintaining the devices throughout the life cycle. The IoT Developer implements designs for IoT solutions, including device topology, connectivity, debugging and security. For Edge device scenarios, the IoT Developer also deploys compute/containers and configures device networking, which could include various edge gateway implementations. The IoT Developer implements designs for solutions to manage data pipelines, including monitoring and data transformation as it relates to IoT. The IoT Developer works with data engineers and other stakeholders to ensure successful business integration. IoT Developers should have a good understanding of Azure services, including data storage options, data analysis, data processing, and the Azure IoT PaaS versus SaaS options. IoT Developers should have basic programming skills in at least one Azure-supported language, including C#, Node.js, C, Python, or Java.
Course outline
Module 1: Introduction to IoT and Azure IoT Services
In this module, students will begin by examining the business considerations for various IoT implementations and reviewing how the Azure IoT Reference Architecture supports IoT solutions. This module also provides students with an overview of the Azure services commonly used in an IoT solution and provides an introduction to the Azure portal.
Lessons
- Introduction to IoT Solution Architecture
- IoT Hardware and Cloud Services
- Lab Scenarios for this Course
Lab : Getting Started with Azure
Lab : Setting Started with Azure IoT Services
After completing this module, students will be able to:
- Explain how IoT and Azure IoT could be applied to their business
- Describe the core components of an Azure IoT Solution Architecture
- Describe the Azure IoT Services and how they relate to an IoT solution
- Create an Azure account and use the Azure portal to create an IoT Hub and DPS service
Module 2: Devices and Device Communication
In this module, students will take a closer look at the Azure IoT Hub service and will learn how to configure secure two-way communication between IoT hub and devices. Students will also be introduced to IoT Hub features such as Device Twins and IoT Hub Endpoints that will be explored in more depth as the course continues.
Lessons
- IoT Hub Concepts
- IoT Device Lifecycle Concepts
- IoT Developer Tools
- Device Configuration and Communication
Lab : Connect IoT Device to Azure
Lab : Setup the Development Environment
After completing this module, students will be able to:
- Explain the core features of the IoT Hub services
- Describe the lifecycle of an Azure IoT device
- Describe how IoT Hub manages device identities and implements other security features
- Register devices with the IoT Hub using the Azure portal, Azure CLI, and Visual Studio Code
- Implement the IoT Hub Device and Service SDKs
Module 3: Device Provisioning at Scale
In this module, students will focus on device provisioning and how to configure and manage the Azure Device Provisioning Service. Students will learn about the enrollment process, auto-provisioning and re-provisioning, disenrollment, and how to implement various attestation mechanisms.
Lessons
- Device Provisioning Service Terms and Concepts
- Configure and Manage the Device Provisioning Service
- Device Provisioning Tasks
Lab : Individual Enrollment of Devices in DPS
Lab : Automatic Enrollment of Devices in DPS
After completing this module, students will be able to:
- Explain the process of device provisioning and the features of the Device Provisioning Service
- Explain the security considerations associated with device provisioning and how they are managed
- Implement the Device Provisioning Service SDKs
- Manage the device enrollment process, including deprovisioning and disenrollment
Module 4: Message Processing and Analytics
In this module, students will examine how IoT Hub and other Azure services can be used to process messages. Students will begin with an investigation of how to configure message and event routing and how to implement routing to built-in and custom endpoints. Students will learn about some of the Azure storage options that are common for IoT solutions. To round out his module, students will implement Azure Stream Analytics and queries for a number of ASA patterns.
Lessons
- Messages and Message Processing
- Additional Considerations for IoT Hub Messaging
- Data Storage and the Lambda Architecture
- Azure Functions and Stream Analytics
Lab : Device Message Routing
After completing this module, students will be able to:
- Configure message and event routing
- Route data to the built-in and custom endpoints
- Implement message enrichment
- Implement Azure Stream Analytics Inputs, Queries, and Outputs
- Store message data in a warm storage for historical purposes and additional analysis
- Use an Azure Function within a message processing and analytics solution
Module 5: Insights and Business Integration
In this module, students will learn about the Azure services and other Microsoft tools that can be used to generate business insights and enable business integration. Students will implement Azure Logic Apps and Event Grid, and they will configure the connection and data transformations for data visualization tools such as Time Series Insights and Power BI.
Lessons
- Business Integration for IoT Solutions
- Data Visualization with Time Series Insights
- Data Visualization with Power BI
Lab : Integrate IoT Hub with Event Grid
Lab : Explore and Analyze Time Stamped Data with Time Series Insights
After completing this module, students will be able to:
- Explain the options for business integration within an IoT solution and how to achieve them
- Develop business integration support using Logic Apps and Event Grid
- Configure IoT Data for Visualization in Time Series Insights
- Describe Data Visualization with Power BI
Module 6: Azure IoT Edge Deployment Process
In this module, students will learn how to deploy a module to an Azure IoT Edge device. Students will also learn how to configure and use an IoT Edge device as a gateway device.
Lessons
- Introduction to Azure IoT Edge
- Edge Deployment Process
- Edge Gateway Devices
Lab : Implement an IoT Edge gateway
Lab : Introduction to IoT Edge Deployments
After completing this module, students will be able to:
- Describe the difference between an IoT device and an IoT Edge device
- Configure an IoT Edge device
- Implement an IoT Edge deployment using a deployment manifest
- Configure an IoT Edge device as a gateway device
Module 7: Azure IoT Edge Modules and Containers
In this module, students will develop and deploy custom edge modules, and will implement support for an offline scenario that relies on local storage. Students will use Visual Studio Code to build custom modules as containers using a supported container engine.
Lessons
- Develop Custom Edge Modules
- Offline and Local Storage
Lab : Create and Deploy a Custom Edge Module
Lab : Implement Restricted Network and Offline Scenarios for IoT Edge
After completing this module, students will be able to:
- Explain the requirements for building a custom edge module
- Configure Visual Studio Code for developing containerized modules
- Deploy a custom module to an IoT Edge device
- Implement local storage on an IoT Edge device in support of an offline scenario
Module 8: Device Management
In this module, students will learn how to implement device management for their IoT solution. Students will develop device management solutions that use devoice twins and solutions that use direct methods.
Lessons
- Introduction to IoT Device Management
- Manage IoT and IoT Edge Devices
- Device Management at Scale
Lab : Implement Automatic Device Management
Lab : Manage Devices using Device Twins and Direct Methods
After completing this module, students will be able to:
- Describe the most common device management patterns and configuration best practices
- Describe when and how to use device twins and direct methods to implement device management
- Implement device management for various patterns using device twins and direct methods
- Implement device management at scale using automatic device management and jobs
Module 9: Solution Testing, Diagnostics, and Logging
In this module, students will configure logging and diagnostic tools that help developers to test their IoT solution. Students will use IoT Hub and Azure Monitor to configure alerts and track conditions such as device connection state that can be used to troubleshoot issues.
Lessons
- Monitoring and Logging
- Troubleshooting
Lab : Configure IoT Hub Monitoring
After completing this module, students will be able to:
- Describe the options for monitoring and logging an Azure IoT solution
- Configure Azure Monitor to support of an IoT solution
- Configure IoT Hub Metrics to support of an IoT solution
- Implement diagnostics logging
- Troubleshoot IoT device connection and communication issues
Module 10: Azure Security Center and IoT Security Considerations
In this module, students will examine the security considerations that apply to an IoT solution. Students will begin by investigating security as it applies to the solution architecture and best practices, and then look at how Azure Security Center for IoT supports device deployment and IoT Hub integration. Students then use Azure Security Center for IoT Agents to enhance the security of their solution.
Lessons
- Security Fundamentals for IoT Solutions
- Introduction to Azure Defender for IoT
- Enhance Protection with Azure Defender for IoT Agents
Lab : Implementing Azure Defender for IoT
After completing this module, students will be able to:
- Describe security concerns and best practices for an IoT solution
- Describe the Azure IoT Security Architecture and Threat Modeling
- Describe the features and support provided by Azure Defender for IoT
- Configure Security Agents and Security Module Twins
- Aggregate Azure Defender for IoT Events
Module 11: Develop with Azure Digital Twins
In this module, students will examine the concepts of an Azure Digital Twins solution and take their first steps toward implementing ADT. Students will begin by investigating the concepts behind the Azure Digital Twins service and an ADT solution, followed by an introduction to the development tools that can be used to build and monitor an ADT solution. Students will then use the development tools to create custom models, build and query an ADT environment graph, ingest IoT device telemetry, and implement business logic and data processing.
Lessons
- Introduction to Azure Digital Twins
- Introduction to ADT solution development
- Monitor and troubleshoot ADT
Lab : Develop Azure Digital Twins solutions
After completing this module, students will be able to:
- Describe the components of an Azure Digital Twins (ADT) solution
- Explain how to create and configure an ADT instance
- Explain how to create, query, and manage the ADT graph
- Explain how to ingest ADT data from IoT hub and implement support for downstream services
- Describe how to monitor and troubleshoot ADT
Module 12: Build an IoT Solution with IoT Central
In this module, students will learn how configure and implement Azure IoT Central as a SaaS solution for IoT. Students will begin with a high-level investigation of IoT Central and how it works. With a basic understanding of IoT central establish, students will move on to creating and managing device templates, and then managing devices in their IoT Central application.
Lessons
- Introduction to IoT Central
- Create and Manage Device Templates
- Manage Devices in Azure IoT Central
- Business Integration and Data Analysis
After completing this module, students will be able to:
- Describe the difference between Azure IoT Central and the Azure IoT PaaS services
- Describe the features provided by Azure IoT Central
- Describe the purpose and components of a Device Template
- Create and publish a Device Template
- Manage devices using rules and notifications
- Mange devices at scale using jobs