Kubernetes in Fog Computing: Feasibility Demonstration, Limitations and Improvement Scope : Invited Paper
Fog computing (also known as edge computing) is a decentralized computing architecture that seeks to minimize service latency and average response time in IoT applications by providing compute and network services physically close to end-users. Fog environment consists of a network of fog nodes and IoT applications are composed of containerized microservices communicating with each other. Due to limited resources of fog nodes, it is often not possible to deploy all the containers of an application on a single fog node. Therefore, communicating containers need to be distributed on multiple fog nodes. Distribution and management of containerized IoT applications is always a critical issue to the system performance in a fog environment. Kubernetes, an open-source system, has grown into a container orchestration standard by simplifying the deployment and management of containerized applications. Despite the progress made by the academia and industry with respect to container management and the wide-scale acceptance of Kubernetes in cloud environments, container management in fog environment is still in the early stage in terms of research and practical deployment. This article aims to fill this gap by analyzing the expediency of Kubernetes container orchestration tool in the fog computing model. The paper also highlights limitations with the current Kubernetes approach and provide ideas for further research to adapt to the needs of the fog environment. Lastly, we provide experiments that demonstrate the feasibility and industrial practicality of deploying and managing containerized IoT applications in the fog computing environment.
- Conference Article
98
- 10.1109/compsac.2017.248
- Jul 1, 2017
The Cloud Computing paradigm promoted the outsourcing of IT infrastructure and enterprise applications paving the way to save costs of building and maintaining computing infrastructures on-premise. In this environment, scale up of applications to attend demands in high peaks become easier and highly automated. Virtualization was a key technology to enable these characteristics. Nowadays, Container technology became popular as an alternative to Virtual Machines, and is being widely applied, as a consequence, Orchestration tools are being extensively applied in the Cloud environment. Despite its success, when it comes to the Internet of Things (IoT), Cloud Computing falls short to meet several requirements. Fog Computing appear as a complimentary technology to the Cloud to deliver the missing requirements in the IoT scene. Managing services deployed in a Fog Environment is a complex task and infrastructure management and orchestration tools can make it seamless. In this paper, we evaluate how Containers can affect the overall performance of applications in Fog Nodes. We analyze different Container Orchestration tools and how they meet Fog requirements to run applications. We also propose a Container Orchestration Framework for Fog Computing infrastructures.
- Book Chapter
22
- 10.1007/978-981-19-3391-2_1
- Sep 2, 2022
Resource management is the principal factor to fully utilize the potential of Edge/Fog computing to execute real-time and critical IoT applications. Although some resource management frameworks exist, the majority are not designed based on distributed containerized components. Hence, they are not suitable for highly distributed and heterogeneous computing environments. Containerized resource management frameworks such as FogBus2 enable efficient distribution of framework’s components alongside IoT applications’ components. However, the management, deployment, health check, and scalability of a large number of containers are challenging issues. To orchestrate a multitude of containers, several orchestration tools are developed. But, many of these orchestration tools are heavyweight and have a high overhead, especially for resource-limited Edge/Fog nodes. Thus, for hybrid computing environments, consisting of heterogeneous Edge/Fog and/or Cloud nodes, lightweight container orchestration tools are required to support both resource-limited resources at the Edge/Fog and resource-rich resources at the Cloud. Thus, in this paper, we propose a feasible approach to build a hybrid and lightweight cluster based on K3s, for the FogBus2 framework that offers containerized resource management framework. This work addresses the challenge of creating lightweight computing clusters in hybrid computing environments. It also proposes three design patterns for the deployment of the FogBus2 framework in hybrid environments, including (1) Host Network, (2) Proxy Server, and (3) Environment Variable. The performance evaluation shows that the proposed approach improves the response time of real-time IoT applications up to 29% with acceptable and low overhead.KeywordsEdge computingFog computingContainer orchestrationInternet of ThingsResource management framework
- Research Article
2
- 10.59200/icarti.2023.021
- Nov 9, 2023
- International Conference on Artificial Intelligence and its Applications
Internet of Things (IoT) is the developing technology that enables devices to communicate without human interaction. IoT utilizes cloud computing services to collect and process data for IoT devices and to manage the device remotely. Cloud computing is not efficient enough to handle the fast stream of data produced by the IoT, therefore scaling up IoT applications to meet demands of high peak becomes easier and highly automated in fog computing. Containers are mostly used as virtualization solutions for IoT in fog computing. It enables the execution of small microservices to large applications. However, the rise of many lightweight containers has resulted in new application architectures and fundamentally changing how applications are deployed and visualized. Due to this change, container orchestration tools were proposed. These tools allow users to coordinate and manage containers. However, container orchestration tools need to meet the requirements of IoT applications and constraints imposed on the nodes in fog. This paper presents a systematic literature review on the selection of orchestration tools for the efficient deployment of IoT applications in fog computing. Moreover, the performance of IoT applications must be considered by applying different metrics. This paper aims to propose potential research directions to address identified gaps in the selection of orchestration tools.
- Research Article
3
- 10.12694/scpe.v20i2.1558
- May 2, 2019
- Scalable Computing: Practice and Experience
Special Issue on Recent Trends and Future of Fog and Edge Computing, Services and Enabling Technologies
- Conference Article
9
- 10.1145/3375555.3383585
- Apr 20, 2020
Fog computing has been regarded as an ideal platform for distributed and diverse IoT applications. Fog environment consists of a network of fog nodes and IoT applications are composed of containerized microservices communicating with each other. Distribution and optimization of containerized IoT applications in the fog environment is a recent line of research. Our work took Kubernetes as an orchestrator that instantiates, manages, and terminates containers in multiple-host environments for IoT applications, where each host acts as a fog node. This paper demonstrates the industrial feasibility and practicality of deploying and managing containerized IoT applications on real devices (raspberry pis and PCs) by utilizing commercial software tools (Docker, WeaveNet). The demonstration will show that the application's functionality is not affected by the distribution of communicating microservices on different nodes.
- Conference Article
39
- 10.23919/indiacom54597.2022.9763171
- Mar 23, 2022
Cloud Computing is an emerging technology that is used not only by developers but also by end-users. It has vital importance in the Information Technology (IT) industries as its future would create a great transition from conventional IT services. These days, containerization in cloud computing has become an important research area. The selection of container orchestration tools is one of the difficult tasks for the organizations involved in the management of the vast number of containers. These tools have their strengths, weaknesses, and functionalities which need to be considered. This paper presents a comparative analysis of the container orchestration tools. This analysis would help the professionals to decide whether they need an orchestrator bound to a single technology or an orchestrator which provides the independent solution. In this paper, four popular orchestration tools viz., Kubernetes, Docker Swarm, Mesos, and Redhat OpenShift are analyzed on various parameters viz., security, deployment, stability, scalability, cluster installation, and learning curve. We observed that Kubernetes has the best scheduling features whereas Docker Swarm is easy to use. We also found that Mesos has good scalability whereas OpenShift is a highly secure orchestration tool.
- Conference Article
41
- 10.1109/icbk.2019.00033
- Nov 1, 2019
Compared to the traditional approach of using virtual machines as the basis for the development and deployment of applications running in Cloud-based infrastructures, container technology provides developers with a higher degree of portability and availability, allowing developers to build and deploy their applications in a much more efficient and flexible manner. A number of tools have been proposed to orchestrate complex applications comprising multiple containers requiring continuous monitoring and management actions to meet application-oriented and non-functional requirements. Different container orchestration tools provide different features that incur different overheads. As such, it is not always easy for developers to choose the orchestration tool that will best suit their needs. In this paper we compare the benefits and overheads incurred by the most popular open source container orchestration tools currently available, namely: Kubernetes and Docker in Swarm mode. We undertake a number of benchmarking exercises from well-known benchmarking tools to evaluate the performance overheads of container orchestration tools and identify their pros and cons more generally. The results show that the overall performance of Kubernetes is slightly worse than that of Docker in Swarm mode. However, Docker in Swarm mode is not as flexible or powerful as Kubernetes in more complex situations.
- Research Article
- 10.66108/mna.v3i1.63
- Mar 14, 2024
- Machines and Algorithms
The Internet of Things (IoT) connects smart gadgets. The IoT solution streamlines data collecting and processing. High-quality end-user services are making IoT systems appealing. Users can't get high-quality cloud services quickly. Fog computing computes quickly and provides excellent services. Fog computing is a novel processing layer between the cloud and consumer layers in the standard cloud computing concept. The fog layer uses distributed computing with tiny smart devices and access points. Use in diverse applications raises numerous major challenges. Challenges include network security, capacity, scalability, and latency. Security is a major concern for IoT applications. This paper introduces a novel Internet of Things architecture that blends software-defined networking with fog computing. We suggested access control management and trust evaluation algorithms. Our methodology allows fog computing systems to dynamically add fog nodes. Newly connected nodes get non-sensitive jobs. IoT devices and fog nodes may interact, exchange services, and report fog node activity to the Fog Manager node. The FMN measures fog node weight confidence based on behavior. This assessment checks for harmful devices that might compromise system or protection quality. Due to such diagnostics, the fog system filters away unreliable nodes and overweights confident nodes. We tested our technique in iFogSim using Java. The simulation results show that our system can recognize and eliminate harmful attacks/interactions among fog nodes in the fog environment.
- Book Chapter
4
- 10.1007/978-981-15-6044-6_2
- Jan 1, 2020
Dictionary meaning of FOG: Vaporized condensed fine particles of water spread in the lower atmosphere that differs from cloud only in being near the ground. Fog Computing actually works almost the same way as its dictionary meaning. The term Fog computing was coined by Cisco Systems Inc., which later formed a Consortium named “OpenFog consortium”, with other high tech companies and academic institutions around the world aimed at the standardization and promotion of fog computing (Bonomi et al. in Proceedings of the First Edition of the MCC Workshop on Mobile Cloud Computing-MCC ’12, Helsinki, Finland, pp. 13–15 [1]). Fog computing is an extension of cloud computing, which helps in strengthening the cloud paradigm. Cloud is the backbone for IoT devices. According to Gartner, Inc., 20.4 billion connected things will be in use worldwide by 2020. All these devices will produce huge amounts of hot data that need to be processed quickly. Fog computing brings cloud closer to IoT devices and provides real-time processing of data. Fog computing in the IoT also helps in improving efficiency, performance and reduces the amount of data transferred to cloud for processing, data analysis, and storage. We will see in this chapter, the role of fog computing to improve IoT/cloud paradigm. This chapter introduces you to the Genesis of fog computing, Role of fog computing in IoT applications, why to use fog computing, Architecture of fog computing, how fog computing works, fog nodes, Characteristics of fog computing, Comparing Fog computing with cloud computing, difference between fog and edge computing, Advantages and disadvantage of fog computing, and applications of fog computing. After studying this chapter, you will become familiar with the overall concept of fog computing in the context of IoT applications.
- Book Chapter
6
- 10.1007/978-3-030-41005-6_5
- Jan 1, 2020
Fog Computing is characterized as an intermediate layer between the Internet of Things layer and the Cloud Computing layer, which pre-processes information closer to the sensors. However, given the increasing demand for numerous IoT applications, even when close to the sensors, Fog nodes tend to be overloaded, compromising the response times of IoT applications that have latency restrictions, and consequently compromising users’ quality experience too. In this work, we investigated ways to mitigate this problem in order to keep Fog Computing with a homogeneous distribution of load, even in heterogeneous environments, through the distribution of tasks among several computational nodes that compose Fog Computing, performing a dynamic load balancing in real time. For this, an algorithm model is presented, which takes into account the dynamics and heterogeneity of the computational nodes of Fog Computing, which allocates the tasks to the most appropriate node according to the policies predefined by the network administrator. Results show that in the proposed work the homogeneous distribution of tasks was achieved between the Fog nodes, and there was a decrease in response times when compared to other proposed solution.
- Book Chapter
11
- 10.1007/978-981-16-3448-2_8
- Sep 8, 2021
Various IoT gadgets are ceaselessly increasing day by day and producing an enormous volume of raw data. All of this produced information is passed to cloud servers for processing. As this process adds delay to processing, so it is not suitable for certain applications as some applications require a speedy response. To overcome this condition, fog computing comes in existent, which is an extension to cloud computing. Also, in the present time, fog is the most popular technology due to the vast demand for IoT devices. The fog nodes are placed between IoT devices and the cloud servers. As the execution of the request is performed at the fog layer so it can work with a limited number of resources i.e., less bandwidth, cost, and time as the processing is pushed closer to the end clients. The most challenging task in a fog environment is to appropriately distribute workload among computing nodes during the execution of IoT applications as it is one of the important factors which affect resource efficiency. The performance of any computing paradigm is directly proportional to the load balancing handling mechanism; poor mechanism reduces the overall performance of any computing environment. Realizing the challenge of load balancing among the computing nodes in the fog environment, various mechanisms and methods have been proposed so far and various experiments have also been conducted by the researchers to check the effectiveness of the mechanism. The appropriate load balancing mechanism will increase the effectiveness of the fog system due to better resource utilization. The chapter presents a framework (OLBA) for Load Balancing in Fog computing environments to balance the load between fog devices and improves QoS parameters i.e., Turnaround time resource utilization, response time, and delay parameter. This approach is based on Particle Swarm Optimization (PSO) technique to find the local best and then to compare all the local best to find the ultimate global best solution. An analysis and comparison with the traditional techniques, i.e., FCFS, SJF, Max_Min is also performed for a better understanding of load balancing mechanism in Fog Computing.
- Conference Article
4
- 10.23919/softcom50211.2020.9238245
- Sep 17, 2020
The Edge and Fog Computing paradigms enable the development of new services and applications for future network scenarios. As a result, interest arises in developing Internet of Things applications for these new paradigms. One challenge is how to create and validate such applications in an integrated development environment, considering that it is necessary to investigate how they will behave in those networks. A standard solution would be to simulate those networks before deploying the application. However, most of network simulators does not provide mechanisms to validate applications developed on external tools, such as the ones created in an application middleware. This scenario is especially challenging when considering an Edge and Fog Computing scenario. In this context, this article presents a study and architecture proposal for the integrated development and simulation of IoT applications in Edge and Fog Computing network scenarios. The proposed architecture is based on the integration of the application middleware Node-RED and the OMNeT ++ network simulator extension FogNetSim ++. This integration is handled by a manager component responsible for exchanging data between the middleware and simulator. Test results show how the integration works and how they can be used for IoT application validation.
- Book Chapter
10
- 10.1007/978-981-16-2597-8_32
- Sep 1, 2021
In the cloud computing paradigm data, owners have to put up their data in the cloud. Due to the longest distance between devices and cloud; problem of delay, bandwidth, and jitter is there. Fog computing was introduced to the edge of the network to overcome cloud problems. During the transfer of data between the Internet of Things (IoT) devices and fog node, scheduling of resources and tasks is necessary to enrich quality of service (QoS) parameters. Various optimization and scheduling algorithms were implemented in a fog environment. Still, the fog environment is facing the problem of efficiency, latency, cost, computation time, and total execution time. Earlier PSO (particle swarm optimization) techniques or ACO (ant colony optimization) are provided the solution to NP-hard problems. Over such types of optimization techniques, various optimization algorithms are provided like Dolphin Partner optimization, Grey wolf, Moth-Flame, Firefly, crow, etc. Priority queue, round robin scheduling algorithm implemented on another side for a solution to the problem. In this paper, the implementation comparison of PSO, ACO on the cloud, and Fog is contrasting using iFogSim toolkit. The results of QoS parameters makespan and cost in fog computing are showing enhancement in QoS over cloud computing.
- Research Article
77
- 10.3390/s19102238
- May 14, 2019
- Sensors (Basel, Switzerland)
The Internet-of-Things (IoT) and Smart Cities continue to expand at enormous rates. Centralized Cloud architectures cannot sustain the requirements imposed by IoT services. Enormous traffic demands and low latency constraints are among the strictest requirements, making cloud solutions impractical. As an answer, Fog Computing has been introduced to tackle this trend. However, only theoretical foundations have been established and the acceptance of its concepts is still in its early stages. Intelligent allocation decisions would provide proper resource provisioning in Fog environments. In this article, a Fog architecture based on Kubernetes, an open source container orchestration platform, is proposed to solve this challenge. Additionally, a network-aware scheduling approach for container-based applications in Smart City deployments has been implemented as an extension to the default scheduling mechanism available in Kubernetes. Last but not least, an optimization formulation for the IoT service problem has been validated as a container-based application in Kubernetes showing the full applicability of theoretical approaches in practical service deployments. Evaluations have been performed to compare the proposed approaches with the Kubernetes standard scheduling feature. Results show that the proposed approaches achieve reductions of 70% in terms of network latency when compared to the default scheduling mechanism.
- Research Article
21
- 10.1016/j.jpdc.2024.104837
- Jan 9, 2024
- Journal of Parallel and Distributed Computing
Proactive auto-scaling technique for web applications in container-based edge computing using federated learning model