Fog Computing: Architecture, Applications, Pros & Cons
Advertisement
This tutorial provides a comprehensive overview of fog computing, covering its fundamentals, architecture, applications, advantages, and disadvantages. We’ll also explore the necessity of fog computing within the context of the Internet of Things (IoT) and its operational mechanisms.
Introduction
Fog computing represents the next evolution in computing, extending cloud capabilities to the edge of the network. Often referred to as edge computing, it’s designed to address the challenges inherent in traditional cloud computing models.
The pervasive adoption of wired and wireless technologies has led to an exponential increase in internet usage. Billions of interconnected devices now generate massive volumes of data daily – we’re talking exabytes. Studies predict approximately 250 million connected vehicles and 30 billion IoT devices by 2020. The current cloud infrastructure struggles to efficiently manage this immense data flow from private companies, factories, airplanes, healthcare devices, and more.
Furthermore, cloud networks’ inherent latency makes them unsuitable for handling certain time-sensitive data.
What is Fog Computing?
Fog computing essentially brings the cloud closer to the data sources. This proximity minimizes latency because fog nodes can directly process data without the need for round-trip communication to a centralized cloud server. Fog computing processes and analyzes data generated by IoT devices.
Here are the major functions of a fog computing architecture:
- Edge Analysis: Analyzes the most time-sensitive data at the network’s edge, where devices generate them. This avoids sending huge amounts of data to the cloud.
- Real-time Action: Acts on IoT data in milliseconds based on defined policies.
- Selective Cloud Transmission: Sends only selected data to the cloud for analysis and long-term storage.
Why Fog Computing?
Fog computing addresses three critical requirements in modern networks:
- Data Volume
- Latency
- Bandwidth
The increasing use of IoT devices, driven by the availability of low-cost sensors, necessitates addressing key challenges for successful implementation:
- Reduced Data Latency
- High Data Security
- Data Reliability
- Optimal Data Processing Location: Based on the data type, processing should happen at the most suitable location.
- Wide-Area Data Monitoring: Monitoring data across large geographical regions.
Fog computing effectively addresses all the requirements of IoT networks. As depicted in Figure 1, fog acts as an intermediate layer between cloud and devices that generate the data.
Fog Computing Applications
Here are several key applications of fog computing:
- Smart Homes: Fog computing enables home security applications leveraging smart sensors, cameras, wireless technologies, and more.
- Smart Cities: Large cities face challenges related to public safety, traffic management, sanitation, and energy utility. A single IoT network with a network of fog nodes can address these challenges.
- Smart Buildings: Continuous monitoring of sensors helps in taking action in certain situations. Fog computing assists in monitoring and control within smart buildings.
- Smart Grid: Smart meters deployed at consumer locations measure real-time electricity usage, contributing to efficient grid management.
- Smart Vehicle: Fog computing integrates into vehicular networks, categorized as infrastructure-based or autonomous. Fog nodes are responsible for sending and receiving information to/from vehicles.
- Rail Monitoring: Fog nodes installed alongside railway tracks provide real-time monitoring of track conditions. Fog computing also simplifies data transfer from high-speed trains.
- Visual Security: Video cameras at public places, residential plots, parking lots, and shopping malls generate too much visual data to send to the cloud for storage and analysis. Fog computing enables fast analysis of data near the camera end, enhancing safety and security.
- Health Data Management: Fog computing provides patients with local access to health-related data. Local data analysis enables fast treatment by doctors and health experts.
Fog Computing Architecture and its Working
Let’s explore the architecture of fog computing as part of this tutorial.
The fog computing architecture consists of physical and logical elements in the form of hardware and software to implement IoT (Internet of Things) network. As shown in Figure 2, it is composed of IoT devices, fog nodes, fog aggregation nodes with the help of fog data services, remote cloud storage and local data storage server/cloud.
Let us understand fog computing architecture components.
- IoT Devices: These devices are connected to the IoT network using wired and wireless technologies. These devices produce data regularly in huge amounts. There are numerous wireless technologies used in IoT which include Zigbee, Zwave, RFID, 6LoWPAN, HART, NFC, Bluetooth, BLE, NFC, ISA-100.11A etc. IoT protocols used include IPv4, IPv6, MQTT, CoAP, XMPP, AMQP etc.
- Fog Nodes: Any device with computing, storage, and network connectivity qualifies as a fog node. Multiple fog nodes are spread across a larger region to support end devices, connected using different topologies. Fog nodes are installed in various locations, such as on a factory floor, on top of a power pole, alongside railway tracks, in vehicles, or on oil rigs. Examples of fog nodes include switches, embedded servers, controllers, routers, and cameras. Highly sensitive data are processed at these fog nodes.
- Fog Aggregate Nodes: Each fog node has its aggregate fog node. It analyzes data in seconds to minutes. IoT data storage at these nodes can be of duration in hours or days. Its geographical coverage is wider. Fog data services are implemented to implement such aggregate node points. They are used to address average sensitive data.
- Remote Cloud: All aggregate fog nodes connect to the cloud. Time-insensitive or less-sensitive data are processed, analyzed, and stored in the cloud.
- Local Server and Cloud: Often, fog computing architecture uses a private server/cloud to store confidential firm data, enhancing data security and privacy.
Pros and Cons of Fog Computing
Following are the Pros (i.e. advantages or benefits) of Fog Computing.
- It offers better security.
- It saves network bandwidth and hence reduces operational costs.
- It reduces latency.
- It offers better privacy.
- It is easy to develop fog applications.
- Fog nodes are mobile in nature.
- Fog nodes can withstand any harsh environment conditions.
Following are the Cons (i.e. disadvantages or challenges) of Fog Computing.
- It is difficult for any arbitrary devices to exchange the data on fog computing networks.
- There are security concerns due to wide use of IoT based wireless networks, IP address spoofing etc.
- Data consistency and data management in fog computing is a challenge.
- Trust and authentication are major concerns.
- Scheduling is complex as tasks can move between clients, fog nodes and back end servers.
- Power consumption is higher due to de-centralized architecture.