Micro Front-ends and Microservices Architecture in Web Application DevelopmentISSEL
Today, Web Development has left the static structure of monolithic code far behind and has adopted new architectures that allow interaction, more efficient and easy data management, tolerance of potential errors, easier code upgrade, etc. Two of these architectures are those of micro front-ends and microservices which aim to separate a page or application into smaller services for more efficient management of client requests and data. In this thesis, the advantages of these two architectures are studied and analyzed, as well as their patterns, which offer different advantages depending on the developer’s goal. The bibliography used to extract the information mostly consists of scientific research from the last decade (between 2011 and 2022), concerning different aspects and uses of microservices and micro front-ends. In addition, examples are provided from the implementation of two e-commerce applications that were created in the context of the diploma thesis in order to highlight the use of micro front-ends using JavaScript and REACT framework. Finally, disadvantages of the architectures are presented as well as conclusions for their implementation.
Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...ISSEL
Σήµερα, το Web Development έχει αφήσει κατά πολύ πίσω του την στατική δοµή του µονολιθικού κώδικα και έχει υιοθετήσει νέες αρχιτεκτονικές που επιτρέπουν την διάδραση, την πιο αποτελεσµατική και εύκολη διαχείριση δεδοµένων, την ανοχή σε δυνητικά σφάλµατα, την ευκολότερη αναβάθµιση του κώδικα, κ.α. ∆ύο από αυτές τις αρχιτεκτονικές είναι και αυτές των micro front-ends και microservices οι οποίες αποσκοπούν στον διαχωρισµό µίας σελίδας ή εφαρµογής σε µικρότερες υπηρεσίες για την αποτελεσµατικότερη διαχείριση των αιτηµάτων του client και την καλύτερη διαχείριση των δεδοµένων. Στην παρούσα διπλωµατική εργασία, µελετώνται και αναλύονται τα πλεονεκτήµατα των δύο αυτών αρχιτεκτονικών, καθώς επίσης και τα patterns αυτών, τα οποία προσφέρουν ξεχωριστά πλεονεκτήµατα ανάλογα µε τον στόχο του developer. Η ϐιβλιογραφία που χρησιµοποιήθηκε για την άντληση των πληροφοριών, απαρτίζεται ως επί το πλείστον από επιστηµονικές έρευνες της τελευταίας δεκαετίας (µεταξύ 2011 και 2022), που αφορούν διαφορετικές πτυχές και χρήσεις των microservices και micro front-ends. Επιπροσθέτως, παράθετονται παραδείγµατα από την υλοποίηση δύο e-commerce εφαρµογών που δηµιουργήθηκαν στα πλαίσια της διπλωµατικής εργασίας µε σκοπό την ανάδειξη της εϕαρµογής των micro front-ends µε τη χρήση JavaScript και REACT framework. Τέλος, παρουσιάζονται µειονεκτήµατα των αρχιτεκτονικών καθώς και συµπεράσµατα για την εϕαρµογή τους.
Παρουσίαση του καλύτερου Cloud Backup, του TicTac DRaaS (Disaster Recovery as a Service), της Tictac Data Recovery. Δείτε όλα τα πλεονεκτήματα του Cloud Backup και την τιμολόγηση του.
Micro Front-ends and Microservices Architecture in Web Application DevelopmentISSEL
Today, Web Development has left the static structure of monolithic code far behind and has adopted new architectures that allow interaction, more efficient and easy data management, tolerance of potential errors, easier code upgrade, etc. Two of these architectures are those of micro front-ends and microservices which aim to separate a page or application into smaller services for more efficient management of client requests and data. In this thesis, the advantages of these two architectures are studied and analyzed, as well as their patterns, which offer different advantages depending on the developer’s goal. The bibliography used to extract the information mostly consists of scientific research from the last decade (between 2011 and 2022), concerning different aspects and uses of microservices and micro front-ends. In addition, examples are provided from the implementation of two e-commerce applications that were created in the context of the diploma thesis in order to highlight the use of micro front-ends using JavaScript and REACT framework. Finally, disadvantages of the architectures are presented as well as conclusions for their implementation.
Η αρχιτεκτονική των Microservices και Micro Front-ends στην Ανάπτυξη Εφαρµογώ...ISSEL
Σήµερα, το Web Development έχει αφήσει κατά πολύ πίσω του την στατική δοµή του µονολιθικού κώδικα και έχει υιοθετήσει νέες αρχιτεκτονικές που επιτρέπουν την διάδραση, την πιο αποτελεσµατική και εύκολη διαχείριση δεδοµένων, την ανοχή σε δυνητικά σφάλµατα, την ευκολότερη αναβάθµιση του κώδικα, κ.α. ∆ύο από αυτές τις αρχιτεκτονικές είναι και αυτές των micro front-ends και microservices οι οποίες αποσκοπούν στον διαχωρισµό µίας σελίδας ή εφαρµογής σε µικρότερες υπηρεσίες για την αποτελεσµατικότερη διαχείριση των αιτηµάτων του client και την καλύτερη διαχείριση των δεδοµένων. Στην παρούσα διπλωµατική εργασία, µελετώνται και αναλύονται τα πλεονεκτήµατα των δύο αυτών αρχιτεκτονικών, καθώς επίσης και τα patterns αυτών, τα οποία προσφέρουν ξεχωριστά πλεονεκτήµατα ανάλογα µε τον στόχο του developer. Η ϐιβλιογραφία που χρησιµοποιήθηκε για την άντληση των πληροφοριών, απαρτίζεται ως επί το πλείστον από επιστηµονικές έρευνες της τελευταίας δεκαετίας (µεταξύ 2011 και 2022), που αφορούν διαφορετικές πτυχές και χρήσεις των microservices και micro front-ends. Επιπροσθέτως, παράθετονται παραδείγµατα από την υλοποίηση δύο e-commerce εφαρµογών που δηµιουργήθηκαν στα πλαίσια της διπλωµατικής εργασίας µε σκοπό την ανάδειξη της εϕαρµογής των micro front-ends µε τη χρήση JavaScript και REACT framework. Τέλος, παρουσιάζονται µειονεκτήµατα των αρχιτεκτονικών καθώς και συµπεράσµατα για την εϕαρµογή τους.
Παρουσίαση του καλύτερου Cloud Backup, του TicTac DRaaS (Disaster Recovery as a Service), της Tictac Data Recovery. Δείτε όλα τα πλεονεκτήματα του Cloud Backup και την τιμολόγηση του.
1. Ομάδα: 3
Ενότητα 4: Συνεργασία και Ασφάλεια
στο Διαδίκτυο
Κεφάλαιο 13: Εφαρμογές Νέφους
2. Νέφος (Cloud)
Το νέφος είναι ένα σύστημα μεγάλης κλίμακας
όπου υπάρχουν διαθέσιμοι πόροι
(επεξεργαστική ισχύς και διάφορες υπηρεσίες)
και παρέχεται κατ’ απαίτηση στους χρήστες
μέσω του διαδικτύου.
Ουσιαστικά το νέφος είναι το σύνολο των
υποδομών, δικτύων, αποθηκευτικών μέσων,
υπηρεσιών και διεπιφανειών, μέσω των
οποίων είναι δυνατή η παροχή
επεξεργαστικών και λοιπών πόρων ως
υπηρεσιών.
3. Χαρακτηριστικά υπηρεσιών του
νέφους
Εξυπηρέτηση κατ’ απαίτηση: άμεσα και χωρίς καθυστέρηση ο χρήστης μπορεί να χρησιμοποιήσει την
υπηρεσία, όταν το επιθυμήσει, χωρίς να απαιτείται ανθρώπινη παρέμβαση
Ευρεία πρόσβαση στο διαδίκτυο: οι δυνατότητες είναι διαθέσιμες σε όλο το δίκτυο και είναι προσβάσιμες
μέσα από σταθερούς μηχανισμούς και με οποιαδήποτε συνδεδεμένη συσκευή
Διαθεσιμότητα πόρων: η υπηρεσία χρησιμοποιεί πόρους όπως υπολογιστικό χρόνο και αποθηκευτικό χώρο,
που μοιράζονται σε πολλούς χρήστες
Γρήγορη ευελιξία: η υπηρεσία μπορεί να κλιμακωθεί γρήγορα, χωρίς πρόβλημα και να αντιμετωπίσει
περιόδους ιδιαίτερα αυξημένου φόρτου
Υπηρεσία μέτρησης: η υπηρεσία καταγράφει τη χρήση, ώστε ανάλογα με τη χρήση να γίνεται χρέωση ή
βελτιστοποίηση της υπηρεσίας
5. Μοντέλα Υπηρεσιών Νέφους
PaaS (Platform as a service) – Πλατφόρμα ως υπηρεσία νέφους:
Αφορά στη παροχή υπολογιστικών πλατφόρμων για
προγραμματιστές. Επιτρέπει τη γρήγορη ανάπτυξη
διαδικτύου και διευκολύνει δραστικά τη διάθεση τους
τελικούς χρήστες, ενώ παράλληλα ακυρώνει την ανάγκη
εξειδικευμένου εξοπλισμού και λογισμικού.
Παραδείγματα: Google App Engine, Windows Azure,
Web Services, Force.com κ.α.
6. Μοντέλα Υπηρεσιών Νέφους
SaaS ( Software as service) – Λογισμικό ως υπηρεσία νέφους:
Αφορά στην παροχή εφαρμογών χωρίς εγκατάσταση λογισμικού και
απευθύνεται σε όλους τους χρήστες. Οι εφαρμογές είναι διαθέσιμες μέσω
διεπαφών διαδικτύου όπως ένας φυλλομετρητής σε συσκευές όπως
προσωπικοί υπολογιστές, ταμπλέτες, έξυπνα κινητά και άλλες φορητές
συσκευές. Παραδείγματα: Google Apps, Microsoft Office 365,
Salesforce.
Οι καταναλωτές του SaaS χρεώνονται με βάση τον αριθμό των τελικών
χρηστών, το χρόνο χρήσης, το εύρος ζώνης που έχει χρησιμοποιηθεί, τον
όγκο των δεδομένων που έχει αποθηκευτεί ή τη διάρκεια αποθήκευσης
των δεδομένων.
7. Μοντέλα Υπηρεσιών Νέφους
IaaS ( Infrastructure as a service) – Υποδομές ως υπηρεσία νέφους:
Αφορά στην παροχή υπολογιστικών πόρων και απευθύνεται κυρίως σε ειδικούς
διαχείρισης δικτύων και υπολογιστικών συστημάτων. Ο χρήστης δε χρειάζεται
να αγοράσει εξυπηρετητές, λογισμικό ή διαδικτυακό εξοπλισμό και σύνδεση.
Επιπρόσθετα, στο μοντέλο IaaS διατίθενται απομακρυσμένες εικονικές
μηχανές, οι οποίες συμπεριφέρονται ακριβώς όπως οι φυσικές ισοδύναμες
τους και εξαρτώνται από την ικανότητα των διακομιστών (servers).
Πάροχοι τέτοιων υπηρεσιών είναι η Amazon (EC2), Rackspace, Orange
Business Service.
8. Εφαρμογές
Υπηρεσιών
Νέφους
Αποθήκευση αρχείων στο υπολογιστικό
νέφος
Παρέχεται η δυνατότητα αποθήκευσης
αρχείων στο «σύννεφο» δίνοντας τη
δυνατότητα να χρησιμοποιηθεί το
υπολογιστικό νέφος ως αποθηκευτικός
χώρος, να διαμοιράζονται αρχεία με
άλλους χρήστες και να διατηρούνται
συγχρονισμένα αντίγραφα των αρχείων
μεταξύ πολλών υπολογιστών. Διατίθενται
σε δωρεάν έκδοση και έκδοση επί
πληρωμή.
ΠΛΕΟΝΕΚΤΗΜΑΤΑ:
1. Δεν απαιτείται αγορά εξοπλισμού για την
αποθήκευση των αρχείων
2. Τα αρχεία είναι διαθέσιμα σε κάθε χρονική
στιγμή από οποιαδήποτε συσκευή ή σημεία
3. Λαμβάνονται αντίγραφα ασφαλείας των
αρχείων αυτόματα. Τα αρχεία είναι ασφαλή
από ιούς και άλλες μορφές κακόβουλου
λογισμικού καθώς και από υποκλοπή
4. Ο διαμοιρασμός των αρχείων διευκολύνεται
σημαντικά
9. Εφαρμογές
Υπηρεσιών
Νέφους
Animoto – Δημιουργία βίντεο στο
«σύννεφο»
Ένα παράδειγμα εφαρμογής νέφους που ανήκει στο
μοντέλο SaaS είναι το animoto.com. Πρόκειται για
εφαρμογή δημιουργίας βίντεο όπου ο χρήστης ανεβάζει
φωτογραφίες και αξιοποιώντας το περιβάλλον της
εφαρμογής νέφους, συνθέτει βίντεο. Η εν λόγω
εφαρμογή διατίθεται μέσω υπολογιστών και φορητών
συσκευών. Το περιβάλλον της εφαρμογής είναι λιτό και
εύκολο στη χρήση. Είναι μάλιστα από τις εφαρμογές
νέφους που διαθέτουν εκπαιδευτική έκδοση, όπου ο
εκπαιδευτικός διαχειρίζεται λογαριασμούς μαθητών και
παρακολουθεί την πρόοδο τους.
10. Εφαρμογές
Υπηρεσιών
Νέφους
Συνεργατική επεξεργασία αρχείων με το
Google Drive
Το Google Drive είναι ένα πακέτο εφαρμογών
γραφείου συνεργατικής δημιουργίας και κοινής
χρήσης αρχείων στο διαδίκτυο. Στο
drive.google.com ο χρήστης μπορεί να
δημιουργήσει νέα αρχεία κειμένου, υπολογιστικά
φύλλα και παρουσιάσεις συνεργατικά και σε
πραγματικό χρόνο. Άτομα σε διαφορετικές
τοποθεσίες μπορούν να προβάλλουν, να
συζητήσουν και να επεξεργαστούν το ίδιο
έγγραφο. Το σημαντικό είναι πως όλα τα
παραπάνω μπορούν να γίνονται ακόμη και
παράλληλα, δηλαδή την ίδια χρονική στιγμή.