Show simple item record

Μεθοδολογία και ανάπτυξη συστημάτων υπολογιστικής νέφους και ελεύθερα διαθέσιμες τεχνολογίες υποστήριξής τους

dc.contributor.advisorMamalis, Basilis
dc.contributor.authorΔεληγιάννης, Ιωάννης
dc.date.accessioned2021-10-26T17:51:10Z
dc.date.available2021-10-26T17:51:10Z
dc.date.issued2021-10
dc.identifier.urihttps://polynoe.lib.uniwa.gr/xmlui/handle/11400/1437
dc.identifier.urihttp://dx.doi.org/10.26265/polynoe-1288
dc.description.abstractΜε την ανάπτυξη σύγχρονων μορφών αυτοματοποίησης υπηρεσιών μέσω υπολογιστικών συστημάτων προέκυψαν νέες προκλήσεις στον σχεδιασμό και την ανάπτυξη λογισμικού. Σε επίπεδο υπολογιστικών πόρων υπάρχει μεγάλη ανάπτυξη και επενδύσεις από παρόχους υπηρεσιών υπολογιστικής νέφους για την διάθεση υπηρεσιών υποστήριξης μέσω διαδικτύου που καλύπτουν τις νέες απαιτήσεις. Οι υπηρεσίες υπολογιστικής νέφους αξιοποιούνται από πελάτες οι οποίοι δεν διαθέτουν την απαραίτητη τεχνολογική υποδομή για την υποστήριξη των συστημάτων τους ή δεν θέλουν να επενδύσουν στην υποδομή, διαχείριση και συντήρηση που εκείνη απαιτεί. Τέλος, οι νέες μορφές ανάπτυξης εφαρμογών προκάλεσαν την ανάγκη δημιουργίας νέων μεθοδολογιών που πρέπει να τηρούνται στην δημιουργία συστημάτων τα οποία θα αξιοποιούν στο έπακρο τις νέες τεχνολογίες νέφους. Η παρούσα διπλωματική αποτελείται από τρία βασικά μέρη. Στο πρώτο μέρος αποτυπώνεται το κίνητρο που ωθεί τους οργανισμούς στην εγκατάλειψη της μονολιθικής αρχιτεκτονικής συστημάτων και δίνει έμφαση στην υιοθέτηση τεχνολογιών υπολογιστικής νέφους και στις νέες δυνατότητες που προσφέρουν. Στο δεύτερο μέρος πραγματοποιείται μελέτη και σύγκριση μεταξύ δωρεάν προσφερόμενων τεχνολογιών νέφους από τους τρεις δημοφιλέστερους πάροχους υπηρεσιών (Google, Microsoft, Amazon), και ακολουθεί αξιολόγηση αυτών με βασικά κριτήρια την υψηλότερη δωρεάν διαθεσιμότητα και την υποστήριξη των περισσότερων cloud-agnostic τεχνολογιών. Στο τρίτο και τελευταίο μέρος ακολουθεί η σχεδίαση και ανάπτυξη μίας cloud-native εφαρμογής αυτοματοποίησης της διαδικασίας εγγραφής φοιτητών σε εργαστήρια, η οποία βασίζεται αρχιτεκτονικά στην μεθοδολογία 12 παραγόντων. Η εφαρμογή αποτελείται από τέσσερεις μικρουπηρεσίες ανεπτυγμένες στο framework Spring Boot που αναπαριστούν το API του συστήματος, την εφαρμογή pwa που θα χρησιμοποιούν οι τελικοί χρήστες υλοποιημένη στο framework React.js, και δύο υποστηρικτικές υπηρεσίες, την μη-σχεσιακή βάση δεδομένων MongoDB και μία υπηρεσία μεσίτη μηνυμάτων RabbitMQ. Η εφαρμογή αυτή αναπτύσσεται αρχικά σε τοπικό περιβάλλον ανάπτυξης με χρήση του Docker, και ύστερα με την πλατφόρμα ενορχήστρωσης κιβωτίων Kubernetes. Στην συνέχεια, πραγματοποιείται επιλογή κάποιων από τις διαθέσιμες δωρεάν τεχνολογίες που μελετήθηκαν στο δεύτερο μέρος της διπλωματικής και χρησιμοποιούνται για την υποστήριξη της εφαρμογής σε περιβάλλον νέφους. Οι υπηρεσίες παρόχων που επιλέγονται είναι οι Azure Cosmos DB για την MongoDB, Azure App Service για την φιλοξενία των μικρουπηρεσιών και ένα Google Cloud VM instance για την φιλοξενία του RabbitMQ.el
dc.format.extent187el
dc.language.isoelel
dc.publisherΠανεπιστήμιο Δυτικής Αττικήςel
dc.rightsΑναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 4.0 Διεθνές*
dc.rights.urihttps://creativecommons.org/licenses/by-nc-sa/4.0/deed.el*
dc.subjectΜονολιθική αρχιτεκτονικήel
dc.subjectΥπολογιστική νέφουςel
dc.subjectΑρχιτεκτονικές υπολογιστικής νέφουςel
dc.subjectΚιβώτιαel
dc.subjectΕνορχήστρωση κιβωτίωνel
dc.subjectΜεθοδολογία 12 παραγόντωνel
dc.subjectΜικρουπηρεσίεςel
dc.subjectΠάροχοι υπηρεσιών νέφουςel
dc.subjectDockerel
dc.subjectKubernetesel
dc.subjectVendor lock-inel
dc.subjectCloud nativeel
dc.subjectGoogle Cloudel
dc.subjectMicrosoft Azureel
dc.subjectAWSel
dc.subjectFree tierel
dc.titleΜεθοδολογία και ανάπτυξη συστημάτων υπολογιστικής νέφους και ελεύθερα διαθέσιμες τεχνολογίες υποστήριξής τουςel
dc.title.alternativeMethodology and development of cloud native systems and free technologies to support themel
dc.typeΔιπλωματική εργασίαel
dc.contributor.committeeKarkazis, Panagiotis
dc.contributor.committeeBogris, Adonis
dc.contributor.facultyΣχολή Μηχανικώνel
dc.contributor.departmentΤμήμα Μηχανικών Πληροφορικής και Υπολογιστώνel
dc.description.abstracttranslatedWith the development of modern forms of service automation through computer systems, new challenges in software design and development have emerged. On a computing resources level, there is great development and investment by cloud computing service providers to provide new online services that cover the latest needs. Cloud computing services are utilized by customers who do not have the necessary technological infrastructure to support their systems or do not want to invest in the infrastructure, management and maintenance that it requires. Finally, these new forms of application development in the cloud have created the need for new methodologies that must be followed in order to create applications that fully utilize and exploit cloud technologies. This diploma thesis consists of three main parts. The first part reflects the motivation that pushes organizations to abandon monolithic architectures and emphasizes on the adoption of cloud technologies and the new opportunities they offer. In the second part, a study and comparison was made between free cloud services offered by the three most popular cloud providers (Google, Microsoft, Amazon), then, an evaluation was followed with the key criteria being the highest free availability and the support of the most cloud-agnostic technologies. The third and the final part follows the design and development of a cloud-native application that automates the student enrollment process in laboratories, which is architecturally based on the 12-factor methodology. The application consists of four microservices developed in the Spring Boot framework that consist the system’s API, the web application that end-users will use, implement in the React.js framework, and two backing services, the No-SQL MongoDB database and RabbitMQ as a message broker. The cloud native application is initially deployed in a local developement environment using Docker, then, it’s deployed using the Kubernetes platform. Last, some of the available free cloud services that were studied in the second chapted are selected and used to deploy the application in a hosted cloud environment. The selected services are Azure Cosmos DB for MongoDB, Azure App Service for the microservices and a Google Cloud VM for hosting RabbitMQ.el


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 4.0 Διεθνές
Except where otherwise noted, this item's license is described as
Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 4.0 Διεθνές