in

Fog Computing: A Complete Guide

Fog computing illustration

Fog computing is an emerging technology that is changing how data is processed and analyzed at the edge of the network. As more devices become connected through the Internet of Things (IoT), fog computing is becoming increasingly important for supporting real-time analytics and low latency workloads.

In this comprehensive guide, we‘ll explain what fog computing is, how it works, its benefits, use cases, and more. Read on to gain a deeper understanding of this innovative approach to distributing compute, storage, and networking services.

What is Fog Computing?

Fog computing is a decentralized computing infrastructure that brings compute, storage, and networking services closer to where data is generated and acted upon. Fog computing sits at the edge of the network, near the data-producing devices and systems.

The fog extends the cloud computing paradigm to the edge of the network, thus fog computing is sometimes referred to as edge computing or cloud edge. Fog provides low latency, location awareness, and improves efficiency by reducing the amount of data that needs to be transported for processing, analysis and storage.

The term "fog computing" was coined by Cisco in 2014. The metaphor of fog is used to illustrate the cloud moving closer to the ground. The fog is dense and closer to the endpoints than the cloud.

How is Fog Computing Different from Cloud and Edge Computing?

To understand fog computing better, it helps to contrast it with cloud computing and edge computing:

  • Cloud computing delivers services like compute, storage, databases, analytics and more from remote centralized data centers over the internet. Cloud provides scalability and agility, but can have high latency.

  • Edge computing pushes intelligence down to the local edge devices themselves, such as programmable automation controllers (PACs), industrial PCs, and embedded systems. Edge devices have compute, storage and network connectivity capabilities built into them.

  • Fog computing sits between the cloud and edge devices. Fog nodes typically reside on gateway devices in the local network where data is generated and acted upon. Fog provides preprocessing and storage close to edge devices to reduce network traffic and latency.

So in summary:

  • Cloud computing is far from the edge devices
  • Edge computing is directly embedded into devices on the edge
  • Fog computing sits at the local edge network between end devices and the cloud.
Cloud vs edge vs fog computing
Cloud vs edge vs fog computing – Image credit: Geekflare

Fog Computing Architecture

A fog computing architecture consists of fog nodes residing on gateway devices installed at access points in the network topology near data sources.

Fog nodes provide compute, networking, storage and application services to connected IoT and IIoT devices. The fog processes and analyzes data locally, only sending select data to the cloud.

Key components of a fog computing architecture include:

  • Fog nodes – Compute and storage resources located at the local edge of the network. Typically runs on gateway devices.

  • Edge devices – Endpoints that interact with the physical environment such as IoT sensors, actuators, controllers, cameras, etc.

  • Fog networking – Connects fog nodes and integrates edge devices. Provides data filtering, preprocessing, network routing and security services.

  • Cloud integration – Connects fog nodes over WAN to centralized cloud services.

  • Fog orchestrator – Manages connected fog nodes and edge devices and balances workloads and data flows between the fog and cloud.

  • Fog apps – Software services and applications that run on fog nodes, including analytics, machine learning and data filtering.

Fog computing architecture
Fog computing architecture – Image credit: Geekflare

Fog computing solutions are highly customizable based on industry and use case requirements. Fog nodes can reside on various types of gateway devices like routers, switches, industrial PCs, server racks or micro data centers. The specific configuration depends on compute and storage needs.

How Fog Computing Works

Fog computing facilitates data processing at the edge of the network. Here is how it works:

  1. Data is generated by IoT devices and equipment like sensors, cameras, robots, vehicles etc.

  2. This data is sent from the devices to a nearby fog node, rather than sending directly to the cloud.

  3. The fog node has application services running on it to analyze and process the data, such as filtering, machine learning, analytics etc.

  4. Based on programmed policies, the fog node determines what data needs to be sent upstream to the cloud, and what can be acted on locally, in real-time.

  5. Data sent to the cloud is usually for aggregation, visualization, deep analytics, training machine learning models, and storage.

  6. Insights from the cloud data analysis can be sent back downstream to the fog and edge devices if needed.

  7. If the fog application needs additional compute resources, it can spill over workload to the cloud on demand.

  8. Fog orchestrators manage the topology of fog nodes and balance resource usage between the edge and cloud.

The key advantage of fog is its ability to reduce latency by computing near the data source, filter and process data locally, condense the data, and only send relevant data upstream to the cloud as needed. This edge processing minimizes network traffic.

Fog also adds a layer of cybersecurity by avoiding sending all raw data over the WAN to the cloud. And fog nodes can continue to function even with intermittent cloud connectivity, adding resiliency.

Why Use Fog Computing? Benefits

There are several key benefits that make fog computing highly useful for IoT and real-time analytics use cases:

Low latency – By processing data locally on fog nodes near the network edge, latency is reduced, which is critical for industrial and real-time applications.

Location awareness – Being able to pinpoint where data is being generated allows for location-based services and analysis.

Network efficiency – Less data and network traffic helps reduce bandwidth usage and cost. Fog minimizes sending non-essential data to the cloud.

Real-time analytics – Data can be analyzed at the source in real-time for faster automated decision making.

Improved security – Fog nodes allow for data and analytics to stay local versus sending data externally to the cloud, reducing exposure. Encryption can be implemented on fog nodes.

Disconnected operations – Fog nodes can keep functioning with intermittent cloud connectivity, unlike cloud-only solutions.

Distributed architecture – Fog nodes can be distributed wherever needed near data sources, creating easily scalable architectures.

Lower costs – By filtering non-critical data and analyzing data locally, organizations save on cloud compute and storage costs.

Redundancy – Fog nodes can provide backup pathways for data if other nodes fail or networks go down.

In summary, fog computing enables real-time, low latency analytics securely on distributed nodes at the network edge.

Fog Computing Use Cases

Fog computing is well suited for applications that require low latency analytics and location awareness. Here are some common use cases:

Smart factories and IIoT – Fog can support time-sensitive industrial processes by analyzing machine sensor data to spot defects or anomalies in real-time. Fog nodes on the factory floor improve productivity.

Smart grids – Energy providers use fog to manage renewable energy sources, balance loads, detect outages remotely, and optimize the grid.

Smart buildings – Building automation systems use fog to monitor equipment, manage HVAC and lighting, and implement occupancy-based services.

Smart cities – Applications like traffic control, public transit, waste management, etc. use fog nodes distributed throughout the city infrastructure.

AR/VR – Fog enables immersive extended reality by processing data locally to minimize latency in rendering and location-based services.

Autonomous vehicles – Self-driving cars can use fog nodes close to highways to provide connectivity and real-time analytics.

Robotics – Fog allows centralized control of distributed robotics while minimizing latency and improving movement precision.

Healthcare – Fog nodes support telehealth services and remote patient monitoring by locally processing health data from medical devices.

Retail – In-store fog nodes can support surveillance, inventory management, digital shelf labels, and proximity marketing services.

Agriculture – Farm equipment and sensors that monitor crops and livestock can benefit from fog computing.

So in summary, any application that demands real-time responsiveness, location awareness or operates in remote areas can benefit from fog computing.

Fog Networking Protocols

There are various protocols used in fog networking for connectivity between nodes, orchestration, discovery and more:

  • MQTT – MQTT is a lightweight publish-subscribe messaging protocol commonly used in IoT and fog environments.

  • CoAP – Constrained Application Protocol (CoAP) is an alternative to MQTT for fog/IoT focused on constrained devices.

  • HTTP and REST – REST APIs over HTTP allow fog nodes to exchange data.

  • WebSockets – Provide full-duplex asynchronous communication between fog nodes.

  • DDS – Data Distribution Service (DDS) is a real-time data connectivity standard.

  • LWM2M – Lightweight Machine to Machine protocol manages connected fog and IoT devices.

  • OPC-UA – Allows industrial equipment to communicate by sending messages between clients and servers.

  • AMQP – Advanced Message Queuing Protocol is an open standard for passing real-time data and transactions.

  • ZeroMQ – ZeroMQ is a high-performance asynchronous messaging library used in distributed systems like fog.

  • DNP3 – Distributed Network Protocol 3.0 transports supervisory data for smart grids and industrial networks.

Choosing the right protocols depends on the specific requirements of the fog infrastructure, types of nodes, data volumes, and industry. MQTT, CoAP and REST are common starting points for many fog networking designs.

Fog Computing Vendors

Many major technology vendors offer fog computing platforms, nodes and services including:

  • Microsoft – Azure IoT Edge runs containerized Azure services and AI on fog nodes.

  • Cisco – Cisco offers robust fog computing solutions optimized for industrial sectors.

  • Dell EMC – Provides servers, storage and hyperconverged infrastructure suitable for dense fog nodes.

  • Hitachi Vantara – Their Lumada platform powers data-driven fog applications for industrial markets.

  • SAP – SAP Leonardo and Edge Services run intelligent enterprise apps on fog nodes.

  • Amazon Web Services – AWS IoT Greengrass extends AWS services to edge devices.

  • IBM – IBM Cloud Pak for Edge Computing with Watson supports AI-driven use cases.

There are also pure play fog computing companies like FogHorn, Crosser, Nebbiolo and Relayr that offer complete hardware and software fog solutions.

When evaluating vendors, look for an open standards approach to infrastructure and networking to prevent lock-in. Compute and storage scalability for capacity planning is also key.

Getting Started with Fog Computing

Interested in leveraging fog computing for your environment? Here are some tips:

  • Start by evaluating use cases to determine where fog could enhance latency and location awareness.

  • Audit existing infrastructure and topologies to identify potential locations for fog nodes on gateways and access points.

  • Assess volume and types of data sources to estimate capacity and hardware requirements for fog nodes.

  • Review networking protocols used and determine needs for data preprocessing, analytics, security etc.

  • Start small with pilot projects to prove out the benefits before large scale deployment.

  • Choose fog application platforms that align to existing cloud, analytics and networking providers.

  • Monitor fog node performance under real-world conditions before broad rollout.

  • Ensure fog orchestrators integrate smoothly with cloud management and monitoring tools.

  • Build in high availability, failover mechanisms and security to prevent single points of failure.

With careful planning, fog computing can deliver the agility and real-time processing today‘s data-intensive use cases demand. Reach out if you need help formulating a fog computing strategy.

Fog Computing Resources

To dive deeper, check out these educational fog computing resources:

Blogs:

Books:

Training:

Conferences:

Conclusion

Fog computing is becoming a critical part of IoT, IIoT and real-time analytics architectures needing low latency and location context. By distributing intelligence closer to the network edge where data is created and acted upon, fog unlocks a wide array of new use cases and insights.

With its ability to filter, preprocess and analyze data in real-time before sending to the cloud, fog minimizes latency, reduces costs, and improves security. Leading technology vendors offer robust fog computing solutions for modern data-driven environments.

As businesses adopt more IoT devices and sensors, fog will continue growing as "the cloud down to the ground." Look for fog computing to expand more into 5G networks, smart spaces, autonomous systems and commercial edge infrastructure.

AlexisKestler

Written by Alexis Kestler

A female web designer and programmer - Now is a 36-year IT professional with over 15 years of experience living in NorCal. I enjoy keeping my feet wet in the world of technology through reading, working, and researching topics that pique my interest.