Ανάπτυξη εφαρμογής έξυπνων κάδων με χρήση τεχνολογιών μικροϋπηρεσιών και εικονικοποίησης βασισμένης σε περιέκτες
Smart wastebin application development using microservices and container-based virtualization technologies
Μεταπτυχιακή διπλωματική εργασία
Author
Καραγιαννάκης, Στυλιανός
Θεοδωρόπουλος, Ιωάννης
Date
2023-04-10Keywords
Cloud computing ; Virtualization ; Waste management ; Internet of things ; Container orchestration ; Blockchain ; Υπολογιστική νέφους ; Εικονικοποίηση ; Εφαρμογή έξυπνων κάδων ; Waste management ; Διαχείριση αποβλήτωνAbstract
Η διπλωματική εργασία αυτή αποτελεί ένα λιθαράκι στην δημιουργία ενός ολοκληρωμένου συστήματος συλλογής και επεξεργασίας πληροφοριών που αφορούν την διαχείριση έξυπνων κάδων στα πλαίσια ενός ευρύτερου πλάνου βελτιστοποίησης των λειτουργιών μια έξυπνης πόλης. Ασχολείται με την διερεύνηση των υποστηρικτικών τεχνολογιών εικονικοποίησης (virtualization) στην υπολογιστική νέφους (cloud computing), με έμφαση στην τεχνική της εικονικοποίησης σε επίπεδο λειτουργικού συστήματος (os-level virtualization) η οποία αποτελεί μια από τις πλέον σύγχρονες τάσεις. Το αντικείμενο της είναι η ανάπτυξη εφαρμογής έξυπνων κάδων απορριμμάτων που θα επικοινωνούν με ένα κεντρικό σημείο - κάδο και με το υπολογιστικό νέφος με χρήση τεχνολογιών μικροϋπηρεσιών και εικονικοποίησης βασισμένης σε περιέκτες.
Η πρώτη μικροϋπηρεσία θα παράγει τιμές από τους εικονικούς αισθητήρες και θα τις αποστέλλει στην κεντρική μικροϋπηρεσία. Η κεντρική μικροϋπηρεσία που θα διαχειρίζεται τον κεντρικό κάδο θα λαμβάνει αποφάσεις, θα αποθηκεύει τις πληροφορίες σε βάση δεδομένων ταχείας προσπέλασης (redis) και σε βάση δεδομένων μακράς διαρκείας (mongoDB) και ανάλογα την απόφαση θα αποστέλλει εντολή στην αρχική μικροϋπηρεσία για εκκίνηση ενεργοποιητή (actuator). Άλλη μικροϋπηρεσία θα εξυπηρετεί τον ρόλο της διεπαφής προγραμματισμού εφαρμογών (API) που θα αντλεί δεδομένα από την βάση δεδομένων mongoDB και θα τα παρέχει στην επόμενη μικροϋπηρεσία. Η τελευταία μικροϋπηρεσία θα εμφανίζει τα δεδομένα των κάδων σε όμορφο και λειτουργικό περιβάλλον ιστοσελίδας με δυνατότητες διαχείρισης τους.
Διερευνήθηκε-μελετήθηκε η χρήση των περιεκτών (containers) (ως υποστηρικτική υποδομή φιλοξενίας) σε συνδυασμό με την τεχνολογία ανάπτυξης εφαρμογών με την αρχιτεκτονική των μικροϋπηρεσιών σε επίπεδο περιέκτη, και αναπτύχθηκε και αξιολογήθηκε-μελετήθηκε ενδεικτική εφαρμογή-σενάριο χρήσης στο χώρο του Διαδικτύου των Αντικειμένων (IoT). Διερευνήθηκαν και παρουσιάζονται τα χαρακτηριστικά, η χρησιμότητα και η λειτουργικότητα των αισθητήρων που μπορούν να τοποθετηθούν σε έξυπνους κάδους. Διερευνήθηκαν επίσης και παρουσιάζονται συγκριτικά τα χαρακτηριστικά και δυνατότητες των κυριότερων εργαλείων-προϊόντων που διατίθενται στην αγορά για υποστήριξη-διαχείριση και ενορχήστρωση των παρεχόμενων υπηρεσιών (Kubernetes, Docker Swarm, Nomad).
Abstract
This thesis explores the use of virtualization technologies in cloud computing, specifically the os-level virtualization technique, to develop a smart waste bin application that communicates with a central point and the cloud using microservices and container-based virtualization. The thesis aims to contribute to the development of an integrated information collection and processing system for smart waste bins as part of a broader plan to optimize the functions of a smart city.
The first microservice will generate values from virtual sensors and send them to the central microservice. The central microservice that manages the central bin will make decisions, store information in a high-speed database (Redis) and in a long-term database (MongoDB), and based on the decision, send a command to the initial microservice to start an actuator. Another microservice will serve as the application programming interface (API) interface that retrieves data from the MongoDB database and provides it to the next layer of the application. The final microservice will display the data of the bins in a beautiful and functional website environment with management capabilities.
The use of containers as a hosting infrastructure was explored and studied in combination with application development technology with microservices architecture at the container level, and an indicative use case scenario application was developed and evaluated in the Internet of Things (IoT) space. The characteristics, usefulness, and functionality of sensors that can be placed in smart bins were also explored and presented. Additionally, the characteristics and capabilities of the main tools and products available in the market to support, manage, and orchestrate the provided services (Kubernetes, Docker Swarm, Nomad) were also explored and comparatively presented.