Jun 22, 2016

What is fog computing?

I’m familiar with cloud computing, but I’ve run across an unfamiliar term recently: fog computing. I didn’t really understand the difference between the two. Is fog computing related to cloud computing, or is it a distinct form of distributed network?
Fog computing or fog networking, also known as fogging, is an architecture that uses one or a collaborative multitude of end-user clients or near-user edge devices to carry out a substantial amount of storage (rather than stored primarily in cloud data centers), communication (rather than routed over the internet ...
The metaphor comes from the fact that fog is cloud close to the ground, just as fog computing concentrates processing at the edge of the network. In Fog computing data processing and applications are concentrated in devices at the network edge rather than existing almost entirely in the cloud. That concentration means that data can be processed locally in smart devices rather than being sent to the cloud for processing.

In a typical Internet of Things (IoT) scenario, things at the edge can create significantly large amounts of data. Transmitting all that data to the cloud and transmitting response data back puts a great deal of demand on bandwidth, requires a considerable amount of time and can suffer from latency issues. In a Fog Computing environment, much of the processing would take place closer to the edge in a router device, rather than having to be transmitted to the Cloud.

Fog Computing extends the Cloud Computing paradigm to the edge of the network. While fog and cloud use the same resources (networking, compute, and storage) and share many of the same mechanisms and attributes (virtualization, multi-tenancy) the extension is a non-trivial one in that there exists some fundamental differences stemming from the reason Fog Computing was developed: to address applications and services that do not fit the paradigm of the Cloud.

Two recent presentations from PrismTech CTO Angelo Corsaro provide useful information on the differences between Cloud and Fog Computing (http://www.prismtech.com/products/vortex/resources/youtube-videos-slideshare/fog-computing-vortex and http://www.prismtech.com/products/vortex/resources/youtube-videos-slideshare/Cloud-Fog-Mist-IoT-Fluid-Architectures ).
Well, contrary to what the term might imply, "fog computing" isn't used to describe a foggy system -- one that's a mixed-up jumbled mess.

According to the OpenFog Consortium (http://www.openfogconsortium.org), whose members include Cisco, Dell, Intel and Microsoft, among others, fog computing is "a system-level horizontal architecture that distributes resources and services of computing, storage, control and networking anywhere along the continuum from Cloud to Things."

Looking for a translation into plain English? Word Spy (http://wordspy.com/index.php?word=fog-computing) defines fog computing as "data storage, applications, processing, and other computing services delivered from nearby devices rather than from the cloud" and then explains that the term "fog" is used because fog is "a cloud that's near to the ground" and therefore the term fog computing implies that "the data and services are 'close to' the requesting user or device," whereas the use of the word "cloud" in cloud computing conveys the sense that "the data and services are ... 'far away' from the person or device requesting them."

Word Spy further explains that fog computing is also known as edge computing, and Wikipedia (https://en.wikipedia.org/wiki/Fog_computing) agrees, defining fog computing, in part, as "an architecture that uses one or a collaborative multitude of end-user clients or near-user edge devices to carry out a substantial amount of storage ... communication ... and control, configuration, measurement and management."

Cisco has been promoting the concept for a while (http://www.computerworld.com/article/2487064/cloud-computing/cisco-s--fog-computing--aims-to-bridge-clouds-and-the-internet-of-things.html).
Answer this