Ένας οδηγός εισαγωγής στο AWS Fargate

Το AWS Fargate είναι μια τεχνολογία που μπορεί να χρησιμοποιηθεί με το Amazon ECS και το Amazon EKS. Σας επιτρέπει να εκτελείτε κοντέινερ χωρίς να διαχειρίζεστε διακομιστές ή συμπλέγματα παρουσιών Amazon EC2.

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

Μπορούμε να χρησιμοποιήσουμε τον τύπο εκκίνησης Fargate ή έναν πάροχο χωρητικότητας Fargate για να εκτελέσουμε τις εργασίες και τις υπηρεσίες σας στο Amazon ECS. Για να χρησιμοποιήσετε το Fargate, μπορείτε να συσκευάσετε την εφαρμογή σας σε κοντέινερ, να καθορίσετε τις απαιτήσεις λειτουργικού συστήματος, CPU και μνήμης, να διαμορφώσετε τις πολιτικές δικτύου και IAM και να την εκκινήσετε.

Δεν χρειάζεται να διατηρηθεί μια βασική χωρητικότητα CPU και RAM για τη φιλοξενία κοντέινερ. Μπορούμε να πούμε στο AWS πόσους πόρους χρειάζεται μια εργασία και να αφήσουμε την υπόλοιπη εργασία στην AWS. Κάθε εργασία Fargate έχει το φράγμα απομόνωσής της, επομένως δεν μοιράζεται τον υποκείμενο πυρήνα, την CPU, τη μνήμη ή την ελαστική διεπαφή δικτύου με άλλες εργασίες.

Πώς λειτουργεί το Fargate;

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

Το Fargate είναι μια υπολογιστική μηχανή χωρίς διακομιστές, καθώς εξαλείφει την ανάγκη για τους τελικούς χρήστες να διαχειρίζονται τους διακομιστές που φιλοξενούν κοντέινερ. Για να είμαστε σαφείς, οι διακομιστές είναι ακόμα εκεί. Το AWS απλώς τα διαχειρίζεται. Το Fargate δεν πρέπει να συγχέεται με το AWS Lambda, μια άλλη υπηρεσία υπολογιστών χωρίς διακομιστή που δεν δημιουργήθηκε με γνώμονα τα κοντέινερ (αν και η Lamba υποστηρίζει πλέον την ανάπτυξη εικόνων κοντέινερ).

  Χρειάζεστε μια αποκλειστική κάρτα ήχου για τον υπολογιστή σας;

Πώς βοηθάει το Fargate;

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

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

Οι εργασίες Fargate (pods) εκτελούνται στους δικούς τους πυρήνες, με αποτέλεσμα ένα ασφαλές και απομονωμένο υπολογιστικό περιβάλλον με απομονωμένο φόρτο εργασίας και αυξημένη ασφάλεια.

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

Με ενσωματωμένες συνδέσεις με άλλες υπηρεσίες AWS όπως το Amazon CloudWatch Container Insights, το AWS Fargate προσφέρει υψηλό επίπεδο παρατηρητικότητας. Μπορείτε επίσης να χρησιμοποιήσετε πολλές τεχνολογίες τρίτων για τη συλλογή αρχείων καταγραφής και μετρήσεων.

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

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

Εξαρτήματα του Fargate

Συστάδες

Μια λογική ομαδοποίηση εργασιών ή υπηρεσιών είναι ένα σύμπλεγμα ECS του Amazon. Τα συμπλέγματα μπορούν να χρησιμοποιηθούν για την απομόνωση των εφαρμογών σας. Όταν χρησιμοποιείτε το Fargate για την εκτέλεση των εργασιών σας, διαχειρίζεται τους πόρους του συμπλέγματος σας.

Ορισμοί εργασιών

Ένας ορισμός εργασίας είναι ένα αρχείο κειμένου που περιγράφει τουλάχιστον ένα από τα κοντέινερ της εφαρμογής σας. Είναι αρχείο JSON. Μπορεί να χρησιμοποιηθεί για να περιγράψει έως και δέκα δοχεία κάθε φορά. Ο ορισμός εργασιών της εφαρμογής σας χρησιμεύει ως προσχέδιο. Καθορίζει τις πολυάριθμες παραμέτρους της εφαρμογής σας.

  9 οικονομικοί πάροχοι υπηρεσιών νομικών εγγράφων για μικρομεσαίες επιχειρήσεις

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

Καθήκοντα

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

Υπηρεσίες

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

Λειτουργικό σύστημα και αρχιτεκτονική CPU

Τα λειτουργικά συστήματα που υποστηρίζονται από το Fargate είναι το Amazon Linux 2, ο Windows server 2019 Full και ο Windows server 2019 core.

Το ARM και το X86_64 είναι οι δύο αρχιτεκτονικές που είναι διαθέσιμες για τον ορισμό εργασιών του Amazon ECS. Εάν χρησιμοποιείτε κοντέινερ των Windows, πρέπει να έχετε αρχιτεκτονική CPU X86_64. Αντίθετα, εάν χρησιμοποιείτε κοντέινερ Linux, μπορείτε να χρησιμοποιήσετε την αρχιτεκτονική ARM64 για τις εφαρμογές σας που βασίζονται σε ARM και την αρχιτεκτονική CPU X86_64.

ECS με περιπτώσεις EC2 Vs. ECS με AWS Fargate

Στο μοντέλο παρουσίας EC2, τα κοντέινερ αναπτύσσονται στις παρουσίες EC2 (VMs) του συμπλέγματος. Το ECS τα διαχειρίζεται σε συνδυασμό με εργασίες που αποτελούν μέρος του ορισμού εργασιών.

Πλεονεκτήματα 👍

  • Ο τύπος της παρουσίας EC2 που χρησιμοποιείται εδώ είναι εξ ολοκλήρου υπό τον έλεγχό σας.
  • Μπορείτε να χρησιμοποιήσετε spot στιγμιότυπα που μειώνουν το κόστος έως και 90%.

Μειονεκτήματα 👎

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

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

Πλεονεκτήματα 👍

  • Δεν χρειάζεται να διαχειριστείτε κανέναν διακομιστή.
  • Το AWS είναι υπεύθυνο για τη διαθεσιμότητα και την επεκτασιμότητα, αλλά εξακολουθεί να είναι καλή πρακτική η επιλογή της σωστής μνήμης και CPU. Διαφορετικά, η εφαρμογή μας ενδέχεται να κινδυνεύει να μην είναι διαθέσιμη.
  • Εάν αποφασίσετε να χρησιμοποιήσετε το Fargate Spot, μπορείτε να λάβετε έκπτωση έως και 70% στην τιμή Fargate.

Μειονεκτήματα 👎

  • Το ECS με AWS Fargate υποστηρίζει μόνο μία λειτουργία δικτύωσης -awsvpc-. Ως αποτέλεσμα, αυτό περιορίζει τον έλεγχό σας στο επίπεδο δικτύου.

EKS χωρίς Fargate Vs. EKS με Fargate

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

Πλεονεκτήματα 👍

  • Αυτό το μοντέλο σάς δίνει περισσότερο έλεγχο με διάφορους τρόπους, όπως μπορείτε να καθορίσετε μεταβλητές διαμόρφωσης όπως το HostNetwork και το HostPort.
  • Το Fargate δεν υποστηρίζεται σε όλες τις περιοχές, επομένως προτιμάτε να χρησιμοποιείτε το EKS χωρίς Fargate εάν θέλετε το κοντέινερ σας να είναι διαθέσιμο σε περισσότερες περιοχές.

Μειονεκτήματα 👎

  • Το EKS χωρίς Fargate είναι λίγο δύσκολο στη χρήση.

Στο EKS με το μοντέλο Fargate, δεν χρειάζεται να καθορίσετε το μέγεθος των συμπλεγμάτων εκ των προτέρων.

Πλεονεκτήματα 👍

  • Το EKS με το Fargate είναι πιο ασφαλές επειδή εκτελούνται μέσα σε αποκλειστικές εικονικές μηχανές. Το γεγονός ότι δεν υποστηρίζει προνομιακή λειτουργία είναι ένα είδος ασφάλειας.
  • Είναι φθηνότερο μακροπρόθεσμα.

Μειονεκτήματα 👎

  • Σας δίνει λιγότερο έλεγχο με διάφορους τρόπους

συμπέρασμα

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