GCP: Ανάλυση της Στοίβας Υπολογιστικής Πλατφόρμας Google Cloud

Η μετάφραση του άρθρου ετοιμάστηκε ειδικά για τους φοιτητές του μαθήματος "Υπηρεσίες Cloud".

Σε ενδιαφέρει να εξελιχθείς προς αυτή την κατεύθυνση; Παρακολουθήστε την ηχογράφηση ενός επαγγελματικού master class "Υπηρεσία AWS EC2", το οποίο διεξήγαγε ο Egor Zuev - TeamLead στο InBit και ο συγγραφέας του εκπαιδευτικού προγράμματος στο OTUS.

GCP: Ανάλυση της Στοίβας Υπολογιστικής Πλατφόρμας Google Cloud

Το Google Cloud Platform (GCP) προσφέρει πολλές υπηρεσίες, και ειδικότερα τη στοίβα υπολογιστών που περιέχει το Google Compute Engine (GCE), το Google Kubernetes Engine (πρώην Container Engine) (GKE), το Google App Engine (GAE) και το Google Cloud Functions (GCF ) . Όλες αυτές οι υπηρεσίες έχουν ωραία ονόματα, αλλά μπορεί να μην είναι απολύτως προφανείς για τις λειτουργίες τους και για το τι τις κάνει μοναδικές μεταξύ τους. Αυτό το άρθρο προορίζεται για όσους είναι νέοι στις έννοιες του cloud, ιδιαίτερα στις υπηρεσίες cloud και στο GCP.

GCP: Ανάλυση της Στοίβας Υπολογιστικής Πλατφόρμας Google Cloud

1. Υπολογίστε τη στοίβα

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

GCP: Ανάλυση της Στοίβας Υπολογιστικής Πλατφόρμας Google Cloud

Εικόνα 1: Υπολογισμός στοίβας | Η εικόνα προέρχεται από Google Cloud

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

— Εάν είστε εξοικειωμένοι με τις υπηρεσίες cloud, μεταβείτε στο ενότητα 3για να δείτε το αντίστοιχο GCP
— Εάν θέλετε μόνο μια περίληψη των υπηρεσιών cloud, μεταβείτε στο ενότητα 2.4

2. Υπηρεσίες cloud

Ο κόσμος του cloud computing είναι πολύ διαφορετικός. Οι πάροχοι cloud προσφέρουν μια ποικιλία υπηρεσιών προσαρμοσμένων στις διαφορετικές απαιτήσεις των πελατών. Μπορεί να έχετε ακούσει για όρους όπως IaaS, PaaS, SaaS, FaaS, KaaS κ.λπ. με όλα τα γράμματα του αλφαβήτου ακολουθούμενα από «aaS». Παρά την περίεργη σύμβαση ονομασίας, αποτελούν ένα σύνολο υπηρεσιών παρόχων cloud. Δηλώνω ότι υπάρχουν 3 κύριες προσφορές «ως υπηρεσία» που σχεδόν πάντα παρέχουν οι πάροχοι cloud.

Αυτά είναι τα IaaS, PaaS και SaaS, τα οποία αντιστοίχως αντιπροσωπεύουν τις λέξεις Infrastructure as a Service, Platform as a Service και Software as a Service. Είναι σημαντικό να απεικονίζονται οι υπηρεσίες cloud ως επίπεδα παρεχόμενων υπηρεσιών. Αυτό σημαίνει ότι καθώς κινείστε προς τα πάνω ή προς τα κάτω από επίπεδο σε επίπεδο, εσείς ως πελάτης διασχίζεστε από διαφορετικές επιλογές υπηρεσιών που είτε προστίθενται είτε αφαιρούνται από την κύρια προσφορά. Είναι καλύτερο να το σκεφτείτε ως πυραμίδα, όπως φαίνεται στο Σχήμα 2.
GCP: Ανάλυση της Στοίβας Υπολογιστικής Πλατφόρμας Google Cloud

Εικόνα 2: aaS Pyramid | Η εικόνα προέρχεται από Ruby Garage

2.1 Υποδομή ως υπηρεσία (IaaS)

Αυτό είναι το χαμηλότερο επίπεδο που μπορεί να προσφέρει ένας πάροχος cloud και περιλαμβάνει τον πάροχο cloud που παρέχει τη γυμνή μεταλλική υποδομή, συμπεριλαμβανομένων ενδιάμεσων λογισμικών, καλωδίων δικτύου, CPU, GPU, RAM, εξωτερικό χώρο αποθήκευσης, διακομιστές και υποκείμενες εικόνες λειτουργικού συστήματος π.χ. Debian Linux, CentOS, Windows , και τα λοιπά.

Εάν παραγγείλετε μια προσφορά από έναν πάροχο cloud IaaS, αυτό θα πρέπει να περιμένετε να λάβετε. Εναπόκειται σε εσάς, τον πελάτη, να συναρμολογήσετε αυτά τα κομμάτια για να διευθύνετε την επιχείρησή σας. Η έκταση με τα οποία θα πρέπει να εργαστείτε μπορεί να διαφέρει από προμηθευτή σε προμηθευτή, αλλά γενικά απλά παίρνετε το υλικό και το λειτουργικό σύστημα και τα υπόλοιπα εξαρτώνται από εσάς. Παραδείγματα IaaS είναι τα AWS Elastic Compute, Microsoft Azure και GCE.

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

2.2 Πλατφόρμα ως υπηρεσία (PaaS)

Το PaaS περιλαμβάνει μόνο έναν πάροχο υπηρεσιών cloud που προσφέρει μια συγκεκριμένη πλατφόρμα στην οποία οι χρήστες μπορούν να δημιουργήσουν εφαρμογές. Αυτό είναι μια αφαίρεση μέσω του IaaS, που σημαίνει ότι ο πάροχος cloud φροντίζει για όλες τις λεπτομέρειες των τύπων CPU, της μνήμης, της μνήμης RAM, της αποθήκευσης, των δικτύων κ.λπ. Όπως φαίνεται στην Εικόνα 2, εσείς ως πελάτης έχετε ελάχιστο έλεγχο στην πραγματική πλατφόρμα επειδή το cloud ο πάροχος χειρίζεται όλες τις λεπτομέρειες υποδομής για εσάς. Ζητάτε την επιλεγμένη πλατφόρμα και δημιουργείτε το έργο σε αυτήν. Παραδείγματα PaaS είναι το Heroku.

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

2.3 Λογισμικό ως υπηρεσία (SaaS)

Το SaaS αντιπροσωπεύει τις πιο κοινές υπηρεσίες που παρέχονται από παρόχους υπηρεσιών cloud. Απευθύνονται σε τελικούς χρήστες και είναι προσβάσιμες κυρίως μέσω ιστοτόπων όπως το Gmail, τα Έγγραφα Google, το Dropbox κ.λπ. Όσον αφορά το Google Cloud, υπάρχουν αρκετές προσφορές εκτός της στοίβας υπολογιστών τους που είναι SaaS. Αυτά περιλαμβάνουν Data Studio, Big Query κ.λπ.

2.4 Σύνοψη Υπηρεσιών Cloud

Εξαρτήματα
IaaS
PaaS
SaaS

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

Αξία
Βασική Υπολογιστική
Κορυφαία IaaS
Πρόκειται ουσιαστικά για ένα πλήρες πακέτο υπηρεσιών

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

Με τι λειτουργεί;
Εικονικές μηχανές, αποθήκευση, διακομιστές, δίκτυο, εξισορροπητές φορτίου κ.λπ.
Περιβάλλοντα χρόνου εκτέλεσης (όπως java runtime), βάσεις δεδομένων (όπως mySQL, Oracle), διακομιστές ιστού (όπως tomcat κ.λπ.)
Εφαρμογές όπως υπηρεσίες email (Gmail, Yahoo mail, κ.λπ.), ιστότοποι κοινωνικής αλληλεπίδρασης (Facebook, κ.λπ.)

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

Εικόνα 3: Σύνοψη σημαντικών προσφορών cloud | Παρέχεται εικόνα Ο Amir στο Blog Specia

3. Google Cloud Platform Computing Suite

Έχοντας εξετάσει τις τυπικές προσφορές παρόχων cloud στην Ενότητα 2, μπορούμε να τις συγκρίνουμε με τις προσφορές του Google Cloud.

3.1 Google Compute Engine (GCE) - IaaS

GCP: Ανάλυση της Στοίβας Υπολογιστικής Πλατφόρμας Google Cloud

Εικόνα 4: Εικονίδιο Google Compute Engine (GCE).

Το GCE είναι μια προσφορά IaaS από την Google. Με το GCE, μπορείτε να δημιουργήσετε ελεύθερα εικονικές μηχανές, να εκχωρήσετε πόρους CPU και μνήμης, να επιλέξετε τον τύπο αποθήκευσης, όπως SSD ή HDD, και την ποσότητα της μνήμης. Είναι σχεδόν σαν να φτιάξατε τον δικό σας υπολογιστή/σταθμό εργασίας και να χειρίζεστε όλες τις λεπτομέρειες του τρόπου λειτουργίας του.

Στο GCE, μπορείτε να επιλέξετε από μικροπαρουσίες με επεξεργαστές 0,3 πυρήνων και 1 GB μνήμης RAM έως τέρατα 96 πυρήνων με πάνω από 300 GB μνήμης RAM. Μπορείτε επίσης να δημιουργήσετε εικονικές μηχανές προσαρμοσμένου μεγέθους για τον φόρτο εργασίας σας. Για όσους ενδιαφέρονται, αυτές είναι εικονικές μηχανές που μπορείτε να κατασκευάσετε.

Τύποι μηχανών | Υπολογιστική Τεκμηρίωση Μηχανής | Google Cloud

3.2. Google Kubernetes Engine (GKE) - (Caas / Kaas)

GCP: Ανάλυση της Στοίβας Υπολογιστικής Πλατφόρμας Google Cloud

Εικόνα 5: Εικονίδιο Google Kubernetes Engine (GKE).

Το GKE είναι μια μοναδική υπολογιστική προσφορά από το GCP που είναι μια αφαίρεση πάνω από το Compute Engine. Γενικότερα, το GKE μπορεί να κατηγοριοποιηθεί ως Container as a Service (CaaS), που μερικές φορές αναφέρεται ως Kubernetes ως Service (KaaS), το οποίο επιτρέπει στους πελάτες να εκτελούν εύκολα τα Docker κοντέινερ σε ένα πλήρως διαχειριζόμενο περιβάλλον Kubernetes. Για όσους δεν είναι εξοικειωμένοι με τα κοντέινερ, τα κοντέινερ βοηθούν στη διαμόρφωση των υπηρεσιών/εφαρμογών, έτσι διαφορετικά κοντέινερ μπορεί να περιέχουν διαφορετικές υπηρεσίες, για παράδειγμα, ένα κοντέινερ μπορεί να φιλοξενεί το μπροστινό μέρος της εφαρμογής Ιστού σας και ένα άλλο μπορεί να περιέχει το πίσω άκρο της. Το Kubernetes αυτοματοποιεί, ενορχηστρώνει, διαχειρίζεται και αναπτύσσει τα κοντέινερ σας. Περισσότερες πληροφορίες εδώ.

Google Kubernetes Engine | Google Cloud

3.3 Google App Engine (GAE) - (PaaS)

GCP: Ανάλυση της Στοίβας Υπολογιστικής Πλατφόρμας Google Cloud

Εικόνα 6: Εικονίδιο Google App Engine (GAE).

Όπως αναφέρθηκε στην Ενότητα 2.2, το PaaS βρίσκεται πάνω από το IaaS και στην περίπτωση του GCP, μπορεί επίσης να θεωρηθεί ως προσφορά πάνω από το GKE. Το GAE είναι το προσαρμοσμένο PaaS της Google και ο τρόπος που περιγράφουν καλύτερα τον εαυτό τους είναι "φέρτε τον κωδικό σας και θα αναλάβουμε τα υπόλοιπα".

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

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

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

Κατά τη γνώμη μου, το GAE είναι το καλύτερο μέρος για να ξεκινήσετε εάν είστε προγραμματιστής με μια υπέροχη ιδέα, αλλά δεν θέλετε να ασχοληθείτε με την αγγαρεία της εγκατάστασης διακομιστών, της εξισορρόπησης φορτίου και όλων των άλλων χρονοβόρων εργασιών devops/SRE . Με τον καιρό θα μπορούσατε να δοκιμάσετε το GKE και το GCE, αλλά αυτή είναι απλώς η γνώμη μου.

Αποποίηση ευθυνών: Το AppEngine χρησιμοποιείται για εφαρμογές web, όχι για εφαρμογές για κινητά.

Για πληροφορίες: Μηχανή εφαρμογών - Δημιουργήστε επεκτάσιμα backend ιστού και κινητών σε οποιαδήποτε γλώσσα | Google Cloud

3.4 Λειτουργίες Google Cloud - (FaaS)

GCP: Ανάλυση της Στοίβας Υπολογιστικής Πλατφόρμας Google Cloud

Εικόνα 7: Εικονίδιο Google Cloud Functions (GCF).

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

Το GCF είναι μια σχετικά νέα προσφορά GCP που βρίσκεται ακόμα σε έκδοση beta (τη στιγμή που γράφεται αυτό το άρθρο). Οι συναρτήσεις cloud επιτρέπουν την ενεργοποίηση ορισμένων συναρτήσεων που έχουν γραφτεί από τον προγραμματιστή από ένα συμβάν.

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

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

Cloud Functions - Υπολογισμός διακομιστή βάσει συμβάντων | Google Cloud

Συμπέρασμα

Σε αυτό το άρθρο, μιλήσαμε για τις διαφορετικές προσφορές cloud όπως IaaS, PaaS κ.λπ. και πώς η υπολογιστική στοίβα της Google υλοποιεί αυτά τα διαφορετικά επίπεδα. Έχουμε δει ότι τα επίπεδα αφαίρεσης όταν μετακινούνται από μια κατηγορία υπηρεσιών σε άλλη, όπως το IaaS στο Paas, απαιτούν λιγότερη γνώση του υποκείμενου.

Για μια επιχείρηση, αυτό παρέχει κρίσιμη ευελιξία που όχι μόνο ικανοποιεί τους επιχειρησιακούς της στόχους, αλλά και άλλους βασικούς τομείς όπως η ασφάλεια και το κόστος. Να συνοψίσουμε:

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

Κινητήρας Kubernetes είναι ένα βήμα πιο πάνω από το Compute Engine και σας επιτρέπει να χρησιμοποιείτε το Kubernetes και τα κοντέινερ για τη διαχείριση της εφαρμογής σας, επιτρέποντάς σας να την κλιμακώνετε ανάλογα με τις ανάγκες.

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

Λειτουργίες Cloud είναι η κορυφή της υπολογιστικής πυραμίδας, που σας επιτρέπει να γράψετε μια απλή συνάρτηση που, όταν εκτελείται, χρησιμοποιεί ολόκληρη την υποκείμενη υποδομή για τον υπολογισμό και την απόδοση του αποτελέσματος.

Спасибо за внимание!

Twitter: @martinoburajr

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο