When it comes to the Internet of Things (IoT), terms like fog computing and edge computing come up frequently.
Cloud computing is a great solution when you know that you have full, uninterrupted access to a cloud server capable of processing and transmitting data quickly to the end device.
However, IoT devices have to be able to reliably perform at task – sometimes even in the presence of service interruption – localized processing and storage capability becomes increasingly essential. This is where fog and edge computing comes in, and while these two terms have been largely used interchangeably in the industry, there are some important differences between the two.
To better explain how these computing methods differ, we will examine a simple use case of a smart, robotic vacuum cleaner. Let’s imagine that this vacuum cleaner is tasked with picking up messes as soon as they are detected. There are several sensors placed throughout the home that can spot dirt and debris, triggering the vacuum to action.
Fog computing focuses processing efforts at the local area network end of the chain. Data is gathered, processed, and stored within the network by way of an IoT gateway or fog node. Information is transmitted to this gateway from various sources in the network where it is processed and pertinent data, as well as any additional commands, are transmitted back out to the necessary devices.
Fog computing has the advantage of enabling a single, powerful processing device to process data received from multiple end points and send information exactly where it is needed. It offers lower latency than a cloud processing solution where data would be sent and received from the cloud.
When compared to edge computing, fog computing is more scalable as it gives a centralized processing body a more big-picture view of the network as it has multiple data points feeding it information.
Fog computing isn’t necessarily all or nothing. Individual pieces in the chain can typically process information at a limited capacity solo, but require an active connection to make more complex and dynamic decisions.
As it relates to our vacuum, a centralized fog node or IoT gateway would receive information continuously from the dirt-detecting sensors, process that information, and deploy the vacuum when and where it determines that dirt is present.
Edge computing takes localized processing a bit farther, pushing these efforts closer to the data source(s). Instead of doing the bulk of processing in a centralized server, each device on the network would play its own role in processing the information.
This is achieved by connecting these sensors to programmable automation controllers (PAC) which handle processing, communication, and more.
This poses an advantage over fog computing as there are inherently less points of failure. Each item in the chain is more independently operated and capable of determining what information should be stored locally and what needs to be sent to the cloud for further use.
In our vacuum scenario, an edge computing solution would enable each dirt-detecting sensor to determine itself whether or not dirt is present and signal the vacuum alerting it of such.
These two computing solutions offer similar, yet definitively different methods of gathering, processing, and sending data. Each has its own set of advantages and disadvantages that make them preferable in various cases. As the Internet of Things continues to expand into more areas of our lives, we’re sure to hear more about them for years to come.