Microsoft is simplifying IoT through the use of the Azure IoT Suite and the following components:
- Azure IoT Hub – the gateway that allows you to ingest data
- Azure Time Series Insights – this enables you to graphically analyze and explore data points
- Microsoft IoT Central; a fully managed IoT SaaS
- Azure IoT Edge; a virtual representation of your IoT device that can download code to a physical device and have it execute locally.
Microsoft also has a certification program to validate security on 3rd party products called Azure IoT Security. Azure IoT Edge is recently announced and is provided by Microsoft for enabling you to keep data close to the enterprise. IoT Edge forces the computing back out to the gateway device by enabling the the ability to push IoT modules called ‘module images’ from a repository on the Azure Cloud.
In the oilfields of Alberta, IoT is being leveraged to monitor pumpjacks to determine if they are working properly based on data sent to an IoT hub on the Azure cloud. In the next version of the IoT solution, the customer will send the a module image with custom code to the gateway device using IoT Edge.
In this model a gateway device will be placed on the Well site right next to the pumpjack. The Azure IoT Edge agent and runtime runs on the gateway, using local processing to find problems. If a problem is found then the pumpjack speed can be adjusted quickly while also logging the information to the cloud for maintenance.
The code or ‘module image’ in built in the repository within Azure. You also provision an IoT Edge Device in Azure which is a logical representation of your gateway. You define which modules will run on the gateway in Azure. The IoT Edge looks at the module image and pushes it out to the gateway which has the runtime environment and agent on it. When you deploy the physical device, you install the Azure IoT Edge runtime which pulls the modules down from the cloud. This is done without compromising security.
The IoT Edge agent on the device ensures the Edge module is always running and reports the health back to the cloud. The IoT Edge also communicates to the other IoT leaf devices which are other physical devices with sensors. The IoT runtime and agent can run on something as small as a physical Sensor or as large as a full blown Gateway hardware device.
You can run your own custom code within a module image or several Azure modules including Stream Analytics, Azure functions and AI and Machine learning. You can push down both Machine learning and cognitive functions as well. The underlying software that is the runtime is container based supporting the individual containers or image modules.