Microsoft Azure IoT architecture - Azure IoT Part 2
- Pre-requisite Knowledge –
Before you understand the Azure IoT (Internet of things), I recommend you should know –
- Basic knowledge of cloud computing
- Basic knowledge of Microsoft Azure and pillars of Azure cloud
- Basic knowledge of IoT, Microsoft Azure IoT
- Background –
In my previous article, we have seen an overview of the Internet of Things (IoT) and what is Microsoft IoT. If not, then have look on another article.
In this article, I would like to explain the Microsoft Azure IoT architecture.
- Azure IoT Architecture
Azure IoT applications are based on TIA –
- Things - which are nothing devices which send data
- Insights - to generate meaningful data which is useful for the business need
- Actions – Activities to improve the business based on the data output generated from insights
Before, we look into detailed architecture lets understand few terminologies –
- Azure IoT Central – It is fully managed Software as a Service (SaaS). This is our box solution to focus on the business need. If we need a more customized solution, then we need to create Platform as a Solution (PaaS).
- Hot Path – Once data is gathered from the devices to generate more insights then it can fall into two categories – Hot Path and Cold Path
Hot path analyses the data instantly in real-time. Such type of processing is usually done by using stream analytics. Then, the output can be passed further to analytics reporting tools.
- Cold Path - Performs batch processing at longer intervals (hourly or daily). It is needed when we have a large volume of data to be processed.
Now, I will explain the architecture at a high level with the help of reference architecture which is published in Microsoft docs below –
This is well-proven architecture for our reference. Based on our requirements we need to utilize this component.
IoT Devices –
These are the devices and registered to the cloud to send/receive the data. This device can be edge devices meaning some data can be processed on the device itself. For edge processing, we can use the ‘Azure IoT Edge’ technique.
Bulk Device Provisioning –
IoT Hub Device Provision Service is to be used when we needed to a large set of devices to be registered to the cloud to send and receive the data.
Cloud Gateway –
It is a bridge between the devices (things) and the cloud backend services. It handles the action to connect the device to the cloud securely. It also provides device management, capabilities, including command and control of devices. IoT Hub is the best choice for cloud gateway since it takes care of secure connectivity, event ingestion, bidirectional communication, and device management.
Stream Processing –
It analyses the large volumes of data received from devices through the cloud gateway. Microsoft recommends using the Azure Stream Analytics or Apache Spark on Azure Databricks. Azure stream analytics executes complex analysis at scale, using time windowing functions, stream aggregations, and external data source joins.
Data Transformation –
It is important to stage if we do not have meaningful data received from the device. Azure Functions will be good choice here because it has built-in integration with IoT Hub, Cosmos DB, and Blob Storage.
Warm Path Storage –
In warm path, data will be processed and make it available for analytics instantly. We can use highly available and scalable Cosmos DB for such cases.
Cold Path Storage –
The large volume of data will be processed in batch recurrently and not instantly. Azure BLOB storage will be the best option for such cases.
Business process integration –
it is important to get connected the services together between the data and reporting tools or office 365 tools, etc. Microsoft recommends using the Azure logic app for business process integration since it has built-in connectors to different Azure services with no-code solutions.
User management –
The azure active directory will be good choice for user identity management and has tight integration with Azure services.
Conclusion - In this article, we have learned an overview of Azure IoT architecture. In the next article, we will see more about Azure IoT Hub. Stay tuned!