Networking is one of those areas where a curve ball emerges every time there is a semblance of consensus. Nowhere is this seen more clearly than back in January 2014 when Cisco released its fog computing concept designed to connect to Internet of Things (IoT) devices at the edge of a network. The idea behind fog computing was to reduce the latency that plagued centralized cloud computing.
Rather than sending data from IoT devices to the cloud inefficiently, fog nodes would analyse data on the network edge and avoid the need to transfer data back to the center of the network. Fog computing has established solid foundations as well. A report by 451 research indicates that the fog computer market will be worth over $6.4 billion by 2022.
The rate at which IoT devices are becoming more widely-used is leading an increase in companies adopting fog computing. This is taking place because neither traditional networking nor cloud computing have been able to deal with the challenges raised by maintaining fast moving services near the network’s edge.
Fog computing has emerged because cloud computing hasn’t been able to keep up with the growth of IoT devices. The increase of consumer and enterprise devices connected to the IoT has put too much strain on cloud services from even the most cutting edge providers. The reason is that the cloud is too far away from the point of origin, and sending data to the cloud to be analyzed results in latency that is simply unacceptable in many environments.
How Does Fog Computing Work?
Fog computing works by deploying fog nodes throughout your network. Devices from controllers, switches, routers, and video cameras can act as fog nodes. These fog nodes can then be deployed in target areas such as your office floor or within a vehicle. When an IoT device generates data this can then be analyzed via one of these nodes without having to be sent all the way back to the cloud. The main difference between cloud computing and fog computing is that the former provides centralized access to resources whereas the latter provides a decentralized local access.
Transporting data through fog computing has the following steps:
- Signals from IoT devices are wired to an automation controller which then executes a control system program to automate the devices.
- The control system program sends data through to an OPC server or protocol gateway.
- The data is then converted into a protocol that can be more easily understood by internet-based services (Typically this is a protocol like HTTP or MQTT).
- Finally, the data is sent to a fog node or IoT gateway which collects the data for further analysis. This will filter the data and in some cases save it to hand over to the cloud later.
Fog Computing vs Edge Computing
You will often hear the terms fog computing and edge computing used interchangeably. The philosophy of both is to move processing activity closer to the network edge to speed up service. Though they both have the intention of reducing latency and network congestion, they differ in how they actually handle data. The main difference between the two is that:
- Fog computing – Sends data down to the local area network (LAN) level of the network and processes it through the use of a fog node or IoT gateway
Edge computing – Sends data from an appliance straight into a device like a programmable automation controller
Why Do I Need Fog Computing?
Whether fog computing would help your enterprise depends on your unique circumstances. Generally speaking, fog computing is best for organizations that need to analyze and react to data in less than a second. Fog computing’s ability to minimize latency makes it perfect for this task. We’ve listed some of the key industries where fog computing performs well further below.
Basically, if you are in an industry such as transportation where you need to collect data at the edge of your network (from vehicles for example) then fog computing provides you with a rapid and efficient way to do this. Fog computing allows you to generate real-time data and insights at the edge of the network without sending information all the way back to the center.
Decentralization vs Centralization
One of the key concepts behind fog computing is that of decentralization. Fog computing represents a departure from the model of centralized computing that has been popular for so long. The concept of decentralization has grown as a response to the increased mobile architecture, geographically sparse infrastructure, and a marked increase in the use of IoT devices.
Whereas centralization was the dominant model of computing a few years ago, it is being considerably challenged by the decentralized model because the centralized model hasn’t been able to cope with provisioning resources to devices at the edge of large networks. The decentralized approach showcased by fog computing has been able to address those challenges.
It has become apparent that modern networking needs to combine these two approaches if coverage is to be maximized. While a decentralized approach can’t make services and data available globally like centralized approaches can, it can martial those local resources that have proven slow under a centralized approach.
Benefits of Fog Computing
There are a number of reasons why fog computing has been deployed. Ultimately these mainly come down to boosting organizational efficiency:
- Decreased Latency – One of the biggest advantages of fog computing is that it reduces latency. Data doesn’t need to be sent to the cloud in order to be processed and sidestepping this problem makes analyzing and processing data much more efficient. Whereas this latency may not be a problem for some applications, if it is used for vehicle-to-vehicle communication systems it can become a matter of life and death.
- Flexibility – One of the principal reasons why fog computing is beneficial is the amount of flexibility it affords organizations. An enterprise can have a developer create a fog application before deploying it.
- Reduced Performance Requirements – By not sending data to the cloud you can also reduce the amount of bandwidth needed that would be otherwise used to communicate to sensors and the cloud. This method would lead to poorer performance than avoiding the cloud as is done with fog computing.
- Widespread Geographical Distribution – Given that fog computing is a decentralized form of networking it offers a wider range of geographical distribution than traditional networking or cloud computing. This results in a better quality of service for the end user.
- Real-time Analytics – In many environments the ability to analyse data in real time is of paramount importance. Eliminating the inefficiency and latency that comes with cloud services means that the user can receive genuine real-time analytics.
Limitations of Fog Computing
Of course even though fog computing is a valuable technology it does have a number of significant disadvantages:
- Physical location – Perhaps the most significant limitation of fog computing is that it is much more geographically restrictive than a cloud service. A cloud service can be accessed from anywhere whereas fog computing is used to interact with devices on a local level. It doesn’t have any centralized access.
Security – Another key concern is that of security. Fog computing relies on trusting those close to the edge of the network and the fog nodes to maintain them and protect them against malicious entities. The lack of visibility of these systems due to their physical location can leave enterprises open to external threats.
Complexity – If you’re using a network with traditional infrastructure, cloud services, and fog computing, things can get very complex very quickly. All of this architecture needs to be maintained, and adding a patchwork of these complex technologies together makes this a very difficult task.
Fog Computing Security Concerns and Best Practices
End User Privacy
As a decentralized service, fog computing raises a number of concerns with regards to security. This can be seen most clearly with regards to end user privacy. Fog nodes collect sensitive data from devices at the edge of the network. The fact that fog nodes are situated at the edge of the network means that it is difficult to maintain any kind of centralized control over end user privacy.
If an intruder gains access to this data then there is little recourse. However, there is still a way to protect against this. One of the ways this concern can be mitigated is by keeping the location of the fog nodes private. This stops anyone from attempting to tamper with fog nodes or accessing sensitive information (providing the location is kept private).
Unfortunately, fog computing is also vulnerable to various forms of cyber attacks if the correct protections aren’t in place. In particular, fog computing is vulnerable to Denial-of-Service (DoS) attacks. The reason for this is that connected devices are rarely authenticated. Attackers can even use connected devices to request unlimited processing requests until the fog node can’t process genuine data transfers.
This is a significant challenge to address particularly on larger networks with hundreds or thousands of IoT devices. The more devices you have, the more difficult it is to authenticate them. It makes no sense to restrict connections to fog nodes either as this would make the entire premise of fog computing unfeasible. Encryption may stave off less advanced attacks but one of the few viable methods appears to be user behavior profiling.
User behavior profiling allows you to flag when strange or problematic behavior is detected. It will help you to tell when a user has legitimate intentions and when something more sinister is happening. In the event that an attack is detected, the device can send the attacker a load of junk data so they don’t have access to anything sensitive.
At a basic level, if you’re using fog computing then you need to have authentication in place. You want to make sure that a device has to join the network by authenticating itself before joining the fog network. This makes sure that every node connected to the network is authenticated and authorized. However, you can’t use Public Key Infrastructure (PKI) authentication or other run-of-the-mill solutions because of the limited resources inherent to IoT devices.
It is most advisable to use a third-party company to offer authentication as a service. This would allow you to outsource the authentication process and make sure that all nodes connected to your fog network are adequately protected. While this won’t protect you completely, it’s a good start.
Fog Computing Use Cases
Even though fog computing is anticipated to grow at a rapid rate, it is still a technology that is most popular within industries that need data close to the network edge. In particular sectors like transportation and healthcare are some of the most exciting use cases for computing technology. We’ve listed a few of the industries below to give you an idea of the scale of opportunities fog computing has access to:
- Oil and Gas
- Energy and Utilities
- Smart buildings
We’re going to look at a few of these areas below in further detail:
Healthcare has always had a chaotic relationship with disruptive technologies as there is very little time for a learning curve when dealing with patient care. However, the use of IoT technology has been somewhat of a sticking point for healthcare providers as traditional network models and cloud computing struggle to turn around data in a short time frame.
Currently there is an abundance of patient-generated health data by devices such as wearable devices, health apps and blood glucose monitors. The volume of data generated everyday in the health industry is just too large to process without the help of fog computing. Fog computing promises to take data transfers that take minutes and turn them into seconds. This is monumental in terms of patient care because it will increase the speed of service dramatically.
Another massive market for fog computing is in transportation. The clearest application of IoT technology and fog computing can be seen within vehicle fleets. Transport companies are under constant pressure not just to make deliveries on time but to maintain their vehicles as well. We’re starting to see companies using IoT onboard trucks monitoring the condition of brake pads and how much mileage a vehicle has.
This produces valuable data but there is the problem of poor connectivity in areas where there is no cellular coverage during transit. No cellular coverage means that data can’t be transmitted to the cloud. The fog computing solution is to send that data to a fog node and notify the driver if action needs to be taken. Decentralizing maintenance in this way helps to ensure that vehicles stay updated and on the road.
One of the other important applications of fog computing technology is in the military. Fog computing has the potential to network soldiers with machines and devices in split seconds. This is a departure from the sluggish connectivity offered by cloud services.
Fog computing would allow soldiers on the front line to access real-time analytics and gain access to valuable information that wouldn’t be possible through a cloud service. The end result will be operations supplied with critical information sooner rather than later. This has the potential to put up-to-the-minute data close to the front lines and save lives.
5G and Fog Computing
Even though fog computing has been an excellent companion for cloud computing, it is facing its own challenges in the form of 5G. The main advantage of fog computing is its ability to minimize latency. However the introduction of 5G will reduce latency dramatically. At this stage it is difficult to tell if this will impact fog computing’s growth potential adversely but it appears there is also a possibility that these two can coexist.
5G has the ability connect a multitude of devices to the internet, but there is still going to be a need for real-time data analytics for IoT devices. There will inevitably be some crossover between the two technologies but ultimately fog nodes will be able to endure in those more remote environments where connectivity is more limited.
Fog Computing and Cloud Computing: A Dynamic Duo
In many ways, fog computing and cloud services complement each other well. Cloud services expand enterprise connectivity on a global scale but they have always struggled to handle the sheer output of data generated by IoT devices. Thus fog computing is the perfect way to supplement the general connectivity afforded to users by cloud services.
The fog computing model has been proven to reduce latency and deliver real-time services in a format the cloud services can’t replicate. By analysing data near to its point of origin, fog computing ensures that network resources aren’t wasted transferring data back and forth.
At this point it is clear that fog computing provides organizations with a competitive advantage that can’t be ignored. Marshalling the power of up-to-data insights at the edge of a network is bound to have a positive impact on improving an enterprise’s decision making. Whether that means having a more-informed perspective of patient care or keeping fleet vehicles on the road.