Μελέτη συστήματος διαχείρισης containers για διαδικτυακές εφαρμογές

Η συγκεκριμένη διπλωματική εργασία αφορά την μελέτη ενός συστήματος διαχείρισης containers για διαδικτυακές εφαρμογές. Σε πρώτο στάδιο, για να πραγματοποιηθεί η μελέτη ενός τέτοιου συστήματος θα πρέπει να σχεδιάσουμε και να μοντελοποιήσουμε μια διαδικτυακή εφαρμογή η οποία θα τρέξει μέσα στο σύσ...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Σιαλμάς, Ιωάννης
Άλλοι συγγραφείς: Sialmas, Ioannis
Γλώσσα:Greek
Έκδοση: 2022
Θέματα:
Διαθέσιμο Online:http://hdl.handle.net/10889/15836
id nemertes-10889-15836
record_format dspace
spelling nemertes-10889-158362022-09-05T13:58:37Z Μελέτη συστήματος διαχείρισης containers για διαδικτυακές εφαρμογές Study of container orchestration system for web applications Σιαλμάς, Ιωάννης Sialmas, Ioannis Επεκτασιμότητα Διαδικτυακές εφαρμογές Kυβερνήτης Scalability Web applications Kubernetes Η συγκεκριμένη διπλωματική εργασία αφορά την μελέτη ενός συστήματος διαχείρισης containers για διαδικτυακές εφαρμογές. Σε πρώτο στάδιο, για να πραγματοποιηθεί η μελέτη ενός τέτοιου συστήματος θα πρέπει να σχεδιάσουμε και να μοντελοποιήσουμε μια διαδικτυακή εφαρμογή η οποία θα τρέξει μέσα στο σύστημα μας. Στον σχεδιασμό της εφαρμογή αυτής θα ληφθεί υπόψη ότι αυτή θα τρέξει μέσα σε ένα container και για αυτόν τον λόγο θα ακολουθήσει μεθοδολογίες σχεδίασης λογισμικού όπως την 12-factor-app, η οποία έχει έχει πολύ καλή συνέργεια με τέτοιες εφαρμογές. Για την αξιολόγηση ενός τέτοιου συστήματος, πραγματοποιήθηκαν κάποια τεστ στα οποία προσομοιώθηκαν συνεδρίες χρηστών της παραπάνω εφαρμογής οι οποίες συνεχώς αυξανόταν με την πάροδο του χρόνου. Τα τεστ αυτά έγιναν σε δυο αρχιτεκτονικές, εκ των οποίων μία είναι πολύ γνωστή και διαδεδομένη σήμερα, ενώ η άλλη είναι προτεινόμενη από εμάς και στηρίζεται στο σύστημα μας. Τα αποτελέσματα ήταν πολύ θετικά καθώς είχαμε πολύ καλύτερο χρόνο απόκρισης στην δική μας αρχιτεκτονική σε σχέση με την διαδεδομένη, ειδικά σε αυξημένο όγκο χρηστών, καθώς επίσης και πολύ λιγότερα σφάλματα. Το παραπάνω έχει σαν αποτέλεσμα ο αριθμός των αιτημάτων που εξυπηρετούνταν σε πραγματικό χρόνο να είναι μεγάλος και θεωρητικά χωρίς όριο καθώς ο αριθμός των containers τα οποία σερβίρουν την εφαρμογή μας είναι δυναμικός και ανάλογος του φόρτου της εφαρμογής,οπότε δεν περιορίζεται στους διαθέσιμους πόρους ενός μόνο μηχανήματος. Τα παραπάνω είναι πολύ σημαντικά καθώς πολλές εφαρμογές, αφού ενώ φαίνεται να έχουν καλή ποιότητα υπό χαμηλό αριθμό χρηστών, υποφέρουν από μεγάλη υποβάθμιση της ποιότητας τους με την αύξηση του φόρτου. Με την αυξημένη ζήτηση για αξιόπιστες και αποδοτικές υποδομές σχεδιασμένες για την εξυπηρέτηση κρίσιμων συστημάτων, οι όροι υψηλή διαθεσιμότητα (high availability) και επεκτασιμότητα (scalability) δεν θα μπορούσαν να είναι πιο δημοφιλή στην σημερινή εποχή. Ενώ η ικανότητα χειρισμού αυξημένου φορτίου(load) ενός συστήματος είναι ένα κοινό πρόβλημα και μέλημα στην κοινότητα των developers, η μείωση του χρόνου εκτός λειτουργίας (downtime) μιας εφαρμογής και η εξάλειψη των απλών σημείων αποτυχίας (single points of failure) είναι εξίσου σημαντικές. Η υψηλή διαθεσιμότητα είναι μια ιδιότητα του σχεδιασμού υποδομής συστημάτων σε μεγάλη κλίμακα που καλύπτει τις ανάγκες αυτές. The thesis covers the observation of a container management system for web applications. As a first step, we will have to design and model a web application which ill run inside our container management system. When designing the application, we will take into account that it will be deployed as a container, and for that reason, it will follow patterns such as 12-factor which has very good synergy with containers. For the evaluation of our setup, we conducted tests that emulated user requests to the above application, which continuously increased with the passage of time. These tests were run in 2 setups, the first being a well known and established topology, while the second is focused based on the container management system. The results were very positive with the container management system setup, as we had a much better response time and lower error rate, especially during high request volume. The above has as a result a very high volume of concurrent requests, and in theory without limit, as the number of our application containers is dynamic and proportional to the traffic volume, so it is not bound to the resources of a single server. The above is very important for many web applications, as while the performance is good while on low traffic volume, there is a high degradation when the load increases. 2022-02-28T07:18:44Z 2022-02-28T07:18:44Z 2022-02-25 http://hdl.handle.net/10889/15836 gr application/pdf
institution UPatras
collection Nemertes
language Greek
topic Επεκτασιμότητα
Διαδικτυακές εφαρμογές
Kυβερνήτης
Scalability
Web applications
Kubernetes
spellingShingle Επεκτασιμότητα
Διαδικτυακές εφαρμογές
Kυβερνήτης
Scalability
Web applications
Kubernetes
Σιαλμάς, Ιωάννης
Μελέτη συστήματος διαχείρισης containers για διαδικτυακές εφαρμογές
description Η συγκεκριμένη διπλωματική εργασία αφορά την μελέτη ενός συστήματος διαχείρισης containers για διαδικτυακές εφαρμογές. Σε πρώτο στάδιο, για να πραγματοποιηθεί η μελέτη ενός τέτοιου συστήματος θα πρέπει να σχεδιάσουμε και να μοντελοποιήσουμε μια διαδικτυακή εφαρμογή η οποία θα τρέξει μέσα στο σύστημα μας. Στον σχεδιασμό της εφαρμογή αυτής θα ληφθεί υπόψη ότι αυτή θα τρέξει μέσα σε ένα container και για αυτόν τον λόγο θα ακολουθήσει μεθοδολογίες σχεδίασης λογισμικού όπως την 12-factor-app, η οποία έχει έχει πολύ καλή συνέργεια με τέτοιες εφαρμογές. Για την αξιολόγηση ενός τέτοιου συστήματος, πραγματοποιήθηκαν κάποια τεστ στα οποία προσομοιώθηκαν συνεδρίες χρηστών της παραπάνω εφαρμογής οι οποίες συνεχώς αυξανόταν με την πάροδο του χρόνου. Τα τεστ αυτά έγιναν σε δυο αρχιτεκτονικές, εκ των οποίων μία είναι πολύ γνωστή και διαδεδομένη σήμερα, ενώ η άλλη είναι προτεινόμενη από εμάς και στηρίζεται στο σύστημα μας. Τα αποτελέσματα ήταν πολύ θετικά καθώς είχαμε πολύ καλύτερο χρόνο απόκρισης στην δική μας αρχιτεκτονική σε σχέση με την διαδεδομένη, ειδικά σε αυξημένο όγκο χρηστών, καθώς επίσης και πολύ λιγότερα σφάλματα. Το παραπάνω έχει σαν αποτέλεσμα ο αριθμός των αιτημάτων που εξυπηρετούνταν σε πραγματικό χρόνο να είναι μεγάλος και θεωρητικά χωρίς όριο καθώς ο αριθμός των containers τα οποία σερβίρουν την εφαρμογή μας είναι δυναμικός και ανάλογος του φόρτου της εφαρμογής,οπότε δεν περιορίζεται στους διαθέσιμους πόρους ενός μόνο μηχανήματος. Τα παραπάνω είναι πολύ σημαντικά καθώς πολλές εφαρμογές, αφού ενώ φαίνεται να έχουν καλή ποιότητα υπό χαμηλό αριθμό χρηστών, υποφέρουν από μεγάλη υποβάθμιση της ποιότητας τους με την αύξηση του φόρτου. Με την αυξημένη ζήτηση για αξιόπιστες και αποδοτικές υποδομές σχεδιασμένες για την εξυπηρέτηση κρίσιμων συστημάτων, οι όροι υψηλή διαθεσιμότητα (high availability) και επεκτασιμότητα (scalability) δεν θα μπορούσαν να είναι πιο δημοφιλή στην σημερινή εποχή. Ενώ η ικανότητα χειρισμού αυξημένου φορτίου(load) ενός συστήματος είναι ένα κοινό πρόβλημα και μέλημα στην κοινότητα των developers, η μείωση του χρόνου εκτός λειτουργίας (downtime) μιας εφαρμογής και η εξάλειψη των απλών σημείων αποτυχίας (single points of failure) είναι εξίσου σημαντικές. Η υψηλή διαθεσιμότητα είναι μια ιδιότητα του σχεδιασμού υποδομής συστημάτων σε μεγάλη κλίμακα που καλύπτει τις ανάγκες αυτές.
author2 Sialmas, Ioannis
author_facet Sialmas, Ioannis
Σιαλμάς, Ιωάννης
author Σιαλμάς, Ιωάννης
author_sort Σιαλμάς, Ιωάννης
title Μελέτη συστήματος διαχείρισης containers για διαδικτυακές εφαρμογές
title_short Μελέτη συστήματος διαχείρισης containers για διαδικτυακές εφαρμογές
title_full Μελέτη συστήματος διαχείρισης containers για διαδικτυακές εφαρμογές
title_fullStr Μελέτη συστήματος διαχείρισης containers για διαδικτυακές εφαρμογές
title_full_unstemmed Μελέτη συστήματος διαχείρισης containers για διαδικτυακές εφαρμογές
title_sort μελέτη συστήματος διαχείρισης containers για διαδικτυακές εφαρμογές
publishDate 2022
url http://hdl.handle.net/10889/15836
work_keys_str_mv AT sialmasiōannēs meletēsystēmatosdiacheirisēscontainersgiadiadiktyakesepharmoges
AT sialmasiōannēs studyofcontainerorchestrationsystemforwebapplications
_version_ 1771297250573549568