Bringing IoT to the Cloud: Fog Computing and Cloudlets
Want to learn more about how IoT devices are being used with the cloud? Check out this post about fog and edge computing with IoT.
Join the DZone community and get the full member experience.Join For Free
In my opinion, fog computing and cloud computing are the same, in essence, because both concepts utilize "idle resources" to process tasks. However, the biggest difference between the two is that cloud computing uses the core resources of a network, while fog computing only uses resources located at the edge of the network.
The Evolution of Cloud Computing
In 1961, McCarthy, the father of AI, proposed the concept of "utility computing" at a conference and suggested the idea of resource sharing for the first time. At that time, computers were too expensive to be accepted by common enterprises and organizations. Therefore, he raised this idea to integrate scattered idle resources and share them with multiple users. Similar concepts include network computing, distributed computing, and elastic computing, which all evolved from the academia and gradually led to the development of engineering applications.
Although the academia often stood ahead of the industry, businesses did a better job of standardizing concepts and deploying the technology. To remove confusion around all these related fields of computing, the industry coined the term "cloud computing." The term covers all the concepts of network computing, distributed computing, and elastic computing.
On August 9, 2006, Google's CEO Eric Schmidt first proposed the concept of cloud computing on the Search Engine Strategies Conference held in San Jose in 2006. This was when the term entered the mainstream.
In early 2007, Amazon launched EC2, an elastic cloud computing service. In November 2007, IBM released the industry's first enterprise business solution "Blue Cloud." In April 2008, Google released its APP Engine. In 2008, Gartner released a report, stating that the cloud represents the direction of future computing.
In January 2009, Alibaba established the first "e-commerce cloud computing center" in Nanjing. In January 2010, Microsoft officially released Microsoft Azure as a cloud platform service. In July 2010, NASA and vendors including Rackspace, AMD, Intel, and Dell jointly announced the opening of the "OpenStack" project source code. By mid-2010s, most big-name technology companies have already invested in cloud technology.
The Rise of IoT and Mobile Computing
The advancement of cloud computing gave enterprises virtually unlimited computing power, which gave rise to new technology trends, namely the Internet of Things (IoT). The IoT era comes with the continuous innovation and popularization of smart devices, such as mobile devices, embedded devices, and sensor devices.
However, there is one caveat. The rapid growth of mobile technology also means that global mobile data is growing dramatically. According to Cisco's mobile data forecast report in 2016, global mobile data would increase by 18 times between 2016 and 2021 and could exceed 49 Exabytes by 2021. As the large data volume and new applications raised rigid constraints on the service quality, problems within the traditional cloud computing models became more evident.
Major Challenges With Cloud Computing
Now that cloud computing has entered a relatively stable development period, it is facing new challenges.
The first major problem was with the use of remote networking in cloud computing centers. For latency-sensitive applications such as video streaming and online games, long propagation latency (WAN) was a recurrent problem. It severely hampered the user experience.
Second, cloud computing could not provide full support to mobile scenarios, especially for the high-speed vehicle-mounted network environments, in which drivers must quickly learn about the road conditions and traffic flow in real time.
Third, it could not meet the real-time requirements of the perceptual environment related to geographical distribution. On large-scale sensor networks, for example, the sensor nodes must periodically send their updated information to other nodes.
Fourth, a large number of devices accessed by the cloud and the network bandwidth became insufficient.
Last — but not the least — despite various security mechanisms deployed on the cloud, the sheer scale of the cloud gives rise to a number of security and privacy issues. That’s why engineers felt the need for multi-hop network transmission between users and the cloud computing center. A deeper network transmission made it harder to ensure data integrity and privacy.
Academia was naturally the first to propose solutions for all these problems. In 2009, Prof. Satyanarayanan of Carnegie Mellon University proposed the concept of "cloudlet" in his paper titled "The Case for VM-Based Cloudlets in Mobile Computing." According to the paper, a cloudlet is a new computing model that "has the same technical standards as the cloud but is closer to users."
Understanding Cloudlet and Fog Computing
Fog computing, or sometimes called edge computing, can be thought of as an extension of the cloud, with the infrastructure distributed at the edge of the network. Fog computing facilitates the operation of end devices, typically smart IoT devices, with cloud computing data centers. This helps in meeting the needs of high-speed mobile scenarios and geographical distribution scenarios and reduces the bandwidth load of the network core.
Cloudlet, on the other hand, is a concept related to fog computing. A cloudlet is basically a small-scale cloud that provides services similar to traditional cloud computing. However, unlike cloud computing that provides unlimited resources, the cloudlet can only provide limited resources.
Another difference between conventional clouds and cloudlets is that a cloudlet is located closer to users. Often times, users are directly connected to other devices in a cloudlet. This means that the latency of the response to user requests gets significantly reduced.
Compared with cloud computing, the cloudlet ensures better security and privacy. The paper by Prof. Satyanarayanan formed the outline for an initial prototype of "fog computing.” Later, many academics proposed many similar solutions, such as fog computing, edge computing, follow-me cloud, small-cell cloud, virtual cloud, and FemtoCloud.
These concepts are all essentially the same. All of them utilize "decentralize computing," transferring resources and services from the network core to the network edge to meet the needs of multiple IoT applications concurrently. Though the concepts of fog computing evolved similarly as did cloud computing, this time, it was Cisco, rather than Google, that led the industrial transformation.
Cisco first came up with this concept at Cisco Live 2014. Cisco emphasized that fog computing was a new computing model that relies on ubiquitous IoT applications. Compared with cloud computing, fog computing was more advanced, extensive, scalable, and sustainable. However, fog computing could not completely replace cloud computing. Both these technologies are complementary and interrelated.
During the conference, Cisco also released the development kit IOx for developers. Cisco's IOx implemented the fog computing model. It provided developers with a complete set of development frameworks, including development, distribution, deployment, monitoring, and management components, as well as the computing platform. This allowed developers to deploy their applications on the boundaries of the network, such as routers and switches, for processing. The following figure shows the architecture of IOx.
Fog computing is a technological innovation encompassing AI and IoT. Many enterprises and organizations in the industry have begun to deploy the ecosystem of fog computing, including communications vendors like Cisco and Huawei, as well as many cloud computing and IoT enterprises.
Zhiyun, a world-leading IoT cloud service provider founded in 2005, was the first to deploy the fog computing architecture in China. In early 2016, they released IoT fog computing-enabled Gizwits 4.0, which integrated fog computing, IoT, big data, and machine learning application capabilities to form an integrated solution.
On November 19, 2015, Cisco collaborated with ARM, Dell, Intel, Microsoft, and Princeton University to create the OpenFog Alliance, aiming to develop fog computing-related technical standards and promote technical transformation in the industry.
The latest trends in the field of business and technology suggest that fog computing-driven advances and innovations will form the next wave of technology. Organizations must look forward to making the most of the emerging opportunities in this field and harness its true potential.
Published at DZone with permission of Leona Zhang. See the original article here.
Opinions expressed by DZone contributors are their own.