Fog computing, also known as fog networking or fogging, is a decentralized computing infrastructure in which data, compute, storage and applications are distributed in the most logical, efficient place between the data source and the cloud. Fog computing essentially extends cloud computing and services to the edge of the network, bringing the advantages and power of the cloud closer to where data is created and acted upon.
The goal of fogging is to improve efficiency and reduce the amount of data transported to the cloud for processing, analysis and storage. This is often done to improve efficiency, though it may also be used for security and compliance reasons.
The metaphor fog comes from the meteorological term for a cloud close to the ground, just as fog concentrates on the edge of the network. The term is often associated with Cisco; the company's product line manager, Ginny Nichols, is believed to have coined term. "Cisco Fog Computing" is a registered name; fog computing is open to the community at large.
The OpenFog Consortium was founded in November 2015 by members from Cisco, Dell, Intel, Microsoft, ARM and Princeton University; its mission is to develop an open reference architecture and convey the business value of fog computing.
How fog computing works
While edge devices and sensors are where data is generated and collected, they don't have the compute and storage resources to perform advanced analytics and machine-learning tasks. Though cloud servers have the power to do these, they are often too far away to process the data and respond in a timely manner. In addition, having all endpoints connecting to and sending raw data to the cloud over the internet can have privacy, security and legal implications, especially when dealing with sensitive data subject to regulations in different countries.
In a fog environment, the processing takes place in a data hub on a smart device, or in a smart router or gateway, thus reducing the amount of data sent to the cloud. It is important to note that fog networking complements -- not replaces -- cloud computing; fogging allows for short-term analytics at the edge, and the cloud performs resource-intensive, longer-term analytics.
Fog computing versus edge computing
Many use the terms fog computing and edge computing interchangeably, as both involve bringing intelligence and processing closer to where the data is created. However, the key difference between the two is where the intelligence and compute power is placed.
In edge computing, intelligence and power of the edge gateway or appliance are in devices such as programmable automation controllers.
Proponents of edge computing tout its reduction of points of failure, as each device independently operates and determines which data to store locally and which data to send to the cloud for further analysis. Proponents of fog computing over edge computing say it is more scalable and gives a better big-picture view of the network as multiple data points feed data into it.
Fog computing and the internet of things
Because cloud computing is not viable for many internet-of-things applications, fog computing is often used. Its distributed approach addresses the needs of IoT and industrial IoT, as well as the immense amount of data smart sensors and IoT devices generate, which would be costly and time-consuming to send to the cloud for processing and analysis. Fog computing reduces the bandwidth needed and reduces the back-and-forth communication between sensors and the cloud, which can negatively affect IoT performance.
Although latency may be annoying when sensors are part of a gaming application, delays in data transmission in many real-world IoT scenarios can be life-threatening -- for example, in vehicle-to-vehicle communications systems, smart grid deployments or telemedicine and patient care environments, where milliseconds matter. Fog computing and IoT use cases also include smart rail, manufacturing and utilities.
Hardware manufacturers, such as Cisco, Dell and Intel, are working with IoT analytics and machine-learning vendors to create IoT gateways and routers that support fogging.