One of the most common misconceptions about fog computing is that it’s just another term for edge computing. That’s like saying fruit is just another word for apple. There is overlap, sure. But the word apple doesn’t begin to convey all the possibilities you’ll find in fruit!
Similarly, processing data on edge devices is part of the fog story, but only begins to cover the possibilities in the cloud-to-things continuum.
Fog computing is an end-to-end horizontal architecture that distributes computing storage, control, and networking functions closer to users along the cloud-to-thing continuum. The word “edge” might refer to the edge network as opposed to the core network, with equipment such as edge routers, base stations, and home gateways. Fog represents a seamless array of computing services from the cloud to “things”, rather than treating the network edges as isolated computing platforms.
Why does it make a difference?
Consider a distributed video analytics solution that you might find in dense multi-camera installations such as airports or casinos. Trying to do all the analytics in smart cameras or on a single layer of edge nodes adjacent to them leads to problems in capacity, security, reliability and scalability. It also causes difficulty in hosting a large enough number of cameras on a single compute node to have adequate context to track a bad actor moving across the venue.
However, moving to a fog architecture with a hierarchy of fog nodes in several layers allows different parts of the video analytics algorithms to run in different layers of the fog. For example, fog nodes closest to the cameras may do contrast enhancement and feature extraction, and pass the partially processed video to the next layer of nodes. The lowest fog layer does the mundane (but computationally intensive) processes. The next layer of nodes may do things like object detection and face recognition. It can have a much higher performance processor (perhaps with a GPU farm), so it can process and correlate the inputs from many more cameras, and therefore generate more accurate analytics results spanning the whole venue. Even higher layers of fog nodes could do heuristic processing such as threat detection or access control.
A single layer edge architecture is not really suited to this sort of implementation, because the individual processors trying to do the end-to-end algorithm would run into serious CPU throughput, memory bandwidth, and network capacity bottlenecks. The multi-layer fog hierarchy described above would be ideally suited for this processing load, and is much more scalable.
Another advantage of fog is in the levels of security it supports. If a low-level fog node is compromised, someone may be able to intercept a few streams of extracted video, which is not too big a deal. However, the high-level fog nodes are where the really security critical applications—such as detecting cheats in a casino, or abandoned packages in an airport—are located. A fog architecture provides strong protection at the higher levels, so these functions can be especially secure.
There are similar examples in drone or military IoT networks, where low-level fog nodes implement low-level functions and the highest levels of the fog hierarchy are reserved for the mission critical, highly secure portions of the control infrastructure. With edge, you put all your eggs in one basket, and if it fails or is hacked, the entire application is compromised.
A final advantage fog allows is a second dimension of fault tolerance. Edge nodes are typically one layer thick, and the only alternative if one node fails is to try to free up space on a peer edge node. You can do that in a hierarchical fog architecture too, but there is also the option of pushing the load off the failed node to nodes at higher or lower levels of the fog hierarchy. This can improve performance, recovery time, and system efficiency.
To be truly transformational, the next generation of 5G and Internet of Things applications need more than edge processing. They need the flexibility and scalability of fog, extending all the way from the cloud to the edge.