Fog Computing

Fog Computing Definition

The term fog computing, originated by Cisco, refers to an alternative to cloud computing. This approach seizes upon the dual problem of the proliferation of computing devices and the opportunity presented by the data those devices generate by locating certain resources and transactions at the edge of a network.

By locating these closer to devices, rather than establishing in-cloud channels for utilization and storage, users aggregate bandwidth at access points such as routers. This in turn reduces the overall need for bandwidth, as less data can be transmitted away from data centers, across cloud channels and distances.

Data storage is another important difference between cloud computing and fog computing. In fog computing less data demands immediate cloud storage, so users can instead subject data to strategic compilation and distribution rules designed to boost efficiency and reduce costs.

By moving real time analytics into a cloud computing fog located closer to devices, it is easier to capitalize on the existing computing power present in those devices. This improves user experience and reduces burdens on the cloud as a whole. Fog computing is especially important to devices connected to the internet of things (IoT).

Fog Computing hierarchical diagram showing the relationship between cloud data centers, nodes and edge devices.
Image from Varnish Software


What is Fog Computing?

Decentralization and flexibility are the main difference between fog computing and cloud computing. Fog computing, also called fog networking or fogging, describes a decentralized computing structure located between the cloud and devices that produce data. This flexible structure enables users to place resources, including applications and the data they produce, in logical locations to enhance performance.

The structure's goal is to locate basic analytic services at the edge of the network, closer to where they are needed. This reduces the distance across the network that users must transmit data, improving performance and overall network efficiency.

Fog computing security issues also provide benefits for users. The fog computing paradigm can segment bandwidth traffic, enabling users to boost security with additional firewalls in the network.

Fog computing maintains some of the features of cloud computing, where it originates. Users may still store applications and data offsite, and pay for not just offsite storage, but also cloud upgrades and maintenance for their data while still using a fog computing model. Their teams will still be able to access data remotely, for example.

Fog Computing vs Edge Computing

The cloud allows users to access solutions for computing, connectivity, and storage cost-effectively and easily, but it is a centralized resource. This can mean performance issues and delays for data and devices that are located far from the centralized cloud.

The goal of edge computing is to bring the data sources and devices closer together, eliminating the time and distance to process. In theory, this in turn improves performance and speed of applications and devices.

Fog computing, a term created by Cisco, also involves bringing computing to the network's edge. However, it also refers to the standard for how this process should, ideally, work.

By moving storage and computing systems as near as possible to the applications, components, and devices that need them, processing latency is removed or greatly reduced. This is especially important for Internet of Things-connected devices, which generate massive amounts of data. Those devices experience far less latency in fog computing, since they are closer to the data source.

Another way to think about the difference between edge computing and fog computing is that fog is the standard that enables repeatable, structured, scalable performance within the edge computing framework. Edge computing is really a subtype of fog computing that means that data is generated, processed, and stored close together. Fog computing includes edge processing as well as the necessary infrastructure and network connections for transporting the data.

This is because both fog and mobile edge computing aim to reduce latency and improve efficiencies, but they process data in slightly different locations. Edge computing typically happens directly where sensors are attached on devices, gathering data—there is a physical connection between data source and processing location.

Fog computing does close the distance between the processing location and the data source, but it does this by conducting edge computing activities within an IoT gateway or fog node with LAN-connected processors or within the LAN hardware itself. The result is more physical distance between the processing and the sensors, yet no additional latency.

Fog Computing Advantages and Disadvantages

Advantages of fog computing include:

Minimize latency. Keeping analysis closer to the data source, especially in verticals where every second counts, prevents cascading system failures, manufacturing line shutdowns, and other major problems. The ability to conduct data analysis in real-time means faster alerts and less danger for users and time lost.

Conserve network bandwidth. Many data analytics tasks, even critical analyses, do not demand the scale that cloud-based storage and processing offers. Meanwhile, connected devices constantly generate more data for analysis. Fog computing eliminates the need to transport most of this voluminous data, saving bandwidth for other mission critical tasks.

Reduce operating costs. Processing as much data locally as possible and conserving network bandwidth means lower operating costs.

Enhance security. Whether in transmission or being stored, it is essential to protect IoT data. Users can monitor and protect fog nodes using the same controls, policies, and procedures deployed across the entire IT environment and attack continuum to provide enhanced cybersecurity.

Improve reliability. Because IoT devices are often deployed under difficult environmental conditions and in times of emergencies, conditions can be harsh. Fog computing can improve reliability under these conditions, reducing the data transmission burden.

Deepen insights, without sacrificing privacy. Instead of risking a data breach sending sensitive data to the cloud for analysis, your team can analyze it locally to the devices that collect, analyze, and store that data. This is why the nature of data security and privacy in fog computing offers smarter options for more sensitive data.

Boost business agility. Only by knowing what resources customers need, where they need those resources, and when the support is needed can businesses respond to consumer demand quickly. Fog computing allows developers to develop fog applications rapidly and deploy them as needed. Fog computing technology also allows users to offer more specific services and solutions to their customers and locate data and data tools where they are best processed—all based on existing computing capabilities and infrastructure.

Fog computing challenges include a heavy reliance on data transport. The rollout of the 5G network has improved this issue, but limited availability, lower speeds, and peak congestion are all issues. Both speed and security at fog nodes are other potential issues that demand attention.

Fog Computing Platform and Applications

A smart electrical grid is a use case for fog computing. In order to function efficiently, smart cities must respond to rising and falling demands, reducing production as needed to stay cost-effective. This means that smart grids demand real time electrical consumption and production data. These kinds of smart utility systems often aggregate data from many sensors, or need to stand up to remote deployments. Either way, fog computing architecture is an ideal solution.

Smart transportation networks are another example of a fog computing application. Each connected vehicle, traffic device, and even street on this kind of grid generates a stream of data. Obviously this means a tremendous amount of data analysis in real-time is critical to avoid accidents, and a fog computing approach is essential to sharing the limited mobile bandwidth that is available.

Fog computing and IoT generally is a rich area. Connected manufacturing devices with cameras and sensors provide another great example of fog computing implementation, as do systems that make use of real-time analytics.

How Does Fog Computing Work?

Fog computing implementation involves either writing or porting IoT applications at the network edge for fog nodes using fog computing software, a package fog computing program, or other tools. Those nodes closest to the edge, or edge nodes, take in the data from other edge devices such as routers or modems, and then direct whatever data they take in to the optimal location for analysis.

In connecting fog and cloud computing networks, administrators will assess which data is most time-sensitive. The most critically time-sensitive data should be analyzed as close as possible to where it is generated, within verified control loops.

The system will then pass data that can wait longer to be analyzed to an aggregation node. The characteristics of fog computing simply dictate that each type of data determines which fog node is the ideal location for analysis, depending on the ultimate goals for the analysis, the type of data, and the immediate needs of the user.

Does OmniSci Offer a Fog Computing Solution?

The Omnisci platform's foundation is OmniSciDB, the fastest open-source, analytics database in the world. Using both CPU and GPU power, OmniSciDB returns SQL query results in milliseconds—even through the analysis of billions of rows of data.

OmniSciDB delivers a combination of advanced three-tier memory management, query vectorization, rapid query compilation, and support for native SQL. With extreme big data analytics performance alongside those benefits, the platform is ideal for fog computing configurations.