Things are better in fog
It is interesting to see the way computing has evolved from mainframes to the current day.
The Mainframes:
Pre and post 1970’s was dominated with mainframes, till early 1980. All of the data crunching and analysis was done in centralized systems. Terminals were just data feeder and data rendering devices.
Micro and Mini Computers:
Move to 1980’s, minicomputers and microcomputers dominated the business. Much of the sales/market data, organization human resource data were stored on personal computers (PC). Tools and technologies evolved to help analysis of these data in a distributed and independent systems. A surprising amount of data analytics was done on spreadsheets. Data were stored in disaster/recovery servers, which were replicated in a distributed manner. Compute servers were dedicated and distributed. Moore’s law helped advent of powerful PC. There were minimal or no line of separation between the essential software for PC and a server.
Cloud computing:
Move two decades ahead, cloud evolved into the best computing infrastructure. Cloud computing in the present form was introduced around 2005 time frame. A centralized system, with ubiquitous access to shared hardware resources. Compute and storage located at a centralized location. Scalable & configurable shared pool resource with easy provisioning tools reduced the total cost of ownership. While Moore’s law reduced the cost per unit compute, cloud model gave ‘pay as you grow’ solution. All these made the cloud very popular almost till 2015.
The Edge Computing:
The computing model took a flip again to distributed model post 2015. New distributed model called Fog Computing or Edge computing took shape. Edge computing is optimization of cloud, to move the compute close to the source of data, to the edge.
Why move close to edge?
Faster actions and/or responses
Lesser bandwidth
Enhanced Security
Scale better
An important factor that is moving the compute to edge is the cost of computing itself. As can be seen in the table, the compute cost is reducing at a significant rate. In fact the price has reduced by 50% in the last six months. Lower cost mean, one can afford more compute, but need not lose out other aspects of solutions.
* Compute performance is measured in Floating Operations Per Seconds (FLOP) 1GFLOP is 10^9 FLOPS –Source Wikipedia
The cost reduction of computing and storage compounded with the enhanced need for moving data closer to the edge is making edge compute gain more traction.
Compute for the Internet of Things
The current IoT applications, which involve data collections at the edge and moving the data to cloud for analytics, is just a beginning. Engineers and practitioners just started exploring the IoT applications and its possibility. Unleashing the full potential of IOT is yet to happen. When this happens, edge computing is the only way for IoT to operate effectively and efficiently.
Faster actions/responses:
Computing at the edge, closer to the data source, mean no data movement to & from the remote location (cloud). Data analysis and resulting actions are performed at the same location, leading faster responses. IoT applications need faster reactions. Connected Car is a clear example today. Industrial IoT also needs a faster response, we can not allow the boiler to blow off, need to cut off the power within the sub-seconds limit. IoT in health sciences, IoT in physical security among others need faster responses.
Lesser bandwidth:
Reducing or avoiding the data transfer to the cloud, from the data source, leads to lesser bandwidth need. While the cost of bandwidth is coming down, the rate is not able to catch up with the need for bandwidth. IoT application in physical security, which can be based on video surveillance, can generate a significant amount of data. Transferring all the data to cloud for analysis is going to consume a significant amount of bandwidth. Consider feeding HD video data from every bank ATM’s to cloud. As a matter of fact, it makes a better design to process the video at every bank ATM’s and take appropriate actions locally.
Another example is that of an agricultural IoT application. In the remote farms, setting up high bandwidth links to transport data to the cloud is not going to be cost effective. On the lines of video surveillance (in bank ATM), the decision on data collected at farms need local actions (to activate pumps or fans or fertilizer injectors).
Enhanced Security
Reduction in the amount of data sent to the cloud also means lesser vulnerability for data itself. Most of the sensitive information can be locally processed and non-sensitive/anonymized/abstracted information can be sent over the cloud for further analysis. This reduced the attack surface to a certain extent. The edge compute also provide flexibility to add security compliance as per industry needs, which is not possible in the cloud. Many industries that were prevented to use the cloud, can now adapt IoT applications.