Edge Computing vs Fog Computing: What are the Key Differences?

Edge Computing and fog computing share a lot of similarities. Essentially, both are enablers of data traffic to the cloud. As we explained in our blog about what edge servers are, edge computing happens where data is being generated, right at “the edge” of a given application’s network. This means that an edge computer is connected to the sensors and controllers of a given device and then sends data to the cloud. However, this traffic of data can be massive and inefficient, as irrelevant data might be sent to the cloud as well as the useful information that’s actually needed. Unfortunately, even the cloud has its limits in terms of capacity, security and efficiency when connected directly to edge devices. Enter fog computing.

Fog Computing in a Nutshell

Fog computing is a compute layer between the cloud and the edge. Where edge computing might send huge streams of data directly to the cloud, fog computing can receive the data from the edge layer before it reaches the cloud and then decide what is relevant and what isn’t. The relevant data gets stored in the cloud, while the irrelevant data can be deleted, or analyzed at the fog layer for remote access or to inform localized learning models.

A good example of fog computing would be an embedded application on a production line, where a temperature sensor connected to an edge server would measure the temperature every single second. This data would then be forwarded to the cloud application for monitoring of temperature spikes. Imagine that all of the temperature measurements, every single second of a 24/7 measurement cycle are sent to the cloud. With a fog layer, the edge server would first send the data to the fog layer over a localized network. The fog server would receive this data and, according to certain parameters, decide whether it is worth sending on to the cloud, hence reducing the traffic. For simple temperature readings, this data savings might seem negligible, but imagine the impact if these constant data streams were filled with much more complex information or large files, like images or video. The impact on bandwidth and latency in being selective about what data is sent to the cloud can be massive depending on the application.

What are the Benefits of Fog Computing?

Now that we know that fog computing is an extra layer between the edge layer and the cloud layer, what are the benefits of having that extra layer? The initial benefit is efficiency of data traffic and a reduction in latency. By implementing a fog layer, the data that the cloud receives for your specific embedded application is a lot less cluttered. Where a cloud would have to first weed through a pile of unnecessary data before taking any action or returning results, it can now act directly upon the data that it receives from the fog layer. When looking at the bigger picture, there are a lot more benefits. The amount of storage you would need for your cloud application would be a lot lower, since the cloud would now only store and process relevant data. The data transfer would be faster as well, since the volume of data being sent to the cloud is significantly reduced.

What are the Downsides of Fog Computing?

One thing that should be clear, is that fog computing can’t replace edge computing. However, edge computing can definitely live without fog computing. Thus, the downside is that fog computing requires an investment. It is a more complex system that needs to be integrated with your current infrastructure. This costs money, time, but also knowledge about the best solution for your infrastructure. Fog computing isn’t an ideal solution in every scenario, but for some applications, the benefits mentioned above may be attractive for those currently using a direct edge to cloud data architecture.

Do you use the same Hardware in both Fog Computing and Edge Computing?

In terms of hardware and the type of computers you can use, you can easily use an Edge Server for the same purpose as a Fog Server. The reason for this is that the difference is in where and how data is being collected and processed, not necessarily the hardware features and capabilities. If you take the Karbon 700 Expanded High-Performance Rugged Edge Computer for example, which was initially designed for Edge Computing, it would be just as suitable for Fog Computing. Of course, every project is unique, so it’s important to have a clear view of your overall project requirements when selecting and configuring any hardware solution.

Edge Computing vs Fog Computing in a nutshell

In a nutshell, edge computing is data computation that happens at the network’s edge, in close proximity to the physical location creating the data, while fog computing acts as a mediator between the edge and the cloud for various purposes, such as data filtering. In the end, fog computing can’t replace edge computing, while edge computing can live without fog computing in many applications.

Have questions about hardware requirements for edge or fog computing? Talk to one of our specialists to find out more about OnLogic’s hardware offerings.