BACKGROUND IMAGE: iSTOCK/GETTY IMAGES
Fog computing is a decentralized computing infrastructure in which data, compute, storage and applications are located somewhere between the data source and the cloud. Like edge computing, fog computing brings the advantages and power of the cloud closer to where data is created and acted upon.
Some people use the terms fog computing and edge computing interchangeably, because 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 a fog environment, intelligence is at the local area network (LAN). Data is transmitted from endpoints to a gateway where it is then transmitted to sources for processing and return transmission. In edge computing, intelligence and power of the edge gateway or appliance are in devices such as programmable automation controllers.
Proponents of edge computing praise its reduction of points of failure, because 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.
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.
This is often done to improve efficiency, though it may also be used for security and compliance reasons.
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.
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. Popular fog computing applications include smart grid, smart city, smart buildings, vehicle networks and software-defined networks.
Fog computing advantages and disadvantages
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. 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.