{"id":{"repo_id":"athens","oai_identifier":"oai:lib.uoa.gr:uoadl:5327694"},"canonical_url":"https://search.dev.ndltd.org/etd/athens/oai:lib.uoa.gr:uoadl:5327694","repository":{"repo_id":"athens","name":"National and Kapodistrian University of Athens","base_url":"https://pergamos.lib.uoa.gr/uoa/dl/frontend/oaipmh"},"display":{"title":"Design and Implementation of a Serverless MapReduce Framework","abstract":"Η ταχεία αύξηση του όγκου των δεδομένων έχει δημιουργήσει την ανάγκη για κλιμακώσιμες, οικονομικά αποδοτικές και ευέλικτες λύσεις επεξεργασίας. Τα παραδοσιακά MapReduce frameworks εξαρτώνται συνήθως από στατικές υποδομές, οι οποίες μπορεί να είναι δαπανηρές και σύνθετες στην εγκατάσταση. Το serverless computing προσφέρει on-demand εκτέλεση με αυτόματη και παραμετροποιήσιμη κλιμάκωση και παρέχει μια εναλλακτική τεχνική για την κατανεμημένη επεξεργασία δεδομένων. Σε αυτή τη διπλωματική εργασία, παρουσιάζεται ένα MapReduce framework βασισμένο στο μοντέλο Function as a Service (FaaS), το οποίο χρησιμοποιεί το Kubernetes για την ανάπτυξη, το Knative για τη διαχείριση των serverless workloads και cloud native υπηρεσίες για την αποθήκευση και τη διαχείριση δεδομένων. Το framework οργανώνεται σε πέντε μερικώς συζευγμένες υπηρεσίες και jobs, οι οποίες ενεργοποιούνται μέσω της πλατφόρμας Apache Kafka event streaming. Σε μια εργασία MapReduce, τα δεδομένα αρχικά διαχωρίζονται σε τμήματα με βάση τον αριθμό των Mapper jobs. Στη συνέχεια εκτελούνται τα Mapper και Reducer containers και, τέλος, εφόσον έχει ενεργοποιηθεί, ένα Finalizer component συγχωνεύει τα αποτελέσματα σε ένα ενιαίο τελικό αρχείο. Η ροή αυτή διαχειρίζεται από ένα κεντρικό component, τον Coordinator. Όλα τα components εκτελούνται ως ανεξάρτητοι Knative πόροι, οι οποίοι μπορούν να εκκινηθούν από μηδενικό αριθμό replicas. Τα metadata διαχειρίζονται μέσω μιας βάσης δεδομένων Redis, ενώ το AWS S3 αποθηκεύει τόσο τα ενδιάμεσα όσο και τα τελικά αποτελέσματα. Το framework είναι εύχρηστο και μπορεί να παραμετροποιηθεί μέσω μιας client-side βιβλιοθήκης Python. Οι χρήστες μπορούν να ορίσουν ρυθμίσεις σε αρχείο JSON, να επιλέξουν τον αριθμό των Mappers και Reducers και να ορίσουν δικές τους map και reduce συναρτήσεις. Με τον τρόπο αυτό, το framework προσαρμόζεται στις απαιτήσεις του κάθε φόρτου εργασίας. Η πειραματική αξιολόγηση πραγματοποιήθηκε σε περιβάλλον Kubernetes στο AWS μέσω EKS, καθώς και τοπικά με χρήση Minikube. Τα αποτελέσματα δείχνουν ότι το framework κλιμακώνεται, επιτυγχάνει ανταγωνιστικούς χρόνους εκτέλεσης και παρέχει έναν απλό και ασφαλή τρόπο για την εκτέλεση MapReduce εργασιών. Το framework δείχνει ότι μια serverless υλοποίηση του MapReduce μπορεί να αποτελέσει μια πρακτική εναλλακτική στα παραδοσιακά συστήματα κατανεμημένης επεξεργασίας δεδομένων. Η χρήση event driven αρχιτεκτονικής, container orchestration και cloud native υπηρεσιών αποθήκευσης μειώνει την ανάγκη για αποκλειστική υποδομή, διατηρώντας παράλληλα υψηλή απόδοση και αξιοπιστία. Η χρήση πόρων, όπως CPU και μνήμη, παρακολουθήθηκε μέσω του Prometheus, παρέχοντας λεπτομερή εικόνα της αξιοποίησης των πόρων του συστήματος.","abstract_html":"Η ταχεία αύξηση του όγκου των δεδομένων έχει δημιουργήσει την ανάγκη για κλιμακώσιμες, οικονομικά αποδοτικές και ευέλικτες λύσεις επεξεργασίας. Τα παραδοσιακά MapReduce frameworks εξαρτώνται συνήθως από στατικές υποδομές, οι οποίες μπορεί να είναι δαπανηρές και σύνθετες στην εγκατάσταση. Το serverless computing προσφέρει on-demand εκτέλεση με αυτόματη και παραμετροποιήσιμη κλιμάκωση και παρέχει μια εναλλακτική τεχνική για την κατανεμημένη επεξεργασία δεδομένων. Σε αυτή τη διπλωματική εργασία, παρουσιάζεται ένα MapReduce framework βασισμένο στο μοντέλο Function as a Service (FaaS), το οποίο χρησιμοποιεί το Kubernetes για την ανάπτυξη, το Knative για τη διαχείριση των serverless workloads και cloud native υπηρεσίες για την αποθήκευση και τη διαχείριση δεδομένων. Το framework οργανώνεται σε πέντε μερικώς συζευγμένες υπηρεσίες και jobs, οι οποίες ενεργοποιούνται μέσω της πλατφόρμας Apache Kafka event streaming. Σε μια εργασία MapReduce, τα δεδομένα αρχικά διαχωρίζονται σε τμήματα με βάση τον αριθμό των Mapper jobs. Στη συνέχεια εκτελούνται τα Mapper και Reducer containers και, τέλος, εφόσον έχει ενεργοποιηθεί, ένα Finalizer component συγχωνεύει τα αποτελέσματα σε ένα ενιαίο τελικό αρχείο. Η ροή αυτή διαχειρίζεται από ένα κεντρικό component, τον Coordinator. Όλα τα components εκτελούνται ως ανεξάρτητοι Knative πόροι, οι οποίοι μπορούν να εκκινηθούν από μηδενικό αριθμό replicas. Τα metadata διαχειρίζονται μέσω μιας βάσης δεδομένων Redis, ενώ το AWS S3 αποθηκεύει τόσο τα ενδιάμεσα όσο και τα τελικά αποτελέσματα. Το framework είναι εύχρηστο και μπορεί να παραμετροποιηθεί μέσω μιας client-side βιβλιοθήκης Python. Οι χρήστες μπορούν να ορίσουν ρυθμίσεις σε αρχείο JSON, να επιλέξουν τον αριθμό των Mappers και Reducers και να ορίσουν δικές τους map και reduce συναρτήσεις. Με τον τρόπο αυτό, το framework προσαρμόζεται στις απαιτήσεις του κάθε φόρτου εργασίας. Η πειραματική αξιολόγηση πραγματοποιήθηκε σε περιβάλλον Kubernetes στο AWS μέσω EKS, καθώς και τοπικά με χρήση Minikube. Τα αποτελέσματα δείχνουν ότι το framework κλιμακώνεται, επιτυγχάνει ανταγωνιστικούς χρόνους εκτέλεσης και παρέχει έναν απλό και ασφαλή τρόπο για την εκτέλεση MapReduce εργασιών. Το framework δείχνει ότι μια serverless υλοποίηση του MapReduce μπορεί να αποτελέσει μια πρακτική εναλλακτική στα παραδοσιακά συστήματα κατανεμημένης επεξεργασίας δεδομένων. Η χρήση event driven αρχιτεκτονικής, container orchestration και cloud native υπηρεσιών αποθήκευσης μειώνει την ανάγκη για αποκλειστική υποδομή, διατηρώντας παράλληλα υψηλή απόδοση και αξιοπιστία. Η χρήση πόρων, όπως CPU και μνήμη, παρακολουθήθηκε μέσω του Prometheus, παρέχοντας λεπτομερή εικόνα της αξιοποίησης των πόρων του συστήματος.","abstract_has_math":false,"creators":["ΧΑΤΖΟΠΟΥΛΟΣ ΑΓΓΕΛΟΣ-ΔΩΡΟΘΕΟΣ","CHATZOPOULOS ANGELOS-DOROTHEOS"],"institution":null,"degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":null,"school":null,"contributors":[],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2026,"date_issued":"2026","date_published":"2026","updated_at":"2026-07-24T01:01:44Z","subjects":["Θετικές Επιστήμες","Science"],"languages":["Ελληνικά","English","Greek"],"rights":[],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["uoadl:5327694"],"render_values":[{"text":"uoadl:5327694","href":null,"code":true}]}]},"links":{"outbound_url":"https://pergamos.lib.uoa.gr/uoa/dl/object/5327694","outbound_label":"Repository record","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:creator","label":"Author","values":["ΧΑΤΖΟΠΟΥΛΟΣ ΑΓΓΕΛΟΣ-ΔΩΡΟΘΕΟΣ","CHATZOPOULOS ANGELOS-DOROTHEOS"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2026"]},{"key":"dc:type","label":"Dc Type","values":["born_digital_postgraduate_thesis","Διπλωματική Εργασία","Postgraduate Thesis"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Θετικές Επιστήμες","Science"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["Ελληνικά","English","Greek"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["uoadl:5327694","https://pergamos.lib.uoa.gr/uoa/dl/object/5327694"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Η ταχεία αύξηση του όγκου των δεδομένων έχει δημιουργήσει την ανάγκη για κλιμακώσιμες, οικονομικά αποδοτικές και ευέλικτες λύσεις επεξεργασίας. Τα παραδοσιακά MapReduce frameworks εξαρτώνται συνήθως από στατικές υποδομές, οι οποίες μπορεί να είναι δαπανηρές και σύνθετες στην εγκατάσταση. Το serverless computing προσφέρει on-demand εκτέλεση με αυτόματη και παραμετροποιήσιμη κλιμάκωση και παρέχει μια εναλλακτική τεχνική για την κατανεμημένη επεξεργασία δεδομένων. Σε αυτή τη διπλωματική εργασία, παρουσιάζεται ένα MapReduce framework βασισμένο στο μοντέλο Function as a Service (FaaS), το οποίο χρησιμοποιεί το Kubernetes για την ανάπτυξη, το Knative για τη διαχείριση των serverless workloads και cloud native υπηρεσίες για την αποθήκευση και τη διαχείριση δεδομένων. Το framework οργανώνεται σε πέντε μερικώς συζευγμένες υπηρεσίες και jobs, οι οποίες ενεργοποιούνται μέσω της πλατφόρμας Apache Kafka event streaming. Σε μια εργασία MapReduce, τα δεδομένα αρχικά διαχωρίζονται σε τμήματα με βάση τον αριθμό των Mapper jobs. Στη συνέχεια εκτελούνται τα Mapper και Reducer containers και, τέλος, εφόσον έχει ενεργοποιηθεί, ένα Finalizer component συγχωνεύει τα αποτελέσματα σε ένα ενιαίο τελικό αρχείο. Η ροή αυτή διαχειρίζεται από ένα κεντρικό component, τον Coordinator. Όλα τα components εκτελούνται ως ανεξάρτητοι Knative πόροι, οι οποίοι μπορούν να εκκινηθούν από μηδενικό αριθμό replicas. Τα metadata διαχειρίζονται μέσω μιας βάσης δεδομένων Redis, ενώ το AWS S3 αποθηκεύει τόσο τα ενδιάμεσα όσο και τα τελικά αποτελέσματα. Το framework είναι εύχρηστο και μπορεί να παραμετροποιηθεί μέσω μιας client-side βιβλιοθήκης Python. Οι χρήστες μπορούν να ορίσουν ρυθμίσεις σε αρχείο JSON, να επιλέξουν τον αριθμό των Mappers και Reducers και να ορίσουν δικές τους map και reduce συναρτήσεις. Με τον τρόπο αυτό, το framework προσαρμόζεται στις απαιτήσεις του κάθε φόρτου εργασίας. Η πειραματική αξιολόγηση πραγματοποιήθηκε σε περιβάλλον Kubernetes στο AWS μέσω EKS, καθώς και τοπικά με χρήση Minikube. Τα αποτελέσματα δείχνουν ότι το framework κλιμακώνεται, επιτυγχάνει ανταγωνιστικούς χρόνους εκτέλεσης και παρέχει έναν απλό και ασφαλή τρόπο για την εκτέλεση MapReduce εργασιών. Το framework δείχνει ότι μια serverless υλοποίηση του MapReduce μπορεί να αποτελέσει μια πρακτική εναλλακτική στα παραδοσιακά συστήματα κατανεμημένης επεξεργασίας δεδομένων. Η χρήση event driven αρχιτεκτονικής, container orchestration και cloud native υπηρεσιών αποθήκευσης μειώνει την ανάγκη για αποκλειστική υποδομή, διατηρώντας παράλληλα υψηλή απόδοση και αξιοπιστία. Η χρήση πόρων, όπως CPU και μνήμη, παρακολουθήθηκε μέσω του Prometheus, παρέχοντας λεπτομερή εικόνα της αξιοποίησης των πόρων του συστήματος.","The rapid growth of data has created a demand for scalable, cost-effective, and flexible processing solutions. Traditional MapReduce frameworks typically depend on dedicated infrastructure, which can be expensive and complex to set up. Serverless computing offers on-demand execution with automatic and configurable scaling. It provides an alternative technique for distributed data processing. In this thesis, a Function-as-a-Service (FaaS) MapReduce framework is presented that uses Kubernetes for deployment, Knative to manage serverless workloads, and cloud-native services for data storage and management. The framework is organized into five loosely coupled services and jobs, which are triggered through the Apache Kafka event streaming platform. In a MapReduce task, data are first divided into chunks based on the configured number of Mapper jobs. The Mapper and Reducer containers are then executed, and finally, if enabled, a Finalizer component merges the results into a single output file. This workflow is managed by a central component called the Coordinator. All components run as independent Knative resources, which can be instantiated from zero. Metadata are managed by a Redis key-value database, while AWS S3 stores both intermediate and final results. The framework is user-friendly and easily configurable via a client-side Python library. Users can specify settings in a JSON file, choose the number of Mappers and Reducers, and define custom map and reduce functions. This allows the framework to be adjusted to the workload’s requirements. Experimental evaluation was performed on Kubernetes using AWS EKS and locally with a Minikube cluster. Results show that the framework can scale, achieve competitive execution times, and provide a simple, secure method for running MapReduce tasks. The framework shows that a serverless MapReduce implementation can serve as a practical alternative to traditional distributed data processing. An event-driven architecture, container orchestration, and cloud-native storage services minimize the need for dedicated infrastructure while maintaining high performance and reliability. Resource usage, including CPU and memory, was monitored using Prometheus, providing detailed insights into hardware utilization."]},{"key":"dc:title","label":"Title","values":["Design and Implementation of a Serverless MapReduce Framework"]}]}],"canonical_facts":{"dc:creator":["ΧΑΤΖΟΠΟΥΛΟΣ ΑΓΓΕΛΟΣ-ΔΩΡΟΘΕΟΣ","CHATZOPOULOS ANGELOS-DOROTHEOS"],"dc:date":["2026"],"dc:description":["Η ταχεία αύξηση του όγκου των δεδομένων έχει δημιουργήσει την ανάγκη για κλιμακώσιμες, οικονομικά αποδοτικές και ευέλικτες λύσεις επεξεργασίας. Τα παραδοσιακά MapReduce frameworks εξαρτώνται συνήθως από στατικές υποδομές, οι οποίες μπορεί να είναι δαπανηρές και σύνθετες στην εγκατάσταση. Το serverless computing προσφέρει on-demand εκτέλεση με αυτόματη και παραμετροποιήσιμη κλιμάκωση και παρέχει μια εναλλακτική τεχνική για την κατανεμημένη επεξεργασία δεδομένων. Σε αυτή τη διπλωματική εργασία, παρουσιάζεται ένα MapReduce framework βασισμένο στο μοντέλο Function as a Service (FaaS), το οποίο χρησιμοποιεί το Kubernetes για την ανάπτυξη, το Knative για τη διαχείριση των serverless workloads και cloud native υπηρεσίες για την αποθήκευση και τη διαχείριση δεδομένων. Το framework οργανώνεται σε πέντε μερικώς συζευγμένες υπηρεσίες και jobs, οι οποίες ενεργοποιούνται μέσω της πλατφόρμας Apache Kafka event streaming. Σε μια εργασία MapReduce, τα δεδομένα αρχικά διαχωρίζονται σε τμήματα με βάση τον αριθμό των Mapper jobs. Στη συνέχεια εκτελούνται τα Mapper και Reducer containers και, τέλος, εφόσον έχει ενεργοποιηθεί, ένα Finalizer component συγχωνεύει τα αποτελέσματα σε ένα ενιαίο τελικό αρχείο. Η ροή αυτή διαχειρίζεται από ένα κεντρικό component, τον Coordinator. Όλα τα components εκτελούνται ως ανεξάρτητοι Knative πόροι, οι οποίοι μπορούν να εκκινηθούν από μηδενικό αριθμό replicas. Τα metadata διαχειρίζονται μέσω μιας βάσης δεδομένων Redis, ενώ το AWS S3 αποθηκεύει τόσο τα ενδιάμεσα όσο και τα τελικά αποτελέσματα. Το framework είναι εύχρηστο και μπορεί να παραμετροποιηθεί μέσω μιας client-side βιβλιοθήκης Python. Οι χρήστες μπορούν να ορίσουν ρυθμίσεις σε αρχείο JSON, να επιλέξουν τον αριθμό των Mappers και Reducers και να ορίσουν δικές τους map και reduce συναρτήσεις. Με τον τρόπο αυτό, το framework προσαρμόζεται στις απαιτήσεις του κάθε φόρτου εργασίας. Η πειραματική αξιολόγηση πραγματοποιήθηκε σε περιβάλλον Kubernetes στο AWS μέσω EKS, καθώς και τοπικά με χρήση Minikube. Τα αποτελέσματα δείχνουν ότι το framework κλιμακώνεται, επιτυγχάνει ανταγωνιστικούς χρόνους εκτέλεσης και παρέχει έναν απλό και ασφαλή τρόπο για την εκτέλεση MapReduce εργασιών. Το framework δείχνει ότι μια serverless υλοποίηση του MapReduce μπορεί να αποτελέσει μια πρακτική εναλλακτική στα παραδοσιακά συστήματα κατανεμημένης επεξεργασίας δεδομένων. Η χρήση event driven αρχιτεκτονικής, container orchestration και cloud native υπηρεσιών αποθήκευσης μειώνει την ανάγκη για αποκλειστική υποδομή, διατηρώντας παράλληλα υψηλή απόδοση και αξιοπιστία. Η χρήση πόρων, όπως CPU και μνήμη, παρακολουθήθηκε μέσω του Prometheus, παρέχοντας λεπτομερή εικόνα της αξιοποίησης των πόρων του συστήματος.","The rapid growth of data has created a demand for scalable, cost-effective, and flexible processing solutions. Traditional MapReduce frameworks typically depend on dedicated infrastructure, which can be expensive and complex to set up. Serverless computing offers on-demand execution with automatic and configurable scaling. It provides an alternative technique for distributed data processing. In this thesis, a Function-as-a-Service (FaaS) MapReduce framework is presented that uses Kubernetes for deployment, Knative to manage serverless workloads, and cloud-native services for data storage and management. The framework is organized into five loosely coupled services and jobs, which are triggered through the Apache Kafka event streaming platform. In a MapReduce task, data are first divided into chunks based on the configured number of Mapper jobs. The Mapper and Reducer containers are then executed, and finally, if enabled, a Finalizer component merges the results into a single output file. This workflow is managed by a central component called the Coordinator. All components run as independent Knative resources, which can be instantiated from zero. Metadata are managed by a Redis key-value database, while AWS S3 stores both intermediate and final results. The framework is user-friendly and easily configurable via a client-side Python library. Users can specify settings in a JSON file, choose the number of Mappers and Reducers, and define custom map and reduce functions. This allows the framework to be adjusted to the workload’s requirements. Experimental evaluation was performed on Kubernetes using AWS EKS and locally with a Minikube cluster. Results show that the framework can scale, achieve competitive execution times, and provide a simple, secure method for running MapReduce tasks. The framework shows that a serverless MapReduce implementation can serve as a practical alternative to traditional distributed data processing. An event-driven architecture, container orchestration, and cloud-native storage services minimize the need for dedicated infrastructure while maintaining high performance and reliability. Resource usage, including CPU and memory, was monitored using Prometheus, providing detailed insights into hardware utilization."],"dc:identifier":["uoadl:5327694","https://pergamos.lib.uoa.gr/uoa/dl/object/5327694"],"dc:language":["Ελληνικά","English","Greek"],"dc:subject":["Θετικές Επιστήμες","Science"],"dc:title":["Design and Implementation of a Serverless MapReduce Framework"],"dc:type":["born_digital_postgraduate_thesis","Διπλωματική Εργασία","Postgraduate Thesis"]},"updated_at":"2026-07-24T01:01:44Z"}