Έξυπνο σύστημα παρακολούθησης του περιβάλλοντος με χρήση τεχνολογιών μικροϋπηρεσιών και εικονικοποίησης βασισμένης σε περιέκτες
Smart environmental monitoring system using microservices and container-based virtualization
Διπλωματική εργασία
Author
Βασιλάκος, Θεμιστοκλής
Date
2024-03-11Keywords
Microservices ; Containers ; IoT ; Virtualization ; Environment pollution ; Μικροϋπηρεσίες ; Εικονοποίηση ; Περιέκτες ; Διαδίκτυο των αντικειμένων ; Μόλυνση περιβάλλοντοςAbstract
Αντικείμενο της διπλωματικής εργασίας αποτέλεσε η μελέτη, ο σχεδιασμός και η ανάπτυξη
ενός έξυπνου συστήματος παρακολούθησης του περιβάλλοντος (environmental monitoring)
με χρήση τεχνικών εικονικοποίησης βασισμένης σε περιέκτες (container-based virtualization)
και αρχιτεκτονικής μικροϋπηρεσιών (microservices architecture).
Αρχικά, μελετήθηκαν οι απαιτήσεις ενός συστήματος παρακολούθησης του περιβάλλοντος
ως προς τη συλλογή των απαιτούμενων δεδομένων (για την ποιότητα του αέρα, του νερού,
του εδάφους κ.α. μετρήσεων) με χρήση ειδικού εξοπλισμού/συσκευών (sensors κλπ).
Στη συνέχεια αναλύθηκαν σε θεωρητικό επίπεδο σύγχρονες τεχνολογίες και εργαλεία που
χρησιμοποιούνται τόσο στην ανάπτυξη λογισμικού γενικότερα, όσο και στα πλαίσια της
εργασίας αυτής.
Τέλος, υλοποιήθηκε μία εφαρμογή συγκέντρωσης και επεξεργασίας των δεδομένων αυτών
(με σκοπό την παροχή υπηρεσιών πληροφόρησης και τη δρομολόγηση απαιτούμενων
ενεργειών, σε άμεσο, βραχυπρόθεσμο και μακροπρόθεσμο επίπεδο), η οποία βασίστηκε στα
εργαλεία Docker και Kubernetes (με απώτερο στόχο την αποδοτική υποστήριξη και
ενορχήστρωση των παρεχόμενων υπηρεσιών σε κατανεμημένο περιβάλλον.
Abstract
The subject of this thesis was the study, design and development of an intelligent
environmental monitoring system using container-based virtualization techniques and
microservices architecture.
Initially, the requirements of an environmental monitoring system were studied in terms of
collecting the required data (air quality, water quality, soil quality, and other measurements)
using specific equipment/devices (sensors, etc.).
Subsequently, modern technologies and tools used both in software development in general
and in the context of this work were analyzed on a theoretical level.
Finally, an application for the collection and processing of this data (in order to provide
information services and the routing of required actions, in the immediate, short and long
term) was implemented, based on Docker and Kubernetes tools (with the ultimate goal of
efficient support and orchestration of the services provided in a distributed environment.