AWS Elastic Beanstalk - Εύκολη ανάπτυξη εφαρμογών



Αυτό το σεμινάριο AWS Elastic Beanstalk θα σας βοηθήσει να κατανοήσετε πώς να αναπτύξετε εφαρμογές web στο AWS Cloud χρησιμοποιώντας το AWS Elastic Beanstalk.

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

Ας ρίξουμε μια ματιά στα θέματα που καλύπτονται σε αυτό το άρθρο AWS Beanstalk:





  1. Τι είναι το Amazon Elastic Beanstalk;
  2. Οφέλη του AWS Elastic Beanstalk
  3. AWS Elastic Beanstalk Components
  4. Αρχιτεκτονική AWS Elastic Beanstalk
  5. Επίδειξη - Αναπτύξτε μια εφαρμογή στο Beanstalk

Τι είναι το Amazon Elastic Beanstalk;

ElasticBeanstalk - Elastic Beanstalk - Edureka

Το Cloud Computing αναδιαμορφώνει ολόκληρη τη διαδικασία ανάπτυξης εφαρμογών. Ένας αριθμός προμηθευτών cloud, συμπεριλαμβανομένωνΟι Amazon Web Services και το Microsoft Azure, προσφέρουν εργαλεία ανάπτυξης για να κάνουν τη διαδικασία πιο απλή και ασφαλή. AWS ΈλαΤο stic Beanstalk είναι ένα τέτοιο εργαλείο ανάπτυξης που βασίζεται στο μοντέλο PaaS.



Το AWS Elastic Beanstalk είναι μια εύχρηστη υπηρεσία για ανάπτυξη και κλιμάκωση εφαρμογών και υπηρεσιών ιστού που αναπτύχθηκαν με Java, .NET, PHP, Node.js, Python, Ruby, Go και Docker σε γνωστούς διακομιστές όπως Apache, Nginx, Passenger και IIS.

Με το AWS Elastic Beanstalk, ένας προγραμματιστής μπορεί να αναπτύξει μια εφαρμογή χωρίς να παρέχει την υποκείμενη υποδομή διατηρώντας παράλληλα υψηλή διαθεσιμότητα. Ρίξτε μια ματιά στο παρακάτω βίντεο για να μάθετε περισσότερα σχετικά με το Elastic Beanstalk.

Tutorial AWS Elastic Beanstalk | Έντρεκα

Γιατί όμως να επιλέξουμε το Elastic Beanstalk όταν έχουμε ήδη πολλές άλλες πλατφόρμες; Ας συζητήσουμε λοιπόν τα οφέλη του Elastic Beanstalk.



Οφέλη του AWS Elastic Beanstalk

Ακολουθούν ορισμένα οφέλη που προσφέρει το AWS Elastic Beanstalk σε σχέση με άλλες υπηρεσίες PaaS

Ταχύτητα - Elastic Beanstalk - EdurekaΠροσφέρει ταχύτερη ανάπτυξη: Το Elastic Beanstalk προσφέρει στους προγραμματιστές τον ταχύτερο και απλούστερο τρόπο για την ανάπτυξη της εφαρμογής τους. Μέσα σε λίγα λεπτά, η εφαρμογή θα είναι έτοιμη για χρήση χωρίς οι χρήστες να έχουν να κάνουν με την υποκείμενη υποδομή ή τη διαμόρφωση πόρων.

Λογότυπο - Elastic Beanstalk - EdurekaΥποστηρίζει Multi-μισθωτήςΑρχιτεκτονική: Το AWS Elastic Beanstalk επιτρέπει στους χρήστες να μοιράζονται τις εφαρμογές τους σε διαφορετικές συσκευές με υψηλή επεκτασιμότητα και ασφάλεια. Παρέχει μια λεπτομερή αναφορά χρήσης χρήσης και προφίλ χρηστών.

Λογότυπο - Elastic Beanstalk - EdurekaΑπλοποιεί τις λειτουργίες: Η Beanstalk προβλέπει και διαχειρίζεται την υποδομή και διαχειρίζεται τη στοίβα εφαρμογών. Οι προγραμματιστές πρέπει να επικεντρωθούν στην ανάπτυξη κώδικα για την εφαρμογή τους αντί να ξοδεύουν χρόνο στη διαχείριση και τη διαμόρφωση διακομιστών, βάσεων δεδομένων, τείχους προστασίας και δικτύων.

Προσφέρει πλήρη έλεγχο πόρων: Ο Beanstalk δίνει στον developersτην ελευθερία επιλογής του AWS πόροι, όπως Παρουσία EC2 τύπος, που είναι βέλτιστα για την εφαρμογή τους. Επιτρέπει στους προγραμματιστές να διατηρούν τον πλήρη έλεγχο των πόρων AWS και να έχουν πρόσβαση σε αυτούς ανά πάσα στιγμή.

Τώρα που έχουμε βάσιμους λόγους να πιστεύουμε γιατί το AWS Elastic Beanstalk προτιμάται από τους προγραμματιστές, ας ρίξουμε μια ματιά στις βασικές του ιδέες.

Θέλετε να είστε πιστοποιημένος αρχιτέκτονας AWS;

AWS Elastic Beanstalk Components

Υπάρχουν ορισμένες βασικές έννοιες που θα συναντήσετε συχνά όταν αναπτύσσετε μια εφαρμογή στο Beanstalk. Ας δούμε αυτές τις έννοιες:

Εφαρμογή:

  • Μια εφαρμογή στο Elastic Beanstalk είναι εννοιολογικά παρόμοια με έναν φάκελο
  • Μια εφαρμογή είναι μια συλλογή στοιχείων που περιλαμβάνουν περιβάλλοντα, εκδόσεις και διαμόρφωση περιβάλλοντος

Έκδοση εφαρμογής:

  • Μια έκδοση εφαρμογής αναφέρεται σε μια συγκεκριμένη, με την επωνυμία επανάληψη του αναπτυσσόμενου κώδικα για μια εφαρμογή ιστού
  • Μια έκδοση εφαρμογής οδηγεί σε ένα αντικείμενο Amazon S3 που περιέχει τον αναπτυσσόμενο κώδικα όπως ένα αρχείο Java WAR

Περιβάλλον:

  • Περιβάλλοντα στην εφαρμογή Elastic Beanstalk είναι όπου η τρέχουσα έκδοση της εφαρμογής θα είναι ενεργή
  • Κάθε περιβάλλον εκτελεί μόνο μία έκδοση εφαρμογής κάθε φορά. Ωστόσο, είναι δυνατή η ταυτόχρονη εκτέλεση ίδιων ή διαφορετικών εκδόσεων μιας εφαρμογής σε πολλά περιβάλλοντα

Επίπεδο περιβάλλοντος:

Με βάση την απαίτηση, το beanstalk προσφέρει δύο διαφορετικά επίπεδα περιβάλλοντος: Web Serverπεριβάλλον, Εργατικό Περιβάλλον

  • Περιβάλλον διακομιστή Web: ΛαβέςΑιτήματα HTTP από πελάτες
  • ΕργάτηςΠεριβάλλον: Διαδικασίεςβασικές εργασίες που καταναλώνουν πόρους και απαιτούν χρόνο

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

Και πώς φαίνεται το Beanstalk Environment που χρησιμοποιεί τον προεπιλεγμένο τύπο κοντέινερ:


Τώρα που ξέρετε για διαφορετικές βασικές έννοιες που σχετίζονται με το Elastic Beanstalk, ας κατανοήσουμε την αρχιτεκτονική του Elastic Beanstalk.

Αρχιτεκτονική AWS Elastic Beanstalk

Πριν μπείτε στην αρχιτεκτονική AWS Elastic Beanstalk, ας απαντήσουμε στην πιο συχνή ερώτηση,

Τι είναι το περιβάλλον Elastic Beanstalk;

Το περιβάλλον αναφέρεται στην τρέχουσα έκδοση της εφαρμογής. Όταν ξεκινάτε ένα Περιβάλλον για την εφαρμογή σας, το Beanstalk σας ζητά να επιλέξετε μεταξύ δύο διαφορετικών Περιβαλλοντικών Επιπέδων, δηλαδή του Ιστού Υπηρέτης περιβάλλον ή Εργατικό Περιβάλλον . Ας τα κατανοήσουμε ένα προς ένα.

Περιβάλλον διακομιστή Web

Η έκδοση εφαρμογής που είναι εγκατεστημένη στο Περιβάλλον διακομιστή Web χειρίζεται αιτήματα HTTP από τον πελάτη. Το παρακάτω διάγραμμα απεικονίζει ένα παράδειγμα αρχιτεκτονικής AWS Elastic Beanstalk για μια βαθμίδα περιβάλλοντος διακομιστή Web και δείχνει πώς λειτουργούν τα στοιχεία σε αυτόν τον τύπο περιβάλλοντος επιπέδου.

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

Ελαστική εξισορρόπηση φορτίου - Όταν η εφαρμογή λαμβάνει πολλαπλά αιτήματα από έναν πελάτη, το Amazon Route53 προωθεί αυτά τα αιτήματα στον Elastic Load Balancer. Το load balancer κατανέμει τα αιτήματα μεταξύ των παρουσιών EC2 του Auto Scaling Group.

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

Διαχειριστής κεντρικού υπολογιστή - Είναι ένα στοιχείο λογισμικού που εκτελείται σε κάθε παρουσία EC2 που έχει εκχωρηθεί στην εφαρμογή σας. Ο κεντρικός διευθυντής είναι υπεύθυνος για διάφορα πράγματα όπως

μήκος πίνακα σε javascript
  • Δημιουργία και παρακολούθηση αρχείων καταγραφής εφαρμογών
  • Δημιουργία συμβάντων σε επίπεδο παρουσίας
  • Παρακολούθηση διακομιστή εφαρμογών

Ομάδες ασφαλείας - Η ομάδα ασφαλείας είναι σαν τείχος προστασίας για την περίπτωσή σας. Το Elastic Beanstalk διαθέτει μια προεπιλεγμένη ομάδα ασφαλείας, η οποία επιτρέπει στον πελάτη να έχει πρόσβαση στην εφαρμογή χρησιμοποιώντας το HTTP Port 80. Σας παρέχει επίσης μια επιλογή όπου μπορείτε να ορίσετε ομάδες ασφαλείας και στο διακομιστή βάσης δεδομένων. Η παρακάτω εικόνα συνοψίζει τι έχουμε μάθει για το περιβάλλον διακομιστή Web.

Αυτό λοιπόν αφορά το περιβάλλον διακομιστή Web. Αλλά τι γίνεται αν η έκδοση της εφαρμογής που είναι εγκατεστημένη στο Web Server Tier συνεχίζει να αρνείται πολλαπλά αιτήματα επειδή αντιμετώπισε εντατικές και χρονοβόρες εργασίες κατά τον χειρισμό ενός αιτήματος; Λοιπόν, αυτό είναι όπου το Worker Tier μπαίνει στην εικόνα.

Θέλετε να μεταφέρετε τη γνώση σας στο «Cloud» στο επόμενο επίπεδο;

Εργατικό Περιβάλλον

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

Αυτό είναι υπέροχο, αλλά πώς γνωρίζει η διαδικασία του Worker ποιες εργασίες πρέπει να χειριστεί και πότε; Πώς επικοινωνούν αυτά τα δύο επίπεδα περιβάλλοντος; Για αυτό, χρησιμοποιούμε μια υπηρεσία ουράς μηνυμάτων με κλήση AWS Amazon Simple Queue Service (SQS). Η παρακάτω εικόνα σάς δίνει μια γενική ιδέα για το πώς λαμβάνει η διαδικασία των εργαζομένων και χειρίζεται τις εργασίες στο παρασκήνιο.

Η ροή εργασίας της διαδικασίας των εργαζομένων είναι αρκετά απλή. Όταν ξεκινάτε ένα επίπεδο Worker Environment, το Elastic Beanstalk εγκαθιστά έναν δαίμονα σε κάθε παρουσία EC2 στην ομάδα Auto Scaling. Ο δαίμονας τραβά αιτήματα που αποστέλλονται από μια ουρά Amazon SQS. Με βάση την προτεραιότητα της ουράς, το SQS θα στείλει το μήνυμα μέσω aΘΕΣΗαίτημα στη διαδρομή HTTP του εργασιακού περιβάλλοντος. Ο εργαζόμενος κατά την παραλαβή τουΤο μήνυμα εκτελεί τις εργασίες και στέλνει μια απόκριση HTTP μόλις ολοκληρωθεί η λειτουργία. Το SQS κατά τη λήψη μηνύματος απόκρισης διαγράφει το μήνυμα στην ουρά. Εάν δεν λάβει απάντηση, θα προσπαθήσει συνεχώς να στέλνει τα μηνύματα.

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

Αναπτύξτε μια εφαρμογή στο Elastic Beanstalk

Η ανάπτυξη μιας εφαρμογής στο Elastic Beanstalk είναι μια αρκετά απλή διαδικασία. Ας δούμε πώς να αναπτύξουμε μια εφαρμογή σταδιακά.

Βήμα 1: Στην κονσόλα Elastic Beanstalk κάντε κλικ στο Δημιουργία νέας εφαρμογής επιλογή. Εμφανίζεται ένα πλαίσιο διαλόγου όπου μπορείτε να δώσετε ένα όνομα και κατάλληλη περιγραφή για την αίτησή σας.

Βήμα 2: Τώρα που έχει δημιουργηθεί ο φάκελος της εφαρμογής, μπορείτε να κάνετε κλικ στο Καρτέλα Ενέργειες και επιλέξτε Δημιουργήστε περιβάλλον επιλογή. Το Beanstalk σάς παρέχει μια επιλογή όπου μπορείτε να δημιουργήσετε πολλά περιβάλλοντα για την εφαρμογή σας.

πώς να συγκρίνετε δύο συμβολοσειρές

Βήμα 3: Επιλέξτε ανάμεσα σε δύο διαφορετικές επιλογές Περιβάλλοντος. Επιλέξτε Περιβάλλον διακομιστή Web εάν θέλετε η εφαρμογή σας να χειρίζεται αιτήματα HTTP ή επιλέξτε Περιβάλλον εργασίας για τη διαχείριση εργασιών παρασκηνίου.

Βήμα 4: Εμφανίζεται ένας άλλος διάλογος, όπου πρέπει να δώσετε ένα όνομα τομέα και περιγραφή για την εφαρμογή σας.

Βήμα 5: Επιλέξτε μια πλατφόρμα της επιλογής σας για την αίτησή σας. Το Elastic Beanstalk θα σας προσφέρει πολλές επιλογές. Μπορείτε να επιλέξετε ένα δείγμα εφαρμογής που παρέχεται από την Beanstalk, ή να ανεβάσετε ένα αρχείο με κωδικό για την εφαρμογή σας.

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

Βήμα 6: Στην επάνω δεξιά γωνία, θα βρείτε τη διεύθυνση URL της έκδοσης της εφαρμογής σας. Κάντε κλικ σε αυτό το URL. Θα μεταφερθείτε σε μια σελίδα που θα επιβεβαιώσει ότι έχετε ξεκινήσει επιτυχώς την αίτησή σας στο Elastic Beanstalk.

Συγχαρητήρια! Έχετε αναπτύξει με επιτυχία μια εφαρμογή στην πλατφόρμα Elastic Beanstalk.

Ελπίζω τώρα να έχετε μια σαφή εικόνα του Elastic Beanstalk και πώς μπορείτε να χρησιμοποιήσετε το Beanstalk για να αναπτύξετε τις εφαρμογές σας.

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

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων του 'AWS Elastic Beanstalk' και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό.