When it comes to Internet of Things, much of the focus is on the “Things.” Devices are the lead guitarists and singers of the IoT world. After all, devices are what we interact with. We wear them, we use them as little handheld computers, and they make normally dumb objects smarter.
When you’re on your learning journey as a newbie to the IoT world these tend to be your real focus. You buy an Arduino or a Raspberry PI and you get to hacking. It’s not until you mature on your journey that you realize the value of the data and understand what analytics can do for your solutions.
Now you have devices gathering telemetry and you have smart devices making intelligent decisions closer to the places where it matters.
Azure IoT Edge has been the ideal tool for implementing Edge Analytics for a few years now. Azure provides an entire architecture to help gather analytics data, process the data, and turn it into intelligent code to push down to Edge compatible devices, like a Raspberry PI.
To put edge analytics into context with most data analysis and processing systems, it’s important to consider the earlier phases of IoT. Even before the popularity of cloud computing there was IoT. In fact, manufacturers have been gathering telemetry data from machines for more than forty years. It wasn’t called IoT back then, because there really wasn’t our version of the internet back then. Most telemetry was gathered using wired systems and the data was stored directly onto servers that sat on the factory floor.
As IoT evolved it moved from this client server model to a client cloud model. In both of these cases, discovering insights in the data required the data processing to be managed far from the device. Devices just stupidly sent telemetry and any intelligence was either done at the server or the cloud. Automated control systems managed working directly with the operator or machinery.
Edge analytics allows for us to shorten that cycle. By pushing intelligence down to the device, we now have the option to react to telemetry as it’s gathered from the source. This allows a machine to shut itself off without needing a connection to a server or the cloud. Working with the data directly on the device provides a few other benefits as well, like reduced data transfer to the cloud, greater security for sensitive data, and more automated behaviors from devices.
The primary purpose of collecting any type of data is to derive actionable insights from that data. Azure provides a number of tools for accomplishing these tasks, but there are a few things it’s important to understand if you want to make the most of your data and your overall IoT systems.
Standard IoT Solutions and Edge IoT Solutions
I touched on the evolution of IoT solutions earlier in this article, but I want to make it clear that you rarely jump directly into an edge solution architecture. You normally start with the foundation for an edge solution, but like any good modern development process, you take incremental steps to arrive at your solution.
An early phase of capturing data and processing that data in the cloud will look more like our old client server model. Devices send telemetry data to the cloud where it’s captured in a data storage resource like Azure Data Lake. Data engineers and machine learning engineers use the data to derive insights (typically using time-series forecasting) and produce either static code or ML models to make the data actionable. A cloud service like Event Grid is called from the code to take some type of action like sending an alert to a machine operator or firing off some type of automated system.
This is an acceptable model when you’re working with very few devices and only a handful of models.
But what happens when your have hundreds or thousands of devices and models? Azure can definitely handle the data load, but do you want to shoulder that expense? And what about delays that are inherent to all distributed systems? Can you afford for your machine operator to not receive an important maintenance alert on a machine?
As your evolve you will eventually move from the traditional IoT platform to an IoT edge solution, like Azure IoT Edge.
Azure IoT Edge Architecture
To deploy and develop edge analytics solutions you’ll need an architecture designed for edge analytics. Azure provides two primary IoT platforms for Azure IoT Edge.
Azure IoT Central is designed to be the perfect place to begin your IoT journey. And Azure IoT Hub, is the next step on your Azure IoT path when you have a more mature IoT practice and many more devices to manage.
The typical architecture for edge IoT solutions is an edge device, and edge gateway, and the cloud IoT solution. Deployment and device management is typically handled at the cloud, but because you can now perform edge device chaining, it is possible to accomplish some of these tasks from parent edge devices.
As a developer of IoT edge solutions, there are a handful tools you’ll want to understand. I won’t go into detail, but containers, Azure IoT Hub or Central Client SDKs, and Device Twins are a good place to start.
Key Points to Remember
- Edge analytics allow you to improve security, reduce latency, and save on cloud costs
- Edge analytics development is typically an incremental development process that evolves from traditional IoT solutions to edge solutions
- Edge analytics requires a specific type of architecture and Azure provides his in two different platforms; Azure IoT Central for beginning your IoT journey and Azure IoT Hub for more practiced IoT development teams