Abstract:

In recent years, Internet of Things is envisioned to become a promising paradigm in the future Internet. It allows physical objects or things to interact with each other and with users, thus providing machine-to-machine communication that is long been promised. As this paradigm continues to grow, it is changing the nature of the devices that are being attached. This opens a path of embedded systems to be the natural means of communication, control, and development. The ability of these systems to connect and share useful information via Internet is becoming ubiquitous.

In many cases, enormous amount of data is generated from embedded devices that need to be processed in an efficient way along with the required computation power. Container-based virtualization has come into existence to accomplish those needs in order to produce an improved system, which has the capability to adapt operational features in terms of security, availability, and isolation.

This thesis project is aimed to design and develop a Kubernetes managed container-based embedded IoT sensor node through the use of a cluster. In this project, the cluster was formed by connecting five Raspberry Pi boards to a network switch. This sensor node operates by collecting data from camera and temperature sensors, processing it in a containerized environment, and then sending it to the cloud platform using the Apache Kafka framework. The main motivation of adopting state-of-the-art technologies is to achieve fault-tolerant behavior and processing location flexibility using edge computing. In the end, the overall cluster is evaluated on the basis of architecture, performance, fault-tolerance, and high availability that depicts the feasibility, scalability, and robustness of this sensor node. The experimental results also conclude that the cluster is fault tolerant and has a flexibility over data processing in terms of cloud and edge computing.