This blog will explain what Edge Computing is and why we need this. We also talk a little bit about the broader concept of Fog Computing. All this related to the Azure IoT Reference Architecture.
Why Edge Computing is needed?
In Internet-of-Things (IoT) we usually need to process a large amount of data coming from sensors. We can send all this data directly to the cloud and process it there, but this could be not cost efficient (because cloud usage costs are usually monetized by the number of messages). To solve this a smart component should me added which is capable of storing data for some time and doing aggregations on that data. So only the aggregated values (for example: minute values instead of second values per sensor) needs to be sent to the cloud.
Filtering is another way of reducing the amount of data to be sent to the cloud. For example when an motor is not running it doesn’t make sense to send any sensor data. When the sensor isn’t integrated with this motor it doesn’t know when its runs or not. In that case we can filter-out noise by checking if a measurement is below a particular level, so only values above this level are send to the cloud.
The smart component for doing all of this is called an Edge Computer, which is basically just an industrial PC. An industrial PC means that it doesn’t have any rotating parts (fanless), the case is industrial certified and has dust protection (IP40 or higher) and can be mounted (DIN-rail or rack). The processor can be AMD or Intel and the operating system usually will be Windows IoT Enterprise or a Linux distribution (like Ubuntu Server). The needed memory, storage and performance is dependent on the use case, but for most use cases a PC with moderated performance characteristics (for example Intel i5 with 4 GB memory and 125 GB SSD) will be enough.
Another use case for Edge Computing is when we want to be able to react quickly to anomalies (for example when and alarm condition is reached and a actuator should be triggered). The latency between the sensor and the cloud could be too high resulting in an alarm reaction time which is too long. In that case the anomaly detection and triggering of the actuator should be performed locally by the Edge Computer itself. So, the Edge Computer directly changes the status of the actuator and only needs to inform the cloud about this situation at a slower pace.
The third use case is video processing (= data from a CCTV). In this case the data volume can be very high which can result in cloud costs raise to the sky. An Edge Computer with special hardware (for example a Vision Processing Unit – VPU) is capable of doing local video analyses. This can be object recognition or anomaly detection. Only the result of this is send to the cloud.
The last use case we talk about is protocol transformation. In the previous blog (https://technology.amis.nl/2019/02/12/iot-is-silo-integration-using-azure-reference-architecture/) we already talked about the variety of protocols used in the field of Smart Buildings and Industry. An Edge Computer is needed in that case to do the protocol transformation. We will talk again about this topic later in this blog.
What does the Azure IoT Reference Architecture say about Edge Computing?
How an Edge Computer can be applied, the Azure IoT Reference Architecture can be helpful. The following picture shows how Devices can be connected to the cloud.
The following components are shown:
- Device: This is the sensor itself, here the data is created.
- Field Gateway: This is the Edge Computer as mentioned earlier in this blog.
- Custom Cloud Gateway: This manages the connection to the Azure data centers in a secure way (for example by VPN) and is more and less an security and connection management component. This also can be just a DMZ subnet with user defined security rules.
- Cloud Gateway: This is the Azure IoT Hub, entry point of the IoT Cloud Platform.
It shows different devices:
- Device which has an internet connection so it can interact directly with the Cloud Gateway (Azure IoT Hub).
- Devices which needs an Edge Computer to do all the fancy things already talked about.
- Device which is internet connected (same as 1) and needs to be connected to the Custom Cloud Gateway just for security reasons.
- Devices with an Edge Computer (same as 2) in between and needs to be connected to the Custom Cloud Gateway just for security reasons.
As you can see in the picture above also the label “IoT Client” is shown. These are the Open Source Software Development Kits (SDKs) to integrate with the Azure IoT Hub. You can make use of them to simplify the development work (because the SDK already implemented the boring stuff). A good general description of why to use these can be found here: https://azure.microsoft.com/en-us/blog/benefits-of-using-the-azure-iot-sdks-in-your-azure-iot-solution/
SDKs are available for almost every popular programming language (for example: Java, Javascript, Python and C). Underneath the SDK makes use of the REST APIs, MQTT or AMQP integration points of the IoT Hub.
How is connectivity managed?
Here the concept of Fog Computing arises. In the real world when clouds are low, just above the ground, we call this Fog. So Fog Computing bridges the cloud-to-things continuum.
Fog computing is an extension of the traditional cloud-based computing model where implementations of the architecture can reside in multiple layers of a network’s topology. However, all the benefits of cloud should be preserved with these extensions to fog, including containerization, virtualization, orchestration, manageability, and efficiency.
An good example of a Fog Node is the Custom Cloud Gateway as we have talked about earlier in this blog.
A good video explanation can be found here: https://youtu.be/tuo5Pxc4w3c
The concept of Fog Computing is only needed in complex IoT use cases. For example for an airport where lots of different things needs to be integrated with each other and with actuators. In that case we have to deal with a lot of different protocols and a lot of security related aspects. Fog Computing provides a layered approach to this so the network infrastructure become better scalable and manageable. For more details about this see the OpenFog Reference Architecture: https://www.openfogconsortium.org/ra/
For now this concludes this blog article. In the next blog we will have an more technical in-depth look at what Azure can bring more for the Edge.
This blog is brought to you by Conclusion Connect. Conclusion Connect is the IoT company of Conclusion and specialized in Industrial IoT and Smart Buildings.
For more information about our IoT services see https://www.conclusionconnect.nl/ or contact me.