John is an Australian farmer who had serious problems with rabbits in his wide farm. There are many rabbits in Australia and they consume crops of his farm too quickly. He spends most of his day checking all the area of his farm again and again, to see if rabbits have shown up. Despite the fact that inspection is not easy, there is also a possibility that the rabbits might appear right after John’s inspection. Considering the size of the John’s farm and the need to check the farm continuously, which was not an effective strategy, he finally decided to put an end to this situation and discussed this issue with a local IT company.
The IT company equipped the farm with sensors, each having a coverage radius of about 2 meter, able to perceive weight, movement speed and sound of any object in that area. These sensors uploaded the data to a Cloud for processing. In fact, the IT company installed its developed software on the Cloud, to analyze the received data streams (weight, movement speed and sound) and to decide whether this data is generated by a rabbit. If the software decides that the received data from a sensor is generated by rabbit(s), it sends an alarm to John, including the location of that sensor. What happens after that depends on John’s choice: killing the rabbit and making a happy meal or releasing it.
The idea of installing the rabbit detector software on the Cloud was a smart idea as the sensors just grab the data and the computation is performed in a central place. As the sensors just grab the data and do not do any analysis, they are tiny and cheap.
The system works well, but John is not 100% happy with two aspects: Latency and Cost.
The Cloud server is not located near John’s farm, not even in the city near to him, and he receives the analysis result of the sensors data with delay, after the rabbits have destroyed a significant amount of crops. Moreover, he has to pay for the internet traffic the system generates to send and receive data between his farm and the remote cloud server.
He discussed the issue with that IT company and they confessed that at the time they installed the solution, they were not aware of Fog Computing! They decided then to upgrade the service to leverage the benefits of the fog approach.
The IT company then added some Fog nodes in John’s farm. The Fog nodes were small computing units which were capable of running the rabbit detection analysis based on the received data from the sensors. These Fog nodes could do this analysis without having to send the sensed data to the cloud, but they still needed the cloud for the analysis of the data about the whole farm situation, such as the number of times rabbits detected within a month, the time interval between rabbit attack detections and other analysis which were about the whole farm rather than a single area of the farm.
By inserting Fog nodes in the system, the overall system delay decreased, as the Fog nodes were close to the sensors and they were capable of detecting rabbits. Moreover, the data traffic decreased, because there was no need to send the whole data to a Cloud which is not necessarily in Australia. No need to mention that it yielded to lower costs.
Another fact which worth mentioning is that John never liked the idea of sending his farms data to a place where he did not who may access it.
As can be seen in the above example, use of Fog nodes in combination with cloud, may well decrease the cost and delay of the system. It can also improve security in some aspects.
Fog (edge) computing is about doing local things locally and keeping the rest of the work to the Cloud. Thus, it is not a technology to replace the Cloud but to improve it by moving data processing closer to where data is generated and/or used. According to Gartner, 50% of companies will use Fog computing by 2022 whereas this amount is 10% in 2017. It is also one of the top 10 strategic technology trends in 2018.
One of the main use cases of Fog computing is in IoT applications. Due to the fact that in IoT, smart things can produce data and this data may need some processing, it makes sense to use Fog computing to do part of the computation locally. The application of Fog computing is not limited to IoT, but every system that has the problem of huge data to be processed with low latency and high usage of bandwidth can be a good candidate to benefit from the Fog approach. Of course fog computing also brings about some complexity and drawbacks: in the next posts of this series we will discuss these aspects in further detail, together with some real-world case studies.
If you want to know more about fog computing or if you want to understand how fog can help you, drop us a line at firstname.lastname@example.org