

What is Fog Computing ?
The fog extends the cloud to be closer to the things that produce and act on IoT data .
These devices, called fog nodes, can be deployed anywhere with a network connection.
Any device with computing, storage, and network connectivity can be a fog node. Examples include industrial controllers, switches, routers, embedded servers, and video surveillance cameras.
In simple, its a connection between cloud and your internal network , that processes and stores the data .
Why Do We Need Fog Computing ?
Low-Latency Network Connections : Low-Latency Network Connections between devices and analytics endpoints.
Low Bandwidth : reduces the amount of bandwidth needed compared to if that data had to be sent all the way back to a data center or cloud for processing.
Analysis of Data : It can also be used where there is no bandwidth connection to send data.
Examples of usage -
Connected Cars: The advent of semi-autonomous and self-driving cars will only increase the already large amount of data vehicles create. Having cars operate independently requires a capability to locally analyze certain data in real-time, such as surroundings, driving conditions and directions. Other data may need to be sent back to a manufacturer to help improve vehicle maintenance or track vehicle usage. A fog computing environment would enable communications for all of these data sources both at the edge (in the car), and to its end point (the manufacturer).
Real-time analytics : A host of use cases call for real-time analytics. From manufacturing systems that need to be able to react to events as they happen, to financial institutions that use real-time data to inform trading decisions or monitor for fraud. Fog computing deployments can help facilitate the transfer of data between where its created and a variety of places where it needs to go.

Smart cities : and smart grids Like connected cars, utility systems are increasingly using real-time data to more efficiently run systems. Sometimes this data is in remote areas, so processing close to where its created is essential. Other times the data needs to be aggregated from a large number of sensors. Fog computing architectures could be devised to solve both of these issues.

How does Fog Computing Work?
A fog computing fabric can have a variety of components and functions. It could include fog computing gateways that accept data IoT devices have collected. It could include a variety of wired and wireless granular collection endpoints, including ruggedized routers and switching equipment. Other aspects could include customer premise equipment (CPE) and gateways to access edge nodes. Higher up the stack fog computing architectures would also touch core networks and routers and eventually global cloud services and servers.
The OpenFog Consortium, the group developing reference architectures, has outlined three goals for developing a fog framework. Fog environments should be horizontally scalable, meaning it will support multiple industry vertical use cases; be able to work across the cloud to things continuum; and be a system-level technology, that extends from things, over network edges, through to the cloud and across various network protocols.
Fog Computing vs Cloud Computing
Cloud - A Network that connects same network or different Networks.
Fog - A part of the network that connects same Cloud and Local Datacentre.
Fog computing is a part of Cloud Computing.
Fog Computing vs Edge Computing
Fog computing as the way data is processed from where it is created to where it will be stored.
Edge computing refers just to data being processed close to where it is created.
Fog computing encapsulates not just that edge processing, but also the network connections needed to bring that data from the edge to its end point.
edge computing is a component, or a subset of fog computing.
