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

More Info
expand_more

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.