Προγραμματισμός

Η κατάσταση των μικροϋπηρεσιών και του cloud computing

Σύμφωνα με μια πρόσφατη έρευνα ραντάρ του O'Reilly σχετικά με την ανάπτυξη του cloud computing, μία από τις πιο ενδιαφέρουσες μετρήσεις δήλωσε ότι το 52 τοις εκατό των 1.283 απαντήσεων δηλώνουν ότι χρησιμοποιούν έννοιες, εργαλεία ή μεθόδους μικροϋπηρεσιών για την ανάπτυξη λογισμικού. Από αυτά, μια μεγάλη μειονότητα (πάνω από 28 τοις εκατό) έχει χρησιμοποιήσει μικροϋπηρεσίες για περισσότερα από τρία χρόνια.

Αυτό ήταν το δεύτερο μεγαλύτερο σύμπλεγμα μεταξύ των χρηστών μικροϋπηρεσιών. Ο μεγαλύτερος όμιλος, με ποσοστό μεγαλύτερο του 55%, χρησιμοποιεί μικροϋπηρεσίες μεταξύ ενός και τριών ετών. Επιπλέον, μόλις το 17 τοις εκατό των χρηστών είναι νέοι στις μικροϋπηρεσίες, με λιγότερο από ένα έτος υιοθέτησης και χρήσης.

Ο O'Reilly επισημαίνει επίσης κάποια στοιχεία ότι το ενδιαφέρον για τις μικροϋπηρεσίες μπορεί να είναι κοντά ή να κορυφωθεί. Επίσης, η αξιοσημείωτη αποσύνθεση των πλαισίων εξυπηρέτησης - τουλάχιστον σε βαθμό ευαισθησίας που ορίζεται στην αρχιτεκτονική των μικροϋπηρεσιών - αποδεικνύεται πιο δύσκολη από την αναμενόμενη.

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

Όταν αυτή η υπηρεσία μακροεντολών χωριστεί σε τέσσερις μικροϋπηρεσίες, μπορείτε να τις χρησιμοποιήσετε σε αυτήν τη μακροεντολή. Εναλλακτικά, μπορείτε να τα επαναχρησιμοποιήσετε σε άλλες υπηρεσίες μακροεντολών και σύνθετες εφαρμογές (συγχωρήστε το υπερβολικά απλοποιημένο παράδειγμα). Ο στόχος είναι να γράψετε μια μικροϋπηρεσία μία φορά και να τη χρησιμοποιήσετε πολλές φορές.

Θα προτιμούσατε να γράφετε μικροϋπηρεσίες με τρόπους που τις καθιστούν πιο γενικούς και γενικούς σκοπούς, εφαρμόσιμες σε πολλά διαφορετικά μοτίβα χρήσης (σε αντίθεση με τα παραπάνω παραδείγματα που δεν είναι γενικά, εστιάζοντας μόνο στα δεδομένα αποθέματος). Αυτό, ωστόσο, είναι όπου έρχεται η δυσκολία.

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

Έχω περάσει ένα μεγάλο μέρος του χρόνου μου τα τελευταία χρόνια προωθώντας σχέδια εφαρμογών με δυνατότητα μικροσυσκευών και διαπιστώνοντας ότι οι περισσότεροι από αυτούς δεν έχουν τον απαραίτητο σχεδιασμό για να επωφεληθούν πλήρως από τις μικροϋπηρεσίες. Έχω δει ένα hodgepodge υψηλής ποιότητας υπηρεσιών που γράφτηκαν μία φορά και αξιοποιήθηκαν μία φορά, χάνοντας το βασικό όφελος για το τι είναι οι μικροϋπηρεσίες: η επαναχρησιμοποίηση σκληρυμένων και δοκιμασμένων μικρών υπηρεσιών.

Όπως επισημαίνει η έρευνα, διαπιστώνουμε ότι η σωστή αποσύνθεση των υπηρεσιών σε μικρο-υπηρεσίες - και γενικά ο προσανατολισμός των υπηρεσιών - είναι μια γέφυρα πολύ μακριά για τους περισσότερους σχεδιαστές εφαρμογών. Το μόνο ψήφισμα είναι να πάρετε κάποια εκπαίδευση, κατανοώντας ότι αυτό είναι περισσότερο τέχνη από την επιστήμη. Ίσως τότε μπορούμε να περάσουμε πέρα ​​από το στάβλο.

$config[zx-auto] not found$config[zx-overlay] not found