5 εγγενείς υπηρεσίες AWS που μπορούν να δημιουργήσουν πλατφόρμα χωρίς διακομιστή από άκρο σε άκρο

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

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

Μπορεί επίσης να είναι αρκετά δαπανηρή. Αυτό απαιτεί να έχετε διαχειριστές στη μισθοδοσία σας. Οι διακομιστές, που λειτουργούν συνεχώς, καταναλώνουν πόρους παρόλο που δεν χρησιμοποιούνται.

Για να διατηρήσετε την καλύτερη απόδοση με την πάροδο του χρόνου, χρειάζεστε μια λύση αυτόματης κλιμάκωσης που κλιμακώνει αυτόματα τους πόρους του διακομιστή.

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

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

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

Αυτό είναι ένα παράδειγμα κατασκευής μιας τέτοιας αρχιτεκτονικής χρησιμοποιώντας μόνο εγγενείς υπηρεσίες AWS.

Παραλαβή της ροής χωρίς διακομιστή υπηρεσιών

Φανταστείτε ότι θα θέλατε να δημιουργήσετε μια πλατφόρμα για τη συλλογή διαφόρων δεδομένων και εικόνων (ή φωτογραφιών) υποδομής κάποιων συγκεκριμένων περιουσιακών στοιχείων (αυτό μπορεί να είναι οποιοδήποτε περιουσιακό στοιχείο παραγωγής ή κοινής ωφέλειας).

  • Προκειμένου να καταστεί δυνατή η μελλοντική ανάλυση, είναι απαραίτητο τα εισερχόμενα δεδομένα να λαμβάνονται πρώτα.
  • Μετά την εφαρμογή επιχειρηματικών κανόνων, μια διαδικασία back-end αποθηκεύει τα υπολογισμένα αποτελέσματα ως κανονικοποιημένες πληροφορίες σε μια σχεσιακή βάση δεδομένων.
  • Μια διεπαφή εφαρμογής που εμφανίζει κανονικοποιημένα καθαρά δεδομένα επιτρέπει στους χρήστες να προβάλλουν τα αποτελέσματα.

Ας εξετάσουμε ποια στοιχεία θα μπορούσε να περιλαμβάνει η αρχιτεκτονική.

Κάδοι AWS S3

Πηγή: aws.amazon.com

Οι κάδοι Amazon S3 είναι ένας πολύ καλός τρόπος αποθήκευσης αρχείων ή εικόνων στο σύννεφο AWS. Η τιμή του αποθηκευτικού χώρου στον κάδο S3 είναι εντυπωσιακά χαμηλή. Επιπλέον, η εισαγωγή μιας πολιτικής κύκλου ζωής κάδου S3 μειώνει περαιτέρω αυτήν την τιμή.

  Πώς να συμμετάσχετε σε μια συνάντηση δοκιμής ζουμ

Μια τέτοια πολιτική θα μετακινεί αυτόματα παλαιότερα αρχεία σε διαφορετικές κατηγορίες κάδων S3, όπως πρόσβαση σε αρχείο ή σε βαθιά αρχειοθέτηση. Οι κατηγορίες διαφέρουν επίσης από την ταχύτητα του χρόνου πρόσβασης, αλλά για παλιά δεδομένα, αυτό θα είναι λιγότερο πρόβλημα. Χρησιμεύει κυρίως για την πρόσβαση στα αρχειοθετημένα δεδομένα σε περίπτωση επείγοντος συμβάντος παρά για τυπικές ανάγκες λειτουργίας.

  • Μπορείτε να οργανώσετε τα δεδομένα σας σε υποφακέλους.
  • Θα πρέπει να ορίσετε κατάλληλους περιορισμούς αδειών.
  • Προσθέστε ετικέτες σε κάδους για να διευκολύνετε τον εντοπισμό τους και για πιθανή χρήση στο πλαίσιο των πολιτικών δυναμικού κάδου S3.
  • Ο κάδος είναι σχεδιασμένος χωρίς διακομιστή. Είναι απλώς ένας χώρος αποθήκευσης για τα δεδομένα σας.

Ένας κάδος S3 είναι σχεδιασμένος χωρίς διακομιστή. Είναι απλώς ένας χώρος αποθήκευσης για τα δεδομένα σας.

Βάση δεδομένων AWS Athena

Πηγή: aws.amazon.com

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

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

Ωστόσο, υποστηρίζει ευρετηρίαση και κατάτμηση. Μπορεί επίσης να κλιμακωθεί οριζόντια πολύ εύκολα, καθώς είναι τόσο περίπλοκο όσο η προσθήκη νέων κουβάδων στην υποδομή. Για απλή αλλά λειτουργική δημιουργία λίμνης δεδομένων, αυτό μπορεί να αρκεί στις περισσότερες περιπτώσεις.

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

Το Athena DB είναι μια εξαιρετική επιλογή και κατάλληλη για τον στόχο σας, αν θέλετε να δημιουργήσετε μια απλή και αμετάβλητη ομάδα δεδομένων που είναι εύκολο να κλιμακωθεί οριζόντια με την πάροδο του χρόνου.

Βάση δεδομένων AWS Aurora

Πηγή: aws.amazon.com

Η Athena DB υπερέχει στην αποθήκευση μη επιμελημένων δεδομένων. Αυτός είναι ο τρόπος με τον οποίο θέλετε να αποθηκεύσετε το αρχικό σας περιεχόμενο για να μεγιστοποιήσετε τη μελλοντική επαναχρησιμοποίησή του, τελικά. Ωστόσο, είναι αργή η παροχή επιλεγμένων αποτελεσμάτων σε μια εφαρμογή διεπαφής.

Μία από τις καλύτερες επιλογές, κυρίως από την προοπτική της εύκολης εκτέλεσης εγκατάστασης, είναι η βάση δεδομένων Aurora που εκτελείται σε λειτουργία χωρίς διακομιστή.

  Τεχνολογία Blockchain: Ένας οδηγός για αρχάριους

Το Aurora απέχει πολύ από μια βασική βάση δεδομένων. Είναι μια από τις πιο προηγμένες λύσεις εγγενών σχεσιακών βάσεων δεδομένων στο AWS. Είναι επίσης μια εξαιρετικά πολύπλοκη λύση εγγενούς σχεσιακής βάσης δεδομένων που βελτιώνεται με κάθε έκδοση.

Το Aurora είναι μοναδικό επειδή μπορεί να τρέξει σε λειτουργία χωρίς διακομιστή, κάτι που το κάνει να ξεχωρίζει από άλλες σχεσιακές υπηρεσίες. Έτσι λειτουργεί η λειτουργία:

  • Για να διαμορφώσετε το σύμπλεγμα Aurora, χρησιμοποιήστε την κονσόλα AWS. Θα χρειαστεί να καθορίσετε τα τυπικά επίπεδα CPU και RAM καθώς και το μέγιστο διάστημα της λειτουργίας αυτόματης κλίμακας. Αυτό θα επηρεάσει την απόδοση που μπορεί να προσθέσει ή να αφαιρέσει δυναμικά το σύμπλεγμα Aurora. Με βάση την τρέχουσα χρήση της βάσης δεδομένων, το AWS αποφασίζει να αυξήσει ή να μειώσει την κλίμακα.
  • Το σύμπλεγμα Aurora δεν θα ξεκινήσει εκτός εάν ο χρήστης ή η διαδικασία ξεκινήσει ένα πραγματικό αίτημα. Για παράδειγμα, όταν ξεκινά η προγραμματισμένη δέσμη επεξεργασίας. Ή εάν η εφαρμογή πραγματοποιεί μια κλήση back-end API για την ανάκτηση δεδομένων από μια βάση δεδομένων. Η βάση δεδομένων θα ανοίξει αυτόματα και θα παραμείνει ενεργή για προκαθορισμένο χρονικό διάστημα μετά την ολοκλήρωση των διαδικασιών αιτημάτων.
  • Το σύμπλεγμα Aurora θα τερματιστεί αυτόματα εάν δεν υπάρχει άλλη εργασία στη βάση δεδομένων.

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

Το Aurora χωρίς διακομιστή διαχειρίζεται πλήρως το AWS και δεν απαιτεί διαχειριστή.

AWS Amplify

Το Amplify προσφέρει μια πλατφόρμα χωρίς διακομιστή για την ταχεία ανάπτυξη εφαρμογών front-end που γίνονται με βιβλιοθήκες JavaScript και React. Δεν χρειάζεται να ρυθμίσετε διακομιστές συμπλέγματος. Χρησιμοποιήστε την κονσόλα AWS για να αναπτύξετε τον κώδικα απευθείας ή χρησιμοποιήστε μια αυτοματοποιημένη διοχέτευση DevOps.

Μπορείτε να καλέσετε back-end API για να προσεγγίσετε δεδομένα που είναι αποθηκευμένα σε βάσεις δεδομένων. Αυτές οι κλήσεις σάς επιτρέπουν να έχετε πρόσβαση στα πραγματικά δεδομένα στην εφαρμογή front-end. Η κύρια βελτιστοποίηση της απόδοσης στο back-end θα πρέπει να γίνει από την ομάδα. Μπορείτε να μειώσετε ακόμη περισσότερο την πιθανότητα αργής απόκρισης στη διεπαφή χρήστη, εάν σχεδιάσετε αποτελεσματικές δηλώσεις επιλογής μέσα στις κλήσεις API απευθείας.

AWS Step Functions

Πηγή: aws.amazon.com

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

Οι λειτουργίες AWS Step παρέχουν την καλύτερη λύση στο σύννεφο AWS. Μια συνδεδεμένη λίστα λειτουργιών AWS Lambda αποτελεί τη συνάρτηση βήματος. Αυτές οι συναρτήσεις δημιουργούν ένα διάγραμμα ροής που έχει σαφείς καταστάσεις έναρξης και λήξης. Μια συνάρτηση λάμδα, συνήθως γραμμένη σε γλώσσες Python ή Node JS, είναι ένα εκτελέσιμο bit κώδικα που επεξεργάζεται ό,τι χρειάζεται.

  Πού να παρακολουθήσετε Βρίσκει πού μπορείτε να παρακολουθήσετε νόμιμα ταινίες και τηλεοπτικές εκπομπές [Web]

Το παρακάτω είναι ένα παράδειγμα για το πώς μπορείτε να εκτελέσετε μια συνάρτηση βήματος:

  • Το AWS ενεργοποιεί μια αυτόματη λειτουργία λάμδα κάθε φορά που ένα νέο αρχείο μπαίνει στο φάκελο S3. Μετά την ανάλυση του αρχείου, το λάμδα το φορτώνει στο Athena. Το λάμδα αποθηκεύει τα αποτελέσματά του είτε σε μορφή CSV σε έναν κάδο S3 (ή σε έναν πίνακα παρακολούθησης βάσης δεδομένων) πριν κλείσει.
  • Αυτό το αποτέλεσμα χρησιμοποιείται στη συνέχεια από το επόμενο λάμδα για να εκτελέσει τα επόμενα βήματα. Αυτό μπορεί να περιλαμβάνει την κλήση ενός μοντέλου μηχανικής εκμάθησης και τη μετατροπή ενός υποσυνόλου από τα νέα δεδομένα σε κανονικοποιημένους πίνακες. Το τελευταίο βήμα μπορεί να είναι η φόρτωση των δεδομένων στη βάση δεδομένων Aurora.
  • Μια συνάρτηση βήματος συνδέει αυτά τα λάμδα μεταξύ τους για να σχηματίσουν μια ροή παρτίδας. Είναι ακόμη δυνατό να εκτελεστεί μια άλλη συνάρτηση βήματος στη θέση ενός βήματος μιας άλλης συνάρτησης βήματος ρίζας. Με αυτόν τον τρόπο, είναι δυνατό να καλυφθούν πολλά σενάρια.
  • Αυτή η ροή χωρίς διακομιστή έχει ένα σημαντικό μειονέκτημα: κάθε συνάρτηση λάμδα μπορεί να εκτελεστεί μόνο για 15 λεπτά το πολύ. Επομένως, ο διαχωρισμός της ροής σε μικρότερες συναρτήσεις λάμδα μπορεί να το κάνει λιγότερο προβληματικό.

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

    Τελικές Λέξεις

    Η αρχιτεκτονική χωρίς διακομιστή προσφέρει μια μοναδική ευκαιρία για τη δημιουργία μιας πλατφόρμας cloud που καλύπτει ολόκληρο το τοπίο του συστήματος. Αυτή η πλατφόρμα είναι οριζόντια επεκτάσιμη και έχει χαμηλό λειτουργικό κόστος ενώ το κάνει.

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

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

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