What is an IoT Solution?
What is an IoT Solution?

This course will focus on the skills needed to integrate Azure Monitor and its corresponding features within IoT solutions. Each service within a given IoT solution has the ability to produce metrics, logging, and alerting data. How are you going to gather all of that information and make it available to users that are managing and maintaining your solutions? This course will provide the answers to that question!

Learning Objectives

  • Understand the different metrics and diagnostics that can be retrieved from the Azure IoT Hub
  • Learn how to configure the IoT Hub for scaling programmatically
  • Learn how to query and visualize the data that is stored in Azure Monitor
  • Define specific Azure policies for your IoT Hub so that the hub meets your requirements
  • Learn how to gather metrics and diagnostics from IoT Edge

Intended Audience

  • Developers
  • Operational engineers
  • Cloud architects
  • Anyone responsible for deploying IoT solutions on Azure


To get the most out of this course, you should have a strong understanding of the available IoT services that Microsoft provides, as well as a strong understanding of Azure Monitor and the different types of data that can be retrieved through all of its features and services.


Now to get started, what exactly is a IoT solution? Now this answer comes directly from the Microsoft website and their documentation. Internet of Things or IoT refers to a collection of managed and platform services across both the edge and cloud that connect, monitor, and control billions of IoT assets. It also includes security and operating systems for the devices or the IoT assets themselves, as well as the equipment along with data and analytics that help businesses to build, deploy, and manage IoT applications. Now this is a very, very generic statement. What exactly does this mean? And I'll give you a great example. One of the first IoT customers that Microsoft really started to talk about very heavily was an elevator company that provided numerous elevators across the world for extremely large buildings. Each one of those elevators had different sensors that the company needed to gather data from to be able to understand how well that elevator was performing, from floor to floor, from top to bottom, side to side, and so on. And each one of those sensors is a IoT device. The data being retrieved was then being used inside of an IoT application so that they could schedule maintenance, so that they could send emergency crews to work on an elevator. They would know before a human even picked up the phone that the elevator had gotten stuck between floors nine and 10. That is an IoT solution.

Now, what is the agenda for this particular course? We're gonna be focusing on five different areas. The first is the IoT Hub, and the different metrics and diagnostics that can be retrieved from that hub. We're then gonna take a look further into the hub and look at how to configure it for scaling programmatically. We're then going to look at how to query and visualize the data that is stored in Azure Monitor. We'll look at how to define specific Azure policies for your IoT Hub so that the hub meets your compliance requirements, your security requirements, and so on. And then lastly, we'll look at the IoT Edge and how to gather metrics and diagnostics from those devices.

Now, what exactly is Azure Monitor? We're not gonna go into depth of this, but I need you to understand the majority of the functionality that's available. First, real time metrics. Many of the services, not all of them, but many of the services provide real time data points about how that service is performing, that can be gathered in Azure Monitor.

Service-Based Diagnostic Logs. Similar situation, not all services produce them, but many of them produce appended log files that you can store and use in your log queries. Azure Monitor also contains a service that allows you to visualize that data through service-based insights, dashboards and so on so that you can actually view that data in real time on the Azure portal pages. You can set up alerts that are going to then trigger automated actions based on data coming out of the metrics, coming out of the logs. And then lastly, you can drill down into all of these data points once you've stored them into Log Analytics, which provides you query capabilities, the ability to create your own graphs and charts, as well as the ability to create your own custom alerts.

Now before we dive into specific metrics and diagnostic discussions around IoT Hub or IoT Edge, let me give you a quick overview of what diagnostics and metrics are. Diagnostics is a service specific log collector and what I mean by that is, each service inside of Azure has the ability for diagnostics to be turned on, and each one of them have a different set of diagnostic logs available to them. These are by default turned off for newly created resources. Therefore, you are not going to be charged for the storage of those logs by default. Each resource type provides a list of available diagnostic logs that can be collected and then pushed to one of three different storage services within Azure that can then be used by you. The log can then be visualized or queried against using the customer's aggregation solution of their choice. You can either use Log Analytics, which is cloud native to Azure, or you can export these log files to your own third-party log service such as a LogStash, a Splunk, and so on.

Now, what exactly are metrics? Metrics are numeric values that describe some aspect of a system at a particular point in time, as close to real time as Azure is able to produce. They are collected at regular intervals and are identified with a timestamp, a name, a value, and one or more defining labels. Metrics can be aggregated using a variety of algorithms, compared to other metrics and analyzed for trends over time. Now what this means is that you could set up mins, maxes, averages and so on of the particular values that are coming out of your particular resource, and therefore get a better understanding of how your resource is performing, based off of the metrics that that resource performs. Just like Diagnostics, each resource type or service type within Azure has a different set of metrics available to them.

Now lastly, what is Azure Policy? Azure Policy helps to enforce organizational standards and to assess compliance at scale. Through its compliance dashboard, it provides an aggregated view to evaluate the overall state of the environment with the ability to drill down to the per-resource, per-policy granularity. It also helps to bring your resources to compliance through bulk remediation for existing resources and automatic remediation for newer resources. This is a way to control what happens with respect to different resources. There are policies that are Azure subscription specific, and then there are policies that are specific to a type of resource inside of Azure, and in this course, we're going to be focusing on the policies that are gonna be specific to your IoT services, specifically IoT Hub.

About the Author

Brian has been working in the Cloud space for more than a decade as both a Cloud Architect and Cloud Engineer. He has experience building Application Development, Infrastructure, and AI-based architectures using many different OSS and Non-OSS based technologies. In addition to his work at Cloud Academy, he is always trying to educate customers about how to get started in the cloud with his many blogs and videos. He is currently working as a Lead Azure Engineer in the Public Sector space.