Περίληψη: | Η πανδημία του κορονοϊού ξεκίνησε στις αρχές του 2020. Οι επιπτώσεις της τόσο στην υγεία των ανθρώπων όσο στις κοινωνίες και τις οικονομίες όλων των κρατών ήταν τεράστιες. Λόγω της μη αντιμετώπισης μιας παρόμοιας κατάστασης τις τελευταίες δεκαετίες, υπήρχε ελλιπής γνώση και εμπειρία για το πως έπρεπε να αντιμετωπιστεί. Επίσης, υπήρχε διχογνωμία στην επιστημονική κοινότητα ως προς τα μέτρα προστασίας που έπρεπε να ληφθούν. Αυτό σε συνδυασμό με τη μεγάλη και γρήγορη μεταδοτικότητα του ιού είχε ως αποτέλεσμα τα κράτη σε όλο τον κόσμο να αναγκαστούν να εφαρμόσουν lock downs με σκοπό τον περιορισμό της. Έτσι οι άνθρωποι αναγκάστηκαν να περνούν πιο πολύ χρόνο στα σπίτια τους. Όλες οι εταιρίες που δραστηριοποιούνταν στον χώρο της τεχνολογίας υιοθέτησαν αμέσως την τηλεργασία. Όλα αυτά είχαν ως συνέπεια οι άνθρωποι να χρησιμοποιούν πολλές ώρες καθημερινά τους ηλεκτρονικούς υπολογιστές και κατά συνέπεια το διαδίκτυο για να μπορούν να επικοινωνούν με άλλους ανθρώπους ή για να διεκπεραιώνουν τις υποχρεώσεις τους όπως την παρακολούθηση μαθημάτων αν πρόκειται για μαθητές και φοιτητές, για τη συμμετοχή σε τηλεδιασκέψεις αν πρόκειται για εργαζόμενους κλπ. Η απότομη αύξηση της χρήσης του διαδικτύου συνοδεύτηκε από διάφορα προβλήματα όπως αύξηση του χρόνου απόκρισης σε πολλές διαδικτυακές εφαρμογές λόγω πολλών χρηστών. Αυτό συνέβη γιατί το παραδοσιακό μονολιθικό μοντέλο κατασκευής διαδικτυακών εφαρμογών παρουσιάζει περιορισμούς σχετικά με την κλιμάκωση. Αυτή συνοδεύεται από υψηλό κόστος καθώς απαιτεί τη δημιουργία αντιγράφων ολόκληρης της εφαρμογής. Αντίθετα, μια σχετικά νέα αρχιτεκτονική είναι αυτή που χρησιμοποιεί τα microservices. Σε αυτήν, η εφαρμογή διασπάται σε πολλές και μικρές λειτουργίες οι οποίες χωρίζονται σε μικρές ομάδες ανάλογα με το πόσο σχετίζονται μεταξύ τους. Αυτές οι ομάδες λειτουργούν ανεξάρτητα και απομονωμένα από τις υπόλοιπες. Αυτό δίνει το πλεονέκτημα την ευκολότερης, γρηγορότερης και οικονομικότερης κλιμάκωσης των λειτουργιών που χρησιμοποιούνται πιο συχνά. Στην παρούσα διπλωματική εργασία κατασκευάζουμε μια διαδικτυακή εφαρμογή με τη χρήση microservices, η οποία μπορεί να συμβάλει στον περιορισμό του κορονοϊού. Στόχος είναι να εξετάσουμε το πως διασπάται μια μονολιθική εφαρμογή σε microservices και τους διάφορους τρόπους με τους οποίους επιτυγχάνεται η κλιμάκωση αυτών.
|