title: Dynamic micro-service placement in hybrid cloud - fog infrastructures

title: Δυναμική τοποθέτηση μικρο-υπηρεσιών σε υβριδικό περιβάλλον υπολογιστικού νέφους και ομίχλης
Creators: name: Προυντζος Αθανασιος
Publisher: name: Technical University of Crete
Year: 2023

description: This thesis delves into the problem of microservice placement and load balancing in distributed multicluster Fog-Cloud systems. Minimization of both application response times and utilization of resources is the primary objective of the proposed method. In this study, the systems under investigation are formulated as a three-layered hierarchical model. The top layer represents the Cloud, which encompasses the centralized computing infrastructure and resources. The middle layer represents the Fog, which consists of intermediate computing nodes located closer to the edge devices and data sources. Finally, the bottom layer represents the Edge, which includes the edge devices and sensors that generate and consume data while also providing a small computing capacity. Application users connect to the Edge. Applications are modeled as Service Oriented Architectures which comprise multiple (micro)services. Placing microservices closer to the Edge is deemed to reduce the response time of an application, as opposed to services placed at the upper layers. As many applications can be running on the same infrastructure and as the resources of the Edge and the Fog are limited, choosing services to run on the Edge or the Fog is the problem this work is dealing with. The top layer (the Cloud) exhibits virtually unlimited resources, but running the application on the cloud might not be optimal in terms of response time. Each layer consists of multiple clusters of machines, with resource constraints increasing, as we move towards lower layers, primarily in terms of CPU and RAM resources. The proposed system, DeFog, focuses on decentralized service placement within each cluster, eliminating the need for coordination between clusters. To gather essential data and monitor applications, Service Mesh technologies, such as Linkerd are utilized. DeFog utilizes this data to apply the proposed strategies and achieve efficient load balancing within the system. To evaluate the effectiveness of the strategies, two realistic microservices-based applications, Google's Online Boutique and iXen for processing IoT information, are deployed in a heterogeneous multicluster environment on the Google Cloud Platform. Through extensive experimentation and performance evaluation, the latencies of each strategy are measured and compared under various loads and for various placement policies. The experimental results demonstrate that the proposed strategies successfully reduce response latencies and achieve load balancing, preventing any single service from being overwhelmed and ensuring a smooth user experience. The utilization of realistic applications in a heterogeneous multicluster environment adds practicality and relevance to the evaluation, validating the effectiveness of the proposed strategies in real-world scenarios.
description: Αυτή η διπλωματική εργασία εμβαθύνει στο πρόβλημα της τοποθέτησης μικροϋπηρεσιών και της εξισορρόπησης φορτίου σε κατανεμημένα συστήματα ομίχλης-νεφους πολλαπλών cluster. Η ελαχιστοποίηση και των δύο, των χρόνων απόκρισης εφαρμογής και της χρήσης των πόρων είναι ο πρωταρχικός στόχος της προτεινόμενης μεθόδου. Σε αυτή τη μελέτη, τα υπό διερεύνηση συστήματα διατυπώνονται ως ένα ιεραρχικό μοντέλο τριών επιπέδων. Το ανώτερο επίπεδο αντιπροσωπεύει το Cloud, το οποίο περιλαμβάνει την κεντρική υπολογιστική υποδομή και πόρους. Το μεσαίο στρώμα αντιπροσωπεύει το Fog, το οποίο αποτελείται από ενδιάμεσους υπολογιστικούς κόμβους που βρίσκονται πιο κοντά στις συσκευές του Edge και τις πηγές δεδομένων. Τέλος, το κάτω στρώμα αντιπροσωπεύει το Edge, το οποίο περιλαμβάνει τις Edge συσκευές και αισθητήρες που δημιουργούν και καταναλώνουν δεδομένα, ενώ παρέχουν επίσης μια μικρή υπολογιστική ικανότητα. Οι χρήστες εφαρμογών συνδέονται στο Edge. Οι εφαρμογές μοντελοποιούνται ως Service Oriented Architectures που περιλαμβάνουν πολλαπλές (μικρο)υπηρεσίες. Η τοποθέτηση μικροϋπηρεσιών πιο κοντά στο Edge θεωρείται ότι μειώνει τον χρόνο απόκρισης μιας εφαρμογής, σε αντίθεση με τις υπηρεσίες που τοποθετούνται στα ανώτερα επίπεδα. Καθώς πολλές εφαρμογές μπορούν να εκτελούνται στην ίδια υποδομή και καθώς οι πόροι του Edge και του Fog είναι περιορισμένοι, η επιλογή υπηρεσιών για εκτέλεση στο Edge ή το Fog είναι το πρόβλημα που αντιμετωπίζει αυτή η εργασία. Το ανώτερο στρώμα (το Cloud) εμφανίζει ουσιαστικά απεριόριστους πόρους, αλλά η εκτέλεση της εφαρμογής στο cloud μπορεί να μην είναι η βέλτιστη από την άποψη του χρόνου απόκρισης. Κάθε επίπεδο αποτελείται από πολλαπλά clusters μηχανών, με τους περιορισμούς πόρων να αυξάνονται καθώς προχωράμε προς τα χαμηλότερα επίπεδα, κυρίως όσον αφορά τους πόρους CPU και RAM. Το προτεινόμενο σύστημα, το DeFog, εστιάζει στην αποκεντρωμένη τοποθέτηση υπηρεσιών σε κάθε cluster, εξαλείφοντας την ανάγκη για συντονισμό μεταξύ των cluster. Για τη συλλογή βασικών δεδομένων και την παρακολούθηση εφαρμογών, χρησιμοποιούνται τεχνολογίες Service Mesh, όπως το Linkerd. Το DeFog χρησιμοποιεί αυτά τα δεδομένα για να εφαρμόσει τις προτεινόμενες στρατηγικές και να επιτύχει αποτελεσματική εξισορρόπηση φορτίου εντός του συστήματος. Για την αξιολόγηση της αποτελεσματικότητας των στρατηγικών, δύο ρεαλιστικές εφαρμογές που βασίζονται σε μικροϋπηρεσίες, η Online Boutique της Google και το iXen για την επεξεργασία πληροφοριών IoT, αναπτύσσονται σε ένα ετερογενές περιβάλλον πολλαπλών clusters στην πλατφόρμα Google Cloud. Μέσω εκτεταμένων πειραματισμών και αξιολογήσεων απόδοσης, οι καθυστερήσεις κάθε στρατηγικής μετρώνται και συγκρίνονται κάτω από διάφορα φορτία και για τις διάφορες πολιτικές τοποθετήσεων. Τα πειραματικά αποτελέσματα καταδεικνύουν ότι οι προτεινόμενες στρατηγικές μειώνουν επιτυχώς τις καθυστερήσεις απόκρισης και επιτυγχάνουν εξισορρόπηση φορτίου, αποτρέποντας την καταπόνηση οποιασδήποτε υπηρεσίας και διασφαλίζοντας μια ομαλή εμπειρία χρήστη. Η χρήση ρεαλιστικών εφαρμογών σε ένα ετερογενές περιβάλλον πολλαπλών clusters προσθέτει πρακτικότητα και συνάφεια στην αξιολόγηση, επικυρώνοντας την αποτελεσματικότητα των προτεινόμενων στρατηγικών σε σενάρια πραγματικού κόσμου.