Edge and Fog Computing are state of the art architectural concepts for Industrial Internet of Things applications.
The three main components in the Internet of Things are
Things, Communication Networks and the Cloud.
In many current IoT systems, the actual things have limited
computing power and its main purpose is to transmit sensor data
over communication networks to a cloud backend, with minimum local data
processing involved.
All interesting processing and analytics happens in the cloud.
Edge and fog computing changes that.
Edge computing is a method of optimizing Internet of Things applications by performing data processing at the edge of the network, near the source of the data.
The simplistic approach of performing all processing in the cloud is not scalable and finds its limits as the number of devices sending data grows, or data volume from a device exceeds a certain amount. Sending a temperature sample every couple of minutes is one thing. Sending a continuous data stream from an accelerometer sampled 2000 times per second is another thing entirely.
Edge computing in the context of IoT simply means that data is processed at the place where it is generated. Preprocessing, filtering, analytics and even AI are done on the edge device. This helps reduce latency, data volumes and loads on cloud infrastructure, while at the same time improving responsiveness, robustness and resiliency of applications.
In Industrial Internet of Things applications, edge computing can be done on advanced Programmable Logic Controllers (PLCs), Programmable Automation Controllers (PACs), Industrial PCs or IoT Gateway devices.
Fog computing can be seen as an extension of edge computing. Computing, storage, control and networking functions are distributed along the thing-to-cloud continuum.
Fog computing means additional computing and networking layers between edge (or things) and the cloud. Like, in nature, fog exists between ground and clouds, fog computing sits between physical things and cloud computing. An interesting aspect of fog computing is that it borrows concepts from cloud computing and brings them closer to the things. Examples are virtualization and orchestration, where computing workloads can be dynamically distributed across so-called fog nodes.
macchina.io enables edge and fog computing applications. Combining JavaScript for high-level logic, on-device workflows and rule processing with C++ for high-performance on-device processing and analytics, as well as low-level integration with devices and communication protocols delivers maximum flexibility. macchina.io's dynamic deployment system based on "bundles" enables dynamic distribution of software components to edge and fog nodes.
Contact us to discuss how macchina.io can boost your next IoT device software project.