Η υπηρεσία Amazon Elastic Container Service (ECS) είναι μια αρκετά κλιμακώσιμη υπηρεσία που διευκολύνει την εκτέλεση, παύση και διαχείριση containers (δοχείων) σε μια συστάδα (cluster). Τα δοχεία ορίζονται σε ένα προσδιορισμό λειτουργίας (task definition) που χρησιμοποιείται για την εκτέλεση μεμονωμένων λειτουργιών ή λειτουργιών στα πλαίσια μιας υπηρεσίας ενώ δημιουργούνται μέσω των εικόνων τους που έχουν αποθηκευθεί στο αποθετήριο Amazon Elastic Container Registry. Σε αυτό το πλαίσιο, μια τέτοια υπηρεσία είναι μια διαμόρφωση που επιτρέπει την ταυτόχρονη εκτέλεση και διατήρηση ενός συγκεκριμένου αριθμού από λειτουργίες (που αντιστοιχούν στα δοχεία εφαρμογών) σε μια συστάδα. Πελάτες της Amazon όπως η Duolingo, Samsung, GE & Cookpad χρησιμοποιούν την ECS για την εκτέλεση των πιο ευαίσθητων εφαρμογών κριτικής αποστολής λόγων των επιπέδων ασφάλειας, αξιοπιστίας και κλιμακωσιμότητας που προσφέρει.
Η ECS είναι μια εξαίσια επιλογή για την εκτέλεση δοχείων για πολλούς λόγους. Πρώτον, είναι δυνατή η επιλογή την εκτέλεσης των ECS συστάδων μέσω της υπηρεσίας AWS Fargate, η οποία ενσωματώνει μια μηχανή εκτέλεσης serverless λειτουργιών που έχουν την μορφή δοχείων. Η Fargate αφαιρεί την ανάγκη τροφοδοσίας και διαχείρισης εξυπηρετητών, επιτρέπει τον προσδιορισμό και την πληρωμή των πόρων που πραγματικά χρησιμοποιεί μια εφαρμογή και βελτιώνει το επίπεδο ασφάλειας μέσω την απομόνωσης εφαρμογών από την σχεδίαση (by design). Δεύτερον, η ECS χρησιμοποιείται ευρέως στην Amazon για την ενίσχυση υπηρεσιών όπως Amazon SageMaker, AWS Batch, Amazon Lex και την μηχανή προτάσεων της Amazon, εξασφαλίζοντας πως η ECS δοκιμάζεται εκτενώς και εν τέλει επιλέγεται για τα προσφερόμενα επίπεδα ασφάλειας, αξιοπιστίας και διαθεσιμότητάς της.
H ECS επιτρέπει την εκκίνηση και παύση των εφαρμογών βασιζόμενων σε δοχεία με την χρήση απλών κλήσεων API. Επίσης, είναι δυνατή η ανάκτηση της κατάστασης μιας συστάδας από μια κεντρικοποιημένη υπηρεσία και η πρόσβαση σε πολλά αρκετά γνωστά χαρακτηριστικά της Amazon EC2. Ο χρονοπρογραμματισμός της τοποθεσίας των δοχείων κατά μήκος μιας συστάδας μπορεί να βασιστεί στις ανάγκες πόρων, τις πολιτικές απομόνωσης και τις απαιτήσεις διαθεσιμότητας του πελάτη. Η ECS μπορεί επίσης να χρησιμοποιηθεί για την δημιουργία μιας συνεπούς εμπειρίας κατασκευής και διάταξης εφαρμογών, για την διαχείριση και κλιμάκωση φόρτων εργασίας τύπου παρτίδας (batch) και ETL (Extract-Transform-Load) και για την κατασκευή εξεζητημένων αρχιτεκτονικών εφαρμογής με βάση το μοντέλο μικρο-υπηρεσιών.
Επειδή η ECS είναι ένας θεμελιώδης πυλώνας για σημαντικές υπηρεσίες της Amazon και μπορεί να ενοποιηθεί με εγχώριο τρόπο (natively) με άλλες υπηρεσίες όπως Amazon Route 53, Secrets Manager, AWS Identity and Access Management (IAM) & Amazon CloudWatch, παρέχοντας μια οικεία εμπειρία για την διάταξη και κλιμάκωση των δοχείων σας. Η ECS μπορεί επίσης να ενοποιηθεί γρήγορα με άλλες AWS υπηρεσίες ώστε να ενσωματώσει νέες δυνατότητες. Για παράδειγμα, η ECS ενεργοποιεί την ευελιξία στις εφαρμογές χρησιμοποιώντας μια μίξη από τις υπηρεσίες Amazon EC2 & AWS Fargate με επιλογές κοστολόγησης Spot & On-Demand. Τέλος, η ECS ενοποιείται με την AWS App Mesh, η οποία είναι μια υπηρεσία πλέγματος (service mesh) για να προσφέρει πλούσια παρατηρητικότητα, έλεγχο κυκλοφορίας και χαρακτηριστικά ασφάλειας στις εφαρμογές. Η ECS έχει τάχιστα αναπτυχθεί από την στιγμή της κυκλοφορίας της και μπορεί να εκκινήσει πενταπλάσια δοχεία κάθε ώρα σε σχέση με τον αριθμό των στιγμιοτύπων (ιδεατών μηχανών) που η EC2 εκκινεί.
Τα κύρια οφέλη που προσφέρονται από την ECS είναι τα ακόλουθα:
- Serverless επιλογή: η ECS υποστηρίζει την Fargate για να παρέχει ικανότητες serverless υπολογισμού για δοχεία. Η Fargate αφαιρεί την ανάγκη τροφοδοσίας και διαχείρισης εξυπηρετητών, επιτρέπει τον προσδιορισμό και την πληρωμή μόνο των πόρων που πραγματικά χρησιμοποιεί μια εφαρμογή και βελτιώνει το επίπεδο ασφάλειας μέσω της απομόνωσης της εφαρμογής από την σχεδίαση.
- Κάλυψη αναγκών εφαρμογής με Capacity Providers: Οι πάροχοι χωρητικότητας της ECS επιτρέπουν την εστίαση στην κατασκευή και διαχείριση εφαρμογών παρά στην υποδομή. Με αυτούς τους παρόχους, η ζήτηση και οι ανάγκες της εφαρμογής καθορίζουν την υπολογιστική χωρητικότητα που δεσμεύεται για αυτή ενώ προσφέρεται και η ευελιξία χρήσης πόρων μέσω μεικτής εκμετάλλευσης των υπηρεσιών EC2 & Fargate με επιλογές χρέωσης Spot & On-Demand.
- Απόδοση στην κλιμάκωση: η ECS χρησιμοποιεί διάφορες σημαντικές υπηρεσίες της Amazon και έχει κατασκευαστεί με βάση εμπειρία πολλαπλών χρόνων ως προς την εκτέλεση υψηλά κλιμακώσιμων υπηρεσιών. Οπότε, είναι δυνατή η ταχεία εκκίνηση χιλιάδων δοχείων με την ECS χωρίς επιπρόσθετη πολυπλοκότητα.
- Κατάλληλη ασφάλεια: η ECS εκκινεί τα δοχεία ενός πελάτη στο δικό του ιδιωτικό ιδεατό νέφος στην Amazon, επιτρέποντας την χρήση αντίστοιχων ομάδων ασφάλειας και λιστών ελέγχου πρόσβασης δικτύου. Κανένας υπολογιστικός πόρος δεν διαμοιράζεται με άλλους πελάτες. Επίσης, είναι δυνατή η δέσμευση βαθμωτών αδειών για κάθε ένα από τα δοχεία μέσω της χρήσης της υπηρεσίας IAM ώστε να περιοριστεί η πρόσβαση σε κάθε υπηρεσία και ως προς ποιους πόρους ένα δοχείο μπορεί να προσπελάσει. Το υψηλό επίπεδο απομόνωσης επιτρέπει την χρήση της ECS ώστε να κατασκευαστούν υψηλά ασφαλής εφαρμογές.
- Υψηλή αξιοπιστία: Η ECS εκτελείται πάνω από την καλύτερη καθολικά υποδομή με 77 ζώνες διαθεσιμότητας κατά μήκος 24 περιοχών. Η AWS παρέχει παραπάνω από διπλάσιες περιοχές με πολλαπλές ζώνες διαθεσιμότητας σε σχέση με τον επόμενο μεγαλύτερο πάροχο νέφους. Η ECS υποστηρίζεται από ένα AWS Compute SLA, το οποίο εξασφαλίζει ένα μηναίο ποσοστό διαθεσιμότητας που είναι τουλάχιστον 99.99%.
- Βελτιστοποίηση κόστους: Με την ECS μπορεί να χρησιμοποιηθούν Fargate Spot λειτουργίες (tasks) ή EC2 Spot στιγμιότυπα ώστε να επιτευχθεί 90% έκπτωση σε σχέση με την χρήση κατ’απαίτηση στιγμιοτύπων όσον αφορά την εκτέλεση stateless εφαρμογών ανεκτικών σε σφάλματα. Είναι δυνατή η χρήση ενός πλάνου αποταμίευσης για την επίτευξη 50% έκπτωσης για επίμονους (persistent) φόρτους εργασίας. Τέλος, είναι δυνατή η εκτέλεση ECS συστάδων με κλιμακώσιμο τρόπο μέσω της μίξης Spot στιγμιοτύπων με δεσμευμένα (reserved) ή κατ’απαίτηση (on-demand) στιγμιότυπα.
Πηγή άρθρου: https://aws.amazon.com/ecs/