Technology axes of the emerging Fog Computing landscape
With cloud computing becoming widely adopted, recent computing trends such as edge and fog computing have been introduced and gaining adoption as they fit better on cases where data is generated at “peripheral” devices. Edge computing is about the delivery of computing capabilities to the logical edges of a network in order to improve the performance, operating cost and reliability of applications and service [1]. Although it is common to confuse Fog and Edge, as they share the same goals, Fog computing is a layered model for enabling ubiquitous access to a shared continuum of scalable computing resources that include fog nodes (physical or virtual), residing between smart end-devices and centralized (cloud) services [2]. An overview of the comparison between Cloud, Fog and Edge computing can be seen in the following Figure [3].
In this blog, we present three critical technological axes that have to be taken into account for the proper adoption of Fog and Edge Computing, networking, orchestration and trust assurance.
Networking
The biggest problem that has to be resolved in fog computing is the connectivity of the devices throughout the computing continuum. Various options can apply, with mesh networking being one of the most suitable. In mesh networking, each node in the network may act as an independent router, regardless of whether it is connected to another network or not. Mesh networking implies multi-hop connectivity without static routing schemes. The trend towards the Future Internet is the transition to networks that provide highly distributed, pervasive and communication-intensive services. These services pose new requirements on the underlying network infrastructure that derive from the need to operate on top of dynamic, heterogeneous and complex networks, making mesh networking a valid option due to the dynamicity it offers.
Virtualization and Orchestration
For executing and managing services through different types of devices, the lightweight, software-based virtualization technique of containerization seems to be an ideal fit, as it allows service deployment and execution without the need to launch entire virtual machines on the host operating system. Containers enable the service execution on resource constraint fog nodes, e.g. single board computers like raspberries, while also providing multiservice deployment and isolation on more powerful nodes, e.g. Cloud servers. The orchestration of such containerized services in the cloud is a topic that the key player is Kubernetes, but with many initiatives in industry and research trying to solve the orchestration in the computing continuum that fog computing promises.
Trust Assurance
By having both physical and virtual nodes, trust is of high importance in order to deal with the security challenges of container-based fog nodes. Firstly, there is the perceived aspect of the incompleteness of integrity measurements or guarantees, due to the traditional focus of trusted computing on the system boot time or, at most, the load-time of applications, without covering system integrity beyond these stages, during system execution, which is especially crucial for high-availability cloud-based environments. Therefore, special care should be taken so that a containerized node will not behave unexpectedly (e.g., modify data in an unauthorized way) during runtime(run-time integrity). The endmost goal is to establish “fog/edge node communities of trust” at a high level, to enable fog/edge entities to establish and maintain trust during the entire system life-cycle. Once a trusted community is materialized, secure community communications can be established and used to provide trusted community-wide system updates. Thus, using the concept of a trusted community, trusted communities of communities can be created within a fog-based environment.
[1] Linux Foundation Open Glossary: https://github.com/State-of-the-Edge/glossary/blob/master/edge-glossary.md
[2] NIST Special Publication 500-325: Fog Computing Conceptual Model
[3] Fog vs Edge Computing, nebbiolotechnologies, https://www.nebbiolo.tech/wp-content/uploads/whitepaper-fog-vs-edge.pdf