Cloud, Edge, and the Fog


In the last decade, a number of concepts and technologies have fundamentally changed how software systems are designed and deployed. Cloud computing is for sure the most prominent one. Edge computing and Fog computing are other prominent examples that emered in context of the Internet of Things. This article discusses the differences and relationship between computing in the Cloud, on the Edge, and in the Fog.

Cloud

Cloud Computing ​[1]​ aims at offering cost-efficient, (super) scalable, and reliable computing and storage services ​[2]​. The concrete realization of a Cloud is determined by the Cloud stack, which consists of the infastructure layer (IaaS), the plattform layer (PaaS), and the application layer (SaaS). That is, the Cloud can provide services at different levels of abstraction.

Operating services in the cloud or using services from the Cloud has several advantages but also drawbacks and risks. This also depends on how and where the services are deployed (public/private/hybrid/community clouds).

Potential. Running or using Cloud services can have several advantages ​[3]​:

  • No costs for buying, operating, and maintaining hardware
  • Elastic scaling of computing resources in case of load peaks
  • Pay-per-use model (only pay for actual service invocations)
  • Various abstractions that reduce the effort to use the services
  • Automatic updates of services by the service provider

Risks. As with every other technology, relying on Cloud services also bears risks:

  • Data (including business secrets and personal data of users and customers) is stored in external computer networks, possibly in other countries with other data protection policies
  • Possibly high latency and limited bandwith when accessing services over the Web
  • Mechanisms to deal with unavailability of Cloud services have to be established
  • Distributed systems bear a higher risk of system failures
  • Software developers need expert knowledge to configure and use cloud services (can result in an unintended dependency to the Cloud provider)
  • Pay-per-use costs that are charged by the Cloud provider

Edge

Cloud Computing is not appropriate for processing huge amounts of data produced by Internet-of-Things (IoT) devices. The latancy is too high, the bandwidth is limited, the aggregated costs for service invocations get too high, and data protection is at risk. Edge Computing ​[4]​ can provide a solution to these problems.

Edge Computing ​[4]​ aims at providing an intermediate layer between IoT devices (including end-user devices such as smartphones, tablets, and workstations) and the Cloud. It is about the locality of data sources and the processing of data. Generally, the Edge is defined to denote “any computing and network resource along the path between data sources and cloud data centers.” ​[4]​ For us, the Edge is a layer that can provide additional computing and storage services, for example, services to aggregate sensor data for further processing in the Cloud. An interesting and relevant fact is that the data produced by IoT devices was estimated to be 50 times higher than the data that is transfered over the Web in the same time.

In the end, there is not only one Edge and its services, but a hierrachical layered system of Edges paired with corresponding clients that act as data consumers and producers. Consequently, also the Cloud (with its services) could be seen as another Edge in a system.

Potential. Edge computing aims at providing several advantages ​[4]​:

  • Response time requirements (low latency) easier to satisfy
  • Reduced overall network load (limited to particular network segments)
  • Lower total energy consumption
  • Improved data safety and security
  • Computationally expensive tasks can moved from IoT devices to Edge services

Risks. Also Edge Computing has its risks:

  • Higher complexity of the system
  • More components that can potentially fail
  • Chance of data inconsistencies increased in case of data cloning/caching
  • More know how needed to design and implement such systems

Fog

Fog Computing combies the concept of Edge Computing and the Cloud. The term was introduced by Cisco ​[5]​ to reflect the fact that there are devices between the Cloud and the Edge that both consume and produce data. It is higly relevant for distributed data-intensive applications ​​[5]​​[2]​. Fog computing combines that characteristics of Edge and Cloud computing, that is, is characterized by attributes like low latency, location awareness, wide-spread geographical distribution, mobility, huge number of nodes, strong presence of streaming and real-time applications, and heterogenity.

Fog Computing, with a hierachically organized networds and corresponding network Edges and the Cloud.
Summary. We describe the relationship between the Cloud, Edge Computing, and the Fog,
and discuss the potential and risks of these technologies. Cloud Computing provides super scalable computing and storage services. Edge Compution provides computing and storage services at the network edge, in close proximity to the data produces and consumers. The Fog (or Fog Computing) is the notion that combines the Cloud and Edge Computing.

References

    1. [1]
      M. Armbrust et al., “A View of Cloud Computing,” CAM, vol. 53, no. 4, Apr. 2010.
    2. [2]
      P. Pierluigi, D. Garcia-Perez, M. Anderson, D. Bermbach, C. Cappiello, and R. I. Kat, “Information Logistics and Fog Computing:The DITAS∗Approach,” CAiSE, 2017.
    3. [3]
      Fraunhofer-Alianz Cloud Computing, “Wann lohnt sich die Cloud?,” Nutzen von Cloud Services, Jan-2020. [Online]. Available: https://www.cloud.fraunhofer.de/de/faq/wirtschaftlichkeit.html. [Accessed: 10-Dec-2020]
    4. [4]
      W. Shi, J. Chao, Q. Zhang, L. Youhuizi, and L. Xu, “Edge Computing: Vision and Challenges,” IoT, vol. 3, no. 5, Oct. 2016, doi: 10.1109/JIOT.2016.2579198.
    5. [5]
      F. Bonomi, R. Milito, J. Zhu, and S. Addepalli, “Fog Computing and its Role in the Internet of Things,” MCC, Aug. 2012.

    Leave a Reply

    Your email address will not be published. Required fields are marked *