Fog computing (a term coined by Cisco), also known as edge computing, earned the name because it works on the edge of the main cloud, it works in a little mini fog composed of sensors and devices that can circumvent the big cloud because, for example, the data is so immediate or requires a more local level of security.
In fog architecture, IoT devices can make decisions themselves, under certain situations, without consulting the cloud. Fog computing pushes networking, storage, and computing to the edge of the cloud.
If you’ve been googling “fog computing,” trying to get a solid understanding of what it is, you’ve probably noticed most articles contain very basic, general information (like the start of this post). With this blog post, we want to give you both a comprehensive definition and an in-depth explanation of how fog computing architecture applies to the different layers of the IoT computing model.
The best way to explain Fog Computing is by way of an analogy.
Fog computing does for the IoT what Hadoop did for big data, which is to bring computing power to the data instead of shipping the data to the central computer. Hadoop is what Google and Yahoo use to run their search engines. With Hadoop, each data node is both a computer and a storage device.
This distributed approach to computing has lots of added benefits including reducing latency, letting the system scale without limit, and letting the system keep running when the central computer or network goes down.
This idea works well with IoT systems. You push decision making down to the IoT devices when it is practical and logical to do so. That frees them from their dependence on the cloud while still allowing the cloud to oversee the enterprise system.
One part of IoT already works that way: networks, particularly industrial and home automation systems.
Sensors and controllers do not always use an IP network. Instead, they use protocols like z-Wave and ZigBee that do not need any kind of network gateway or routers. They are designed to run in relative isolation. They often work in peer-to-peer fashion or in what is called a mesh network. There is no central control (like a cloud); each device hands off its signal to its neighbor. Only the device at the end of the chain needs a network connection.
That is how networking works at the IoT endpoint. What about computing and storage?
An IoT device gathers data, transmitting it for control or analytics purposes. However, it is not always necessary for a device to transmit instructions and data if what needs to be done locally can be determined by the local device – ie, on the edge of the cloud.
Consider the example of a machine that is overheating. The engine has a temperature gauge and some kind of computing card, like a $40 Intel Edison, plus a network card or transmitter. That card is a small computer running Linux, which is the same operating system the big computers in the cloud use. The code running could call a webservice API over the network to ask the ERP system what to do or, using fog computing, make its own decision and shut the machine off without having to wait for instructions from the cloud.
Making a decision at the computing end point is the definition of fog computing.
After the engine shuts off, the next step is to send data about the overheating up to the cloud, creating a maintenance work order in the ERP system. Data about the broken device feeds the predictive preventive maintenance model used across the enterprise..
An architecture like this has all the benefits of the distributed Hadoop file system. The endpoints are more reliable, as they do not need a constant online connection to the cloud. Fog computing lets the system scale because the computing cards increase the overall computing capacity of the enterprise IoT system.
In addition to increased efficiency, fog computing also handles storage. For example, in a streaming application system, like machine streaming data, data is held in the memory of the application. It never shuts off, so there is nothing to save to disk.
There is, however, one part of the IoT system that you cannot push to the edge: the IoT cloud. The IoT cloud is the platform that provisions IoT devices to the network, reboots them when necessary, sends out operating system updates, and marks them offline as needed.
The application cloud is the central computing apparatus. You can think of that as being RackSpace, Amazon EC2, etc. That is where the analytics and operational software resides.
But in a fog environment, part of that business logic is embedded in the IoT device itself, in its local computer or in a hub somewhere near the device. For example, the hub in an electrical substation would be making decisions over devices under its control.
Hopefully we’ve helped the fog clear, for you. In summary, the fog computing architecture pushes business logic down to computing endpoints, thus reducing their dependency on any central point (like a cloud) and speeding up their operation. It also makes the system more reliable and increases computing power by putting more CPUs and memory to work. Fog computing is a great way to benefit from the IoT, contact relayr to get started!