Cloud computing refers to an architecture for the deployment of computational infrastructure. There are a set of definitions, software products. There are patterns for the well-defined hardware deployment, quality of services and so on... On the other hand, Fog Computing is associated with problems or peculiarities of infrastructure deployment in cloud computing where there may be indefinitions and/or ambiguities in the roles and localization of resources in use. Sometimes Fog Computing is used as a evolution of Cloud Computing that will be enable to support the infrastructure that IoT (Internet of Things) devices needs...
To me, the difference between Fog Computing and Cloud Computing is where and why processing is being done. Cloud computing typically takes place in a backend data center, with data being distributed from more or less centralized resources (e.g. compute, storage) to consumers on the edge of the network. Content distribution is an example. Fog Computing pushes processing like compute or storage close to data sources on the edge of the network. Requirements that drive such an architecture could be need for real time control (like in a factory) or the need to reduce process and reduce data before using it (managing video streams). IoT drives some of the use cases for this, as data in the IoT is generated at the edge rather than from a centralize cloud.
We talk about the drivers for fog computing vs cloud in the paper linked to below, and it has examples of how Fog and where Cloud can be used together. fit. I also suggest that you look at the documentation from the OpenFog consortium (also linked below)
Conference Paper An Architectural Vision for a Data-Centric IoT: Rethinking T...
Fog computing refers to the idea of placing servers (called fog devices) closer to the end users. These fog devices react quickly to changes in the streaming data that is coming from the end user. The fog device can also request certain computations to take place in the cloud servers (which are located far from the end user). Fog devices can also interact with other fog devices located in different areas. So basically the fog layer is basically a cloud that is close to the end user. There are also other terms that are used to refer to fog computing such as edge computing and cloudlets. These terms mean most of the times the same thing but some terms are used more often in a certain context. Mainly, fog devices are highly distributed and could be placed in different locations they also have less computing capabilities than those located far in the cloud (since the cloud can have larger number of servers as well as more powerful servers).
Fog computing is a smaller version of cloud computing, takes less amount of time to reach (lowers the delay ) and can perform lesser than cloud computing. Only uses is lowering the communication delay.
Fog is the answer to machine learning, an specification of predictive analysis near to the user segment.Cloud is more general, ambiguous and uncertain.
my figure (Cloud Computing, Fog Computing and Roof Computing in IoT) illustrates the differences between Cloud Computing and Fog Computing.
To enable such IoT services - as a type of "near-real-time IoT services" - in which only low latencies are possible, Fog Computing (FC) is used. In order to realize FC, fogs, a kind of "mini cloud", are installed in a multitude on the Internet border near Wireless Sensor and Actor Networks (WSANs). A cloud can use the services of multiple fogs to support time-critical functions locally (not far from the WSAN).
One can go one step further – namely: In order to enable "content-aware real-time IoT services", a new type of computing, the so-called Roof Computing (RC), can also be realized. The standardization committee IEEE develops the "Standard 1931.1": Standard for an Architectural Framework for Real-time Onsite Operations Facilitation (ROOF) for the Internet of Things. The Roof Computing can be considered as a special kind of Edge Computing.
To realize Roof Computing, ROOF components, a kind of "micro clouds", are installed in the IoT access area at Access Gatewys or even in WSANs. The provision of "content-aware real-time IoT services" creates a hierarchical, tree-like structure of networking clouds, fogs, and ROOFs.
When we talk about the technological advancements, Cloud computing is simply the greatest revolution in it, regarding to Fog computing, in broad vision, is an advantageous extension of Cloud computing. Although cloud in itself is the blessing but it too have some flaws, to overcome them,Fog computing was developed to address applications and services that do not fit the paradigm of the cloud Computing.
The difference is quite simple here, as the cloud we know is the centralized distributed platform while as Fog is decentralized.
Cloud Computing(Virtualization) is the solo technology while fog still has to depend on cloud, the storage limitations, it can not store bulky data too long.
Fog & Cloud, will offer the clients with Storage, Computational Processing Capabilities, Network, Agility, But according to Matt Newton ( CEO,Opto 22) Fog & Edge Computing push the"Intelligence & Processing Capabilities " closer to where the data originates.
Anatol Badach's diagram is too clear and informative regarding to your query dear Indrajeet Gupta
Cloud computing is the process of using remote servers or computers across the internet to perform data operations, storage and managing data instead of using a local computer or server. Cloud computing offers the delivery services directly over the internet. The services provided by Cloud computing can be of any types such as storage, databases, software, applications, network, servers etc.
Fog computing is the term coined by Cisco which means the extension of services beyond cloud computing to the enterprise’s requirements. Fog Computing is also called as Fog Networking or Fogging. It consists of a decentralized environment for computing in which the infrastructure provides storage, applications, data, and computations. Fog computing is used in IoT.
Fog computing utlizes computing resources closer to the users, i.e edge devices.
The terminology used for Fog and Cloud is analogous to actual cloud and fog in atmosphere. Cloud is much higher in the sky and fog is much more close to the earth surface and therefore much dense and covers bigger area.
Fog computing allows cloud resources to shed some of their load to edge devices and therefore fog complements the cloud.
For example, the sensors can collect the raw data, and instead of sending all the collected data to the cloud for further processing, fog computing can be utilized to perform some processing such as filtering, prediction, classification, etc etc. Then the final concise information can then be sent to the cloud for storage and further data analysis.
Fog computing is the extension of cloud computing. Cisco developed the network of Fog computing in 2014. Fog computing is also renown as Edge computing or fogging. It facilitates the process of the computer, networking services, and storage between cloud computing data centers and end devices. Fog computing makes the process of IoT more easy and efficient of cloud data processing.
Cloud computing process the data of remote server across the internet. It manages, stores and uses data from a local computer. When the user thinks that it is easy to use the vendor’s computer, service and storage then cloud computing fulfill the demand of the user. In cloud computing, there are Sass, IaaS and PaaS service. On the other hand, several types of a network like private cloud, public cloud, and hybrid cloud are available there.
https://www.cloudwebhostingtips.com
IoT is elaborate as the internet of things. The concept of IoT is each and every device connects to the internet and a server. The process can be used through fog computing or cloud computing. When the end user sends a request to the server through his/her smart gadget then the order will execute from anywhere in the world. Actually, IoT has the same concept of for computing or cloud computing.