Analyzing the Applicability of Kubernetes for the Deployment of an IoT Publish/Subscribe System

Master Thesis (2019)
Author(s)

M. Tavakkoli (TU Delft - Electrical Engineering, Mathematics and Computer Science)

Contributor(s)

D.H.J. Epema – Mentor (TU Delft - Data-Intensive Systems)

Jan Rellermeyer – Graduation committee member (TU Delft - Data-Intensive Systems)

F.A. Kuipers – Graduation committee member (TU Delft - Embedded Systems)

Kimmo Hätönen – Coach (Nokia Bell Labs)

Faculty
Electrical Engineering, Mathematics and Computer Science
Copyright
© 2019 Maryam Tavakkoli
More Info
expand_more
Publication Year
2019
Language
English
Copyright
© 2019 Maryam Tavakkoli
Graduation Date
21-10-2019
Awarding Institution
Delft University of Technology
Project
['EIT Digital Master’s Programme in Cloud Computing and Services']
Programme
['Computer Science']
Faculty
Electrical Engineering, Mathematics and Computer Science
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

With the increased availability and affordability of miniature computing devices,
such as sensors, the era of Internet of Things (IoT) has arrived. Meanwhile, the developments of the cellular mobile technologies and emerge of 5G accelerated the adoption of IoT scenarios within mobile networks. Rapid growth in the number of IoT devices has resulted in greater volumes of data being generated and exchanged between various entities. This highlights the need for efficient data transmission between data producers and consumers. To this goal, Nokia Bell Labs has developed a distributed data dissemination system based on Publish/Subscribe messaging protocol and according to the micro-service architecture. Currently, the system is deployed on virtual machines (VM), where the corresponding compiled Java file (Jar file) of each micro-service is running on a separate VM. This approach for deployment might cause a problem, named ’Dependency Hell’ for the continuous integration and continuous development (CI/CD) workflow. Moreover, one of the system’s limitations is that no service discovery is present. Instead, services are connected through hard-coded IP addresses, defined on their corresponding configuration files. Hence, IPs must be changed manually per deployment according to the infrastructure.
To solve the present limitations, this thesis proposes a deployment based on
Kubernetes. Kubernetes is a container orchestration framework that introduces
several benefits for the deployment process including automation, management,
monitoring and scaling of multi-container packaged applications, such as the current Pub/Sub IoT system. A proof-of-concept solution for the deployment of the system using Kubernetes is presented and its implications on the system’s efficiency and scalability are discussed.

Files

License info not available