Αυτό το άρθρο εισάγει τις επιλογές του Google Cloud σε οργανισμούς που πραγματοποιούν εσωτερική αξιολόγηση της μετακίνησης μιας εφαρμογής ιστού δύο επιπέδων στο cloud ## Τύποι εφαρμογών Οι εφαρμογές Ιστού δύο επιπέδων αποτελούνται από έναν διακομιστή ιστού που εκτελεί μια εφαρμογή και μια βάση δεδομένων για την αποθήκευση δεδομένων εφαρμογής. Η εκτέλεση Linux, Apache, MySQL και PHPâÃÂàπου συνήθως αναφέρεται ως στοίβα LAMP, είναι ένα συνηθισμένο παράδειγμα μιας εφαρμογής web δύο επιπέδων. Παραλλαγές στη διανομή Linux, το λογισμικό διακομιστή ιστού, τη βάση δεδομένων ή τη γλώσσα προγραμματισμού επηρεάζουν τις τεχνικές λεπτομέρειες οποιασδήποτε μετεγκατάστασης, αλλά η επισκόπηση και τα βήματα μετεγκατάστασης είναι συνεπή ## Φάσεις μετανάστευσης Οι μεταναστεύσεις σύννεφων συμβαίνουν στις ακόλουθες τέσσερις φάσεις Εκτίμηση Προσδιορίστε όλα τα χαρακτηριστικά του φόρτου εργασίας σας, αναφέρετε τους πόρους που απαιτούνται για την εκτέλεση του φόρτου εργασίας σας στο cloud και αναφέρετε όλες τις βασικές εξαρτήσεις και συνδέσεις με άλλους φόρτους εργασίας. Χρησιμοποιώντας την πλήρη λίστα χαρακτηριστικών, μπορείτε στη συνέχεια να αρχίσετε να σχεδιάζετε ποιες εφαρμογές και φόρτος εργασίας θα πρέπει να κινούνται και με ποια σειρά Στις σύγχρονες επιχειρήσεις, υπάρχουν πολλά διαφορετικά είδη εφαρμογών, από εφαρμογές που απευθύνονται σε πελάτες, εφαρμογές υποστήριξης γραφείου, εργαλεία προγραμματιστών έως πειραματικές εφαρμογές. Η μεταφορά όλων αυτών των εφαρμογών ταυτόχρονα και με τον ίδιο τρόπο θα ήταν επικίνδυνη και αναποτελεσματική Ένα παράδειγμα θα ήταν η ταξινόμηση των εφαρμογών στους ακόλουθους τρεις μεγάλους κάδους: - Εφαρμογές που μετακινούνται εύκολα. Αυτά έχουν λιγότερες εξαρτήσεις, είναι νεότερα, είναι γραμμένα εσωτερικά, επομένως δεν έχουν ζητήματα αδειοδότησης και είναι πιο ανεκτικά στην κλιμάκωση και την υποστήριξη μοτίβων σχεδίασης cloud - Εφαρμογές που είναι δύσκολο να μετακινηθούν. Αυτές έχουν περισσότερες εξαρτήσεις, είναι λιγότερο ανεκτικές στην κλιμάκωση, είναι δύσκολο να εκτελεστούν με υπηρεσίες cloud ή έχουν πολύπλοκες απαιτήσεις άδειας χρήσης - Εφαρμογές που δεν μπορούν να μετακινηθούν. Ορισμένες εφαρμογές που μπορεί να μην είναι καλές υποψήφιες για μετεγκατάσταση λειτουργούν σε εξειδικευμένο ή παλαιότερο υλικό, έχουν επιχειρηματικές ή ρυθμιστικές απαιτήσεις που καθιστούν απαραίτητη την παραμονή τους στο κέντρο δεδομένων σας ή έχουν πολύπλοκες απαιτήσεις άδειας που δεν Μην τους επιτρέψετε να μετακινηθούν στο σύννεφο Αυτά είναι μόνο μερικά παραδείγματα τρόπων ταξινόμησης εφαρμογών. Είναι πιθανό οι εφαρμογές σας να έχουν πολλούς περισσότερους καθοριστικούς παράγοντες που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε μια μήτρα ιεράρχησης όλων των εφαρμογών. Από αυτήν την κατάταξη, μπορείτε να επιλέξετε την πρώτη σας εφαρμογή για μετακίνηση και να ξεκινήσετε να σχεδιάζετε το Google Cloud Foundation θεμέλιο Αρχιτέκτονα και σχεδίασε συγκεκριμένες λεπτομέρειες για την ανάπτυξη του νέου περιβάλλοντος cloud. Αυτά περιλαμβάνουν: - Το μοντέλο αρχιτεκτονικής cloud και ασφάλειας για να παρέχει μια βάση υποδομής για τον φόρτο εργασίας σας Πόροι δικτύου που επιτρέπουν την ασφαλή και αξιόπιστη επικοινωνία μεταξύ των εφαρμογών. Αυτό απαιτεί εκτεταμένο σχεδιασμό για διαχείριση ταυτότητας και πρόσβασης (IAM), σχεδιασμό εικονικού ιδιωτικού νέφους (VPC) και μεθόδους εξωτερικής πρόσβασης Η τεχνολογία και τα εργαλεία τελικής κατάστασης με τα οποία θα εκτελούνται οι φόρτοι εργασίας σας Λογιστική για τη διαχείριση εξαρτήσεων, τα χρονοδιαγράμματα και τις μεθόδους μεταφοράς δεδομένων Μετανάστευση Μετακινήστε τα δεδομένα και αναπτύξτε υπηρεσίες, υποδομή και κώδικα στον προορισμό σας. Θα πρέπει να χρησιμοποιήσετε αυτοματισμό και εργαλεία για να υποστηρίξετε αυτές τις λειτουργίες Βελτιστοποίηση Επικυρώστε εάν οι αποφάσεις και οι παραδοχές που κάνατε στις φάσεις αξιολόγησης και θεμελίωσης ταιριάζουν με την πραγματικότητα μετά τη φάση της μετανάστευσης. Εντοπίζετε τυχόν αλλαγές που μπορεί να χρειαστείτε. Σκεφτείτε πώς να εξερευνήσετε άλλες εγγενείς επιλογές στο cloud, όπως η μετάβαση από την υποδομή ως υπηρεσία (IaaS) στην πλατφόρμα ως υπηρεσία (PaaS) ή η αξιοποίηση των προσφορών διαχειριζόμενων υπηρεσιών. Ανάλογα με το αποτέλεσμα της φάσης βελτιστοποίησης, μπορεί να ξεκινήσετε ξανά τον κύκλο για την αντιμετώπιση αλλαγών ή τροποποιήσεων. Πάντα να ξεκινάτε από τη φάση της αξιολόγησης και να χρησιμοποιείτε την εμπειρία σας για να γίνετε πιο αποτελεσματικοί με κάθε επανάληψη ## Τύποι μεταναστεύσεων Οι τρεις πιο κοινές στρατηγικές μετάβασης για τη μετακίνηση εφαρμογών στο cloud περιγράφονται στις ακόλουθες ενότητες Ανύψωση και μετατόπιση Χρήση *ανύψωση και μετατόπιση* όταν θέλετε να μετακινήσετε εφαρμογές ενώ αλλάζετε ως όσο το δυνατόν λιγότερο στον τρόπο λειτουργίας τους. Αυτό λειτουργεί καλύτερα για εφαρμογές που μπορεί να τρέξει χωρίς τροποποίηση μέσα στο σύννεφο, όταν η γρήγορη μετακίνηση της εφαρμογής είναι α προτεραιότητα ή όταν η επιχείρηση έχει μικρή όρεξη ή ανάγκη για αλλαγή. Αυτό Η μετανάστευση απαιτεί περισσότερη δουλειά από το προσωπικό υποδομών και επιχειρήσεων υποστηρίξτε τις θεμελιώδεις αλλαγές στο πού θα εκτελείται η υπηρεσία και λιγότερη εργασία από προγραμματιστές, αφού πολύ λίγος, αν υπάρχει, κώδικας θα πρέπει να αλλάξει Για παράδειγμα, εάν και τα δύο επίπεδα της εφαρμογής Ιστού φιλοξενούνται σε VM, μπορείτε να τα μετεγκαταστήσετε ως έχουν χρησιμοποιώντας τη Μετεγκατάσταση σε εικονικές μηχανές. Όταν αυτά τα VM είναι στο cloud, μπορείτε να εξετάσετε το ενδεχόμενο αναβάθμισης σε μια πιο εγγενή πλατφόρμα υπολογιστών cloud για πρόσθετα οφέλη Βελτιωθείτε και κινηθείτε Χρήση *βελτιωθείτε και μετακινηθείτε* όταν θέλετε να εκσυγχρονίσετε την εφαρμογή σας στο διαδικασία μετεγκατάστασής του στο σύννεφο. Αυτό χρησιμοποιείται συνήθως όταν η εφαρμογή δεν υποστηρίζεται στο cloud ως έχει ή όταν γίνονται σημαντικές ενημερώσεις λογισμικού ή το υλικό έχει ήδη βελτιωθεί και προγραμματιστεί. Αυτή η μετανάστευση απαιτεί υποδομές, λειτουργίες και προγραμματιστές να συνεργαστούν για να βελτιώσουν τη λειτουργία του εφαρμογή στο cloud και επιτρέπει στην εφαρμογή να εκμεταλλευτεί Τα πλεονεκτήματα εγγενή στο cloud, όπως μεγαλύτερη φορητότητα, επεκτασιμότητα και αξιοπιστία Μια άλλη παραλλαγή αυτής της στρατηγικής είναι η βελτίωση και η κίνηση με μία κίνηση. Εάν και τα δύο επίπεδα της εφαρμογής ιστού σας φιλοξενούνται σε εικονικά μηχανήματα, μπορείτε να χρησιμοποιήσετε τη Μετεγκατάσταση σε κοντέινερ για αυτόματη μετακίνηση και μετατροπή αυτών των εικονικών μηχανών σε κοντέινερ που εκτελούνται στο Google Kubernetes Engine (GKE) Αντικατάσταση και αντικατάσταση Χρήση *rip and replace* όταν θέλετε να δημιουργήσετε μια νέα λύση στο cloud και ηλιοβασίλεμα η τρέχουσα έκδοση της εσωτερικής σας λύσης. Αυτό χρησιμοποιείται συνήθως όταν ισχύουν οι ακόλουθες προϋποθέσεις: - Η υπάρχουσα εφαρμογή δεν αξίζει να διατηρηθεί στο cloud, τεχνικά ή οικονομικά - Η αδειοδότηση του λογισμικού στο cloud είναι απαγορευτική ή μη πρακτική - Η εφαρμογή σταματά να ανταποκρίνεται πλήρως στις επιχειρηματικές ανάγκες Επειδή η αντιγραφή και αντικατάσταση απαιτεί επανεγγραφή μιας εφαρμογής από την αρχή, δεν καλύπτεται σε αυτόν τον οδηγό μετεγκατάστασης ## Φάση αξιολόγησης Προτού ξεκινήσει οποιαδήποτε μετανάστευση, πρέπει να κατανοήσετε πλήρως το σημείο εκκίνησης Τυχόν αναπάντητα ερωτήματα ενέχουν κίνδυνο για την επιτυχία της μετανάστευσης. Ο χρόνος που αφιερώνεται στη φάση της αξιολόγησης συμβάλλει στη διασφάλιση μιας ομαλής και ομαλής φάσης μετανάστευσης. Αφιερώστε όσο περισσότερο χρόνο μπορείτε για να καταγράψετε όσο το δυνατόν περισσότερες σχετικές πληροφορίες για την υποστήριξη της μετεγκατάστασής σας Στοίβα λογισμικού εφαρμογής Συνεργαστείτε με την υποδομή, τις λειτουργίες και τις ομάδες ανάπτυξης για να προσδιορίσετε τις ακόλουθες λεπτομέρειες: - Λειτουργικό σύστημα: Ακριβής διανομή, έκδοση, ενημερώσεις κώδικα, εγκατεστημένα πακέτα - Διακομιστής Ιστού: Ακριβές πακέτο λογισμικού, αριθμός έκδοσης, πακέτα ή άλλη τροποποίηση λογισμικού και όλα τα αρχεία διαμόρφωσης και κανόνες για το λογισμικό διακομιστή ιστού - Βάση δεδομένων: Ακριβές όνομα λογισμικού, έκδοση, σχήμα, στρατηγική αναπαραγωγής και χρονοδιάγραμμα δημιουργίας αντιγράφων ασφαλείας - Περιβάλλοντα χρόνου εκτέλεσης: Ακριβείς εκδόσεις, όλων των περιβαλλόντων backend και frontend Πόροι υλικού συστήματος Για τα επίπεδα διακομιστή web και βάσης δεδομένων, απαντήστε στις ακόλουθες ερωτήσεις: - Πόσοι διακομιστές τρέχουν τώρα; - Ποια είναι η συνολική κατανομή των CPU, συμπεριλαμβανομένης της παραγωγής, του τύπου αρχιτεκτονικής και της ταχύτητας; - Ποια είναι η μνήμη RAM και ο χώρος στο δίσκο που εκχωρείται σε κάθε διακομιστή; Χρησιμοποιούνται σκληροί δίσκοι ή SSD; ΕΠΙΔΡΟΜΗ? - Ποια είναι η τρέχουσα χρήση, η μέση χρησιμοποίηση και η μέγιστη χρήση της CPU, της RAM και του χώρου στο δίσκο;Δείτε τον μέσο όρο και την αιχμή σας στο πλαίσιο της συγκεκριμένης επιχειρηματικής σας χρήσης.Για παράδειγμα, μια εταιρεία που υποστηρίζει τους Ολυμπιακούς Αγώνες μπορεί να χρειαστεί να κοιτάξει πίσω δύο χρόνια για να δει πώς είναι η πραγματική κορυφή, ενώ άλλες εφαρμογές μπορεί να έχουν πιο σταθερό ρυθμό εκτέλεσης.Δείτε το χρονοδιάγραμμα της πιο τυπικής περίπτωσης χρήσης για το μέσο όρο και το χρονοδιάγραμμα της πιο βαριάς χρήσης για το μέγιστο.Αναζητήστε επίσης κυκλικά μοτίβα χρήσης, όπως τα Σαββατοκύριακα, τα βράδια και τις εργάσιμες- Για τη βάση δεδομένων, ποια στρατηγική δημιουργίας αντιγράφων ασφαλείας, αναπαραγωγής ή κοινής χρήσης χρησιμοποιείται και πώς αυτό επηρεάζει τις απαιτήσεις χώρου στο δίσκο και τον αριθμό των απαιτούμενων διακομιστών;Πόροι δικτύουΑναλύστε την αρχιτεκτονική δικτύου που επιτρέπει τη λειτουργία της εφαρμογής σας.Βεβαιωθείτε ότι διαθέτετε ακριβή και ενημερωμένα λογικά και φυσικά διαγράμματα τοπολογίας δικτύου της υποδομής που υποστηρίζει την εφαρμογή σας.Τα διαγράμματα πρέπει να περιγράφουν με σαφήνεια όλες τις συνδέσεις, τις εξαρτήσεις και τις υπηρεσίες δικτύουΑπαντήστε στις ακόλουθες ερωτήσεις:- Πώς έχουν πρόσβαση οι πελάτες στην εφαρμογή σας;Μέσω προγράμματος περιήγησης ιστού;Απευθείας μέσω διεύθυνσης IP;Μέσω εφαρμογής για κινητά;Χρησιμοποιείτε μια εικονική σύνδεση ιδιωτικού δικτύου;- Έχετε μια λίστα με όλα τα ισχύοντα πιστοποιητικά SSL/TLS και τα κλειδιά κρυπτογράφησης;- Πού φιλοξενούνται όλα τα ισχύοντα πιστοποιητικά SSL/TLS;Πότε λήγουν;Πώς ανανεώνετε τα πιστοποιητικά;Πώς αποκτάτε νέα πιστοποιητικά;Έχετε πρόσβαση σε όλα τα τρέχοντα πιστοποιητικά;- Έχετε μια λίστα με όλους τους ισχύοντες τομείς που υποστηρίζουν την εφαρμογή;- Πού φιλοξενούνται αυτοί οι τομείς;Πότε λήγουν;Πώς τα ανανεώνετε;Έχετε πρόσβαση στους λογαριασμούς που ελέγχουν την εγγραφή;- Πού φιλοξενείται και ελέγχεται το DNS σας;- Έχετε πρόσβαση σε όλα τα συστήματα και τα εργαλεία που ελέγχουν το DNS;Ποιες είναι οι τρέχουσες αντιστοιχίσεις CNAME σε IP για κάθε τομέα και έχετε αντίγραφο ασφαλείας;- Ποιες είναι οι ρυθμίσεις σας για το DNS time-to-live (TTL);- Πού ταιριάζουν στην αρχιτεκτονική τα τείχη προστασίας και άλλες συσκευές πρόσβασης και ελέγχου στο δίκτυο;Ποιοι κανόνες ισχύουν τώρα για να επιτρέπεται ή να απαγορεύεται η κυκλοφορία;Ποιος είναι υπεύθυνος και ποια είναι η διαδικασία για την αλλαγή ή την ενημέρωση αυτών των κανόνων;- Χρησιμοποιείτε εξωτερικές υπηρεσίες δικτύου;Για παράδειγμα, ένας πάροχος δικτύου παράδοσης περιεχομένου (CDN) ή μια υπηρεσία προστασίας κατανεμημένης άρνησης υπηρεσίας (DDoS);## Φάση θεμελίωσηςΤο Google Cloud προσφέρει πολλές επιλογές για την εκτέλεση φόρτου εργασίας υπολογιστών και βάσεων δεδομένων για εφαρμογές πολλαπλών επιπέδων όπως το LAMP.Αυτή η ενότητα εισάγει αυτές τις επιλογές και εξηγεί γιατί μπορείτε να επιλέξετε τη μία από την άλληΕπιλογές με επίκεντρο υπολογισμούΜηχανή υπολογισμούΗ μηχανή υπολογισμού είναι ένα IaaS προσφορά που σας επιτρέπει να εκτελείτε μια εικονική μηχανή (VM) στο Google Cloud.Μπορείτε να εγκαταστήσετε πλαίσια web, λογισμικό διακομιστή, βάσεις δεδομένων και οποιοδήποτε άλλο λογισμικό υποστηρίζει το λειτουργικό σας σύστημα.Εάν εκτελείτε τη δική σας εφαρμογή LAMP σε γυμνό μέταλλο, σε VM, σε κέντρο δεδομένων ή σε άλλο πάροχο cloud, αυτή η επιλογή θα μπορούσε να αναπαράγει στενά, αν όχι ακριβώς, τον υπάρχοντα διακομιστή σας.Αυτή η επιλογή προσφέρει τον μεγαλύτερο έλεγχο στη διαμόρφωση του λειτουργικού συστήματος και στις ρυθμίσεις λογισμικού διακομιστή web.Το Compute Engine επιτρέπει τον βαθύ έλεγχο των τύπων μηχανών, των ομάδων παρουσιών, των επιλογών αποθήκευσης, των εξισορροπητών φορτίου και πολλών άλλων λεπτομερειών.Ανατρέξτε στην πλήρη τεκμηρίωση του Compute Engine για περισσότερες Γρήγορες εκκινήσεις, σεμινάρια και άλλαΗ μετακίνηση της εφαρμογής σας απευθείας στο Compute Engine είναι η πιο συνηθισμένη μετεγκατάσταση ανύψωσης και μετατόπισης.Για οδηγίες σχετικά με την αντιστοίχιση πόρων εσωτερικής εγκατάστασης στο Compute Engine, ανατρέξτε στις Βέλτιστες πρακτικές για τη μετεγκατάσταση εικονικών μηχανών στο Compute EngineCloud Deployment ManagerΤο Google Cloud Marketplace επίσης προσφέρει μια απλή εγκατάσταση LAMP μέσω του Deployment Manager.Μπορείτε να εκκινήσετε έναν διακομιστή με Debian Linux, Apache, MySQL, PHP και phpMyAdmin ήδη εγκατεστημένα και διαμορφωμένα σε μια προεπιλεγμένη ρύθμιση.Λαμβάνετε έναν πλήρως λειτουργικό διακομιστή ιστού και διαπιστευτήρια για την εγκατάσταση της MySQL σε λίγα μόλις λεπτάGoogle Kubernetes EngineΤο GKE είναι ένα διαχειριζόμενο, έτοιμο για παραγωγή περιβάλλον για την ανάπτυξη εφαρμογών με εμπορευματοκιβώτια.Χρησιμοποιώντας το GKE, σταματάτε να διαχειρίζεστε ένα λειτουργικό σύστημα δεσμεύοντας το λογισμικό του διακομιστή web σας.Για παράδειγμα, οι διακομιστές ιστού Apache και NGINX είναι διαθέσιμοι από κάθε δημόσιο αποθετήριο κοντέινερ.Εάν χρησιμοποιείτε κοντέινερ για την εκτέλεση φόρτου εργασίας στο περιβάλλον σας, το GKE είναι μια αποτελεσματική υπηρεσία για τη διατήρηση παρόμοιας ροής εργασιών ανάπτυξης και δοκιμής καθώς μεταφέρετε τον φόρτο εργασίας LAMP στο Google Cloud.Εάν δεν χρησιμοποιείτε κοντέινερ, εξετάστε το ενδεχόμενο να εξερευνήσετε το GKE για ταχύτερες αναπτύξεις και ανάκτηση, μεγαλύτερη αποτελεσματικότητα στη χρήση πόρων και χωρίς να χρειάζεται να διαχειρίζεστε το υποκείμενο λειτουργικό σύστημα και VMΓια περισσότερα σχετικά με τη διαχείριση εφαρμογών κοντέινερ σε κλίμακα, ανατρέξτε στην τεκμηρίωση του GKE για γρήγορες εκκινήσεις, σεμινάρια, έννοιες, οδηγούς χρήσης και άλλους πόρους που θα σας βοηθήσουν να ξεκινήσετεΜετακίνηση της εσωτερικής εφαρμογής LAMP στο GKE είναι μια μετεγκατάσταση βελτίωσης και μετακίνησης, ενώ η μετάβαση από μια αυτοδιαχειριζόμενη υποδομή που βασίζεται σε κοντέινερ είναι μια μετεγκατάσταση lif-and-shiftApp EngineΗ μηχανή εφαρμογής είναι μια πλατφόρμα χωρίς διακομιστή για τη δημιουργία εφαρμογών υψηλής κλιμάκωσης.Ανάλογα με τον τύπο της εφαρμογής που εκτελείτε, το App Engine μπορεί να εξαλείψει την ανάγκη διαχείρισης διακομιστών, κοντέινερ ή αναπτύξεων, επιτρέποντας στους προγραμματιστές σας να επικεντρωθούν στη σύνταξη κώδικα και να μειώσουν την πολυπλοκότητα της διαχείρισης οποιασδήποτε υποκείμενης υποδομής.Δεν είναι όλοι οι φόρτοι εργασίας καλοί υποψήφιοι για μετάβαση στη Μηχανή Εφαρμογών, αλλά εκείνοι που παρουσιάζουν μειώσεις κόστους και πολυπλοκότητας ενώ αυξάνουν την ταχύτητα κλιμάκωσης και την ανθεκτικότητα της εφαρμογής υπό φόρτωσηΤο App Engine διατίθεται σε δύο εκδόσεις: το τυπικό περιβάλλον καλύπτει μια ποικιλία γλωσσών (συμπεριλαμβανομένης της PHP για την εφαρμογή μας LAMP) και το ευέλικτο περιβάλλον επιτρέπει μεγαλύτερη προσαρμογή των χρόνων εκτέλεσης, της απόδοσης και της υποδομής.Εξερευνήστε την τεκμηρίωση για τη γλώσσα της επιλογής σας για να μάθετε περισσότεραΕπιλογές βάσης δεδομένων Αυτοδιαχειριζόμενο σε Υπολογιστική Μηχανή Μπορείτε να εγκαταστήσετε τις MySQL, PostgreSQL ή οποιαδήποτε άλλη βάση δεδομένων που βασίζεται σε SQL σε μια παρουσία του Compute Engine. Αυτό παρέχει το ίδιο επίπεδο ελέγχου που θα είχατε κατά την εκτέλεση της MySQL σε σταθμό εργασίας, σε διακομιστή σε κέντρο δεδομένων ή ως εικονική μηχανή σε άλλο πάροχο cloud. Όταν εκτελείτε τη βάση δεδομένων σας σε εικονική μηχανή, είναι δική σας ευθύνη να διαμορφώσετε, να παρακολουθήσετε και να διατηρήσετε το failover, την αναπαραγωγή, την κατάτμηση και την υψηλή διαθεσιμότητα Μπορείτε να χειριστείτε τη βάση δεδομένων ως υπολογιστικό φόρτο εργασίας, λαμβάνοντας υπόψη την CPU, τη μνήμη RAM και τον χώρο στο δίσκο για να διασφαλίσετε ότι υπάρχουν αρκετοί πόροι για την αξιόπιστη εκτέλεση της εφαρμογής Όπως η μετακίνηση του φόρτου εργασίας υπολογισμού στο Compute Engine, αυτή η προσέγγιση αντιπροσωπεύει μια μετεγκατάσταση ανύψωσης και μετατόπισης Cloud SQL Το Cloud SQL είναι μια πλήρως διαχειριζόμενη υπηρεσία βάσης δεδομένων που εκφορτώνει την εγκατάσταση, τη ρύθμιση και τη συντήρηση της βάσης δεδομένων σας στο Google Cloud. Αυτοματοποιεί τη δημιουργία αντιγράφων ασφαλείας, την αναπαραγωγή, τις ενημερώσεις κώδικα και τις ενημερώσεις και σας επιτρέπει να εστιάσετε στην εφαρμογή σας. Οι βάσεις δεδομένων Cloud SQL μπορούν να χρησιμοποιηθούν από φόρτους εργασίας που εκτελούνται σε οποιαδήποτε από τις υπολογιστικές υπηρεσίες της Google, συμπεριλαμβανομένων των Compute Engine, GKE και App Engine. Εκτός αν χρειάζεστε ένα βαθύ επίπεδο ελέγχου της βάσης δεδομένων MySQL, το Cloud SQL είναι μια εύκολη στη ρύθμιση και πλήρως εξοπλισμένη επιλογή για την εκτέλεση φόρτου εργασίας LAMP Το Cloud SQL μπορεί να τρέξει εγγενώς και να υποστηρίξει MySQL και PostgreSQL. Εάν πραγματοποιείτε μετεγκατάσταση από μία από αυτές τις βάσεις δεδομένων στο Cloud SQL, αυτή είναι μια μετεγκατάσταση ανύψωσης και μετατόπισης. Εάν εξερευνάτε νέες μεθόδους για αναπαραγωγή, στρατηγική δημιουργίας αντιγράφων ασφαλείας ή απλότητα στη διαχείριση της υποδομής σας, αυτό μπορεί να είναι μια βελτίωση και μετακίνηση Άλλες επιλογές αποθήκευσης Το Cloud Storage είναι ένα επεκτάσιμο, πλήρως διαχειριζόμενο, εξαιρετικά αξιόπιστο και οικονομικό κατάστημα αντικειμένων ή blob, ιδανικό για την αποθήκευση εικόνων, στατικών στοιχείων και άλλων μη δομημένων δεδομένων. Το Cloud Storage μπορεί να χρησιμοποιηθεί για τη φιλοξενία ενός στατικού ιστότοπου, αλλά δεν έχει σχεδιαστεί για την αποθήκευση ενεργού περιεχομένου βάσης δεδομένων. Είναι επίσης μια ιδανική τοποθεσία για την αποθήκευση αντιγράφων ασφαλείας και αντικειμένων ανάκτησης καταστροφών και δεδομένων για χρήση για ροή Εξετάστε το ενδεχόμενο να χρησιμοποιήσετε το Cloud Storage ως τοποθεσία για την αποθήκευση αντιγράφων ασφαλείας της βάσης δεδομένων σας κατά τη διάρκεια και μετά τη μετεγκατάστασή σας Firestore Το Firestore είναι μια πλήρως διαχειριζόμενη, χωρίς διακομιστή, βάση δεδομένων εγγράφων NoSQL που είναι εγγενής στο cloud που απλοποιεί την αποθήκευση, το συγχρονισμό και την αναζήτηση δεδομένων για τις εφαρμογές σας για κινητά, web και Internet of Things (IoT) σε παγκόσμια κλίμακα. Οι βιβλιοθήκες πελατών του παρέχουν ζωντανό συγχρονισμό και υποστήριξη εκτός σύνδεσης, ενώ οι λειτουργίες ασφαλείας και οι ενσωματώσεις του με το Firebase και το Google Cloud επιταχύνουν τη δημιουργία εφαρμογών πραγματικά χωρίς διακομιστή. Εάν η εφαρμογή σας έχει περιεχόμενο που θα μπορούσε να επωφεληθεί από μια μορφή NoSQL, όπως προφίλ χρηστών, καταλόγους προϊόντων ή κατάσταση παιχνιδιού, θα πρέπει να εξερευνήσετε το Firestore στη φάση βελτιστοποίησης της μετεγκατάστασής σας Firebase Το Firebase είναι μια ολοκληρωμένη πλατφόρμα ανάπτυξης για κινητά που περιλαμβάνει επιλογές αποθήκευσης και βάσης δεδομένων. Εάν η εφαρμογή σας υποστηρίζει φόρτο εργασίας για κινητά, η πλατφόρμα Firebase θα πρέπει να ληφθεί υπόψη στη φάση βελτιστοποίησης Κλειδί Cloud Το Spanner είναι μια υπηρεσία βάσης δεδομένων εταιρικής ποιότητας, παγκόσμιας διανομής και με ισχυρή συνέπεια, που έχει δημιουργηθεί για το cloud. Συνδυάζει τα οφέλη των δομών σχεσιακών βάσεων δεδομένων με την οριζόντια επεκτασιμότητα των μη σχεσιακών βάσεων δεδομένων. Εάν η εφαρμογή σας θα μπορούσε να επωφεληθεί από βελτιωμένη διαχειρισιμότητα, επεκτασιμότητα και συναλλαγές με ισχυρή συνέπεια, σκεφτείτε τη μετεγκατάσταση της βάσης δεδομένων σας στο Spanner στη φάση βελτιστοποίησης Το Google Cloud προσφέρει πολλές άλλες επιλογές αποθήκευσης για την υποστήριξη ποικίλων φόρτων εργασίας ## Φάση μετανάστευσης Αφού ολοκληρώσετε την αξιολόγησή σας και προγραμματίσετε τη μετεγκατάστασή σας, μπορείτε να ξεκινήσετε τη μετακίνηση δεδομένων, υπηρεσιών και πόρων στο Google Cloud. Κάθε εφαρμογή έχει τις δικές της ανάγκες. Αυτή η ενότητα περιγράφει μερικά παραδείγματα για να σας βοηθήσει να δείξετε τι περιλαμβάνει αυτή η φάση Ανύψωση και μετατόπιση: Υπολογιστική μηχανή Το πρώτο βήμα για να ξεκινήσετε τη μετεγκατάσταση ανύψωσης και μετατόπισης είναι η δημιουργία μιας συμβατής υπηρεσίας πολλαπλών επιπέδων στο Compute Engine. Ενώ υπάρχουν πολλές προσεγγίσεις σε αυτό. τα ακόλουθα είναι τα τρία πιο κοινά: - Χειροκίνητη ρύθμιση. Εκκινήστε ένα VM με το λειτουργικό σύστημα που θέλετε, στη συνέχεια ενημερώστε χειροκίνητα τα αποθετήρια, εγκαταστήστε και διαμορφώστε το λογισμικό και παρέχετε και διαμορφώστε τη βάση δεδομένων και το περιβάλλον χρόνου εκτέλεσης με το χέρι. Αυτή η προσέγγιση προσφέρει υψηλό επίπεδο ελέγχου, αλλά απαιτεί περισσότερο χρόνο, είναι πιο επιρρεπής σε σφάλματα και είναι λιγότερο αναπαραγώγιμη από άλλες μεθόδους - Αυτοματοποιημένο. Χρησιμοποιήστε το Migrate to VMs για να μετεγκαταστήσετε μια στοίβα εικονικών μηχανών (με καθορισμένη σειρά) από εσωτερική εγκατάσταση σε εικονικά μηχανήματα σωστού μεγέθους, που παρέχονται αυτόματα και έχουν διαμορφωθεί στο Compute Engine - Cloud Marketplace. Εκκινήστε μια προδιαμορφωμένη στοίβα LAMP στο έργο σας στο Google Cloud. Βεβαιωθείτε ότι έχετε ελέγξει ότι οι παρεχόμενες εκδόσεις λειτουργικού συστήματος και λογισμικού θα λειτουργούν με την εφαρμογή σας. Εξερευνήστε την τεκμηρίωση του Cloud Marketplace για να μάθετε περισσότερα - Αυτοματοποιημένη ανάπτυξη. Δημιουργήστε VM έτοιμα για παραγωγή χρησιμοποιώντας έννοιες συνεχούς ενοποίησης / συνεχούς ανάπτυξης και μια ποικιλία εργαλείων διαχείρισης διαμόρφωσης (Chef, Puppet, Ansible, Salt), υποδομές ως εργαλεία κώδικα (Deployment Manager, Terraform) και πλαίσια αυτοματισμού (Cloud Build). Η αυτοματοποιημένη ανάπτυξη επιτρέπει ελεγχόμενες, επαναλαμβανόμενες και αυτοματοποιημένες μεθόδους για την ανάπτυξη VM και λογισμικού που ανταποκρίνονται στις ανάγκες της εφαρμογής και της διακυβέρνησής σας Βελτίωση και μετακίνηση: GKE και Cloud SQLΓια να μετακινηθείτε σε μια λύση διαχειριζόμενου κοντέινερ, πρέπει πρώτα να δημιουργήσετε τη βάση για το σύμπλεγμα και τη διαχειριζόμενη λύση SQLΕκκίνηση ενός συμπλέγματος GKEΗ δημιουργία ενός συμπλέγματος στο GKE και η διαχείριση αυτού του συμπλέγματος είναι τα πρώτα βήματα.Χρησιμοποιήστε τις πληροφορίες από τις φάσεις αξιολόγησης και θεμελίωσης για το μέγεθος και τη διαμόρφωση του αρχικού σας συμπλέγματος κατάλληλα και για την εφαρμογή βέλτιστων πρακτικών σκλήρυνσης ασφαλείαςΕπιλογές εκκίνησης για το Cloud SQLΧρήση τις πληροφορίες της βάσης δεδομένων που αποκτήθηκαν κατά τις φάσεις αξιολόγησης και θεμελίωσης, δημιουργήστε μια νέα παρουσία του Cloud SQL και ακολουθήστε άλλους οδηγούς για τη δημιουργία της βάσης δεδομένων για την εφαρμογή σας.Η Google παρέχει μια λίστα με τις βέλτιστες πρακτικές του Cloud SQL, οδηγούς για τη ρύθμιση υψηλής διαθεσιμότητας και άλλους οδηγούς για οριζόντια κλιμάκωση.Εξερευνήστε τις επιλογές για σύνδεση από το Google Kubernetes Engine στο Cloud SQL και επιλέξτε την επιλογή που έχει νόημα για την εφαρμογή και το επίπεδο εμπειρίας σαςΒελτίωση και μετακίνηση χωρίς διακομιστή: App Engine και Cloud SQLΕάν αποφασίσετε να μετεγκαταστήσετε την εφαρμογή LAMP σε πλαίσιο χωρίς διακομιστή, ίσως χρειαστεί να τροποποιήσετε την εφαρμογή σας ώστε να υποστηρίζει το App Engine.Κάθε εφαρμογή είναι διαφορετική και υπάρχουν πολλές στρατηγικές.Ξεκινήστε αναθεωρώντας τα ακόλουθα:- Λάβετε μια επισκόπηση της αρχιτεκτονικής μικροϋπηρεσιών στο App Engine- Κατανοήστε πώς να δημιουργείτε και να ονομάζετε dev, test, QA, staging , και περιβάλλοντα παραγωγής με μικροϋπηρεσίες στο App Engine- Μάθετε τις βέλτιστες πρακτικές για το σχεδιασμό API για την επικοινωνία μεταξύ των microservices- Μάθετε τις βέλτιστες πρακτικές για την απόδοση microserviceΑνάλογα με την οργανωτική και προσωπική σας εμπειρία και την εξοικείωση με την εκτέλεση κώδικα χωρίς διακομιστή, η στρατηγική βελτίωσης και μετακίνησης χωρίς διακομιστή θα μπορούσε να πάρει πολύ περισσότερο χρόνο από τις επιλογές ανύψωσης και μετατόπισης.Ωστόσο, η μεταφορά των καλύτερων δυνατοτήτων χωρίς διακομιστές σε εσάς θα μπορούσε να είναι ένα τεράστιο πλεονέκτημα για τον οργανισμό σας## Φάση βελτιστοποίησηςΌταν η εφαρμογή σας εκτελείται στο Google Cloud, μπορείτε να επικυρώσετε τις υποθέσεις και τις αποφάσεις σας από τις προηγούμενες τρεις φάσεις.Η πλήρης μετεγκατάσταση μπορεί να διαρκέσει πολύ και πολλές λεπτομέρειες μπορούν να αλλάξουν κατά τη διάρκεια της διαδικασίας.Η βελτιστοποίηση καλύπτει πολλούς τομείς, αλλά εδώ είναι μερικές κοινές κατηγορίεςΒελτιστοποίηση κόστουςΗ μετάβαση από τις εγκαταστάσεις στο cloud αλλάζει τον τρόπο με τον οποίο ξοδεύετε χρήματα σε εφαρμογές , υπηρεσίες και υποδομές.Μπορείτε να ολοκληρώσετε μια αξιολόγηση μιας παλαιού τύπου υπηρεσίας εσωτερικής εγκατάστασης και να ανακαλύψετε μετά τη μετεγκατάσταση ότι το σύγχρονο υλικό, η ταχύτερη μνήμη και οι νεότερες αρχιτεκτονικές CPU την εκτελούν πιο αποτελεσματικά.Αυτό μπορεί να σημαίνει ότι τα VM σας είναι υπερβολικά εφοδιασμένα και σπαταλούν χρήματαΜπορείτε να διερευνήσετε χρησιμοποιώντας προκαταρκτικές παρουσίες VM στο Compute Engine.Ίσως δεν χρειαζόσαστε τόσους εξισορροπητές φορτίου όσο νομίζατε ή καταφέρατε να καθαρίσετε τη βάση δεδομένων σας εν κινήσει και τώρα έχετε χώρο που δεν χρησιμοποιείτε.Η εύρεση τρόπων εξοικονόμησης χρημάτων και χαμηλότερου λειτουργικού κόστους στο cloud μπορεί να γίνει μια εργασία πλήρους απασχόλησης που αποδίδει.Το Google Cloud διαθέτει μια σειρά από εργαλεία διαχείρισης κόστους που μπορούν να σας βοηθήσουν να κατανοήσετε την τιμολόγηση στο cloudΑυτοματισμόςΗ σωστή αυτοματοποίηση των υπολογιστικών φόρτων εργασίας σας στο cloud μπορεί να οδηγήσει σε κόστοςοφέλη εξοικονόμησης και αποτελεσματικότηταςΤο Deployment Managerείναι ένα προϊόν Google Cloud που έχει σχεδιαστεί για να σας βοηθά να δημιουργείτε και να διαχειρίζεστε πόρους στο cloudχρησιμοποιώντας απλά πρότυπαΗ δέσμη ενεργειών μεgcloudείναι μια επιλογή εάν προτιμάτε να γράφετε τους δικούς σας αυτοματισμούς.Ενώ τα οικονομικά οφέλησυνοδεύονται από την αυτοματοποίηση, άλλα πλεονεκτήματα περιλαμβάνουν τα ακόλουθα:- Τυπικές και επαναλαμβανόμενες διαδικασίες για μείωση των ποσοστών σφαλμάτων- Ελεγχόμενη παρακολούθηση για τη συμμόρφωση και τη διακυβέρνηση- Αυξημένη κατανόηση του τρόπου λειτουργίας της εφαρμογής σας, του τρόπου λειτουργίας της και του τρόπου διόρθωσής τηςΟ αυτοματισμός αυξάνει το χρόνο λειτουργίας μειώνοντας την εξάρτηση από την ειδοποίηση και τον χρόνο ανθρώπινης αντίδρασης, μειώνει το τεχνικό χρέος τεκμηριώνοντας τη ροή εργασιών και επιτρέπει στους μηχανικούς σας να εστιάζουν λιγότερο στο να διατηρούν τα φώτα αναμμένα και περισσότερο στην κατασκευή καλύτερων προϊόντων, εργαλείων και υπηρεσιών.Αυτές οι έννοιες βρίσκονται στον πυρήνα του Site Reliability Engineering (SRE).Το Google Cloud προσφέρει ένα βιβλίο δωρεάν για ανάγνωση στο Διαδίκτυο για την Μηχανική Αξιοπιστίας Ιστότοπων, καθώς και ένα Βιβλίο Εργασίας SRE που παρέχει πρακτικά παραδείγματα και μελέτες περίπτωσηςΑποσύνδεση της υποδομής και του κωδικού σαςΑποσυνδέετε τις υπηρεσίες πολλές φορές καθώς μεγαλώνει μια εφαρμογή.Η διάσπαση των συνδεδεμένων υπηρεσιών και η γνώση του πώς να τις κλιμακώνετε ανεξάρτητα, βελτιώνει τη διαθεσιμότητα και την αξιοπιστία των εφαρμογών σας.Υπάρχουν γενικά τρία βήματα σε αυτήν τη διαδικασία:- Εφαρμογή της υποδομής ως κώδικα (IaC) παντού.Με την εφαρμογή διαδικασιών διαχείρισης IaC και διαμόρφωσης, κερδίζετε ανιχνεύσιμα, ελεγχόμενα και αναπαραγόμενα δομικά στοιχεία για την παροχή και τη διαμόρφωση ολόκληρης της υποδομής σας- Αποσυνδέστε τις υπάρχουσες υπηρεσίες σας σε μικροϋπηρεσίες.Χρησιμοποιήστε ενδιάμεσο λογισμικό προσανατολισμένο σε μηνύματα, όπως το Pub/Sub, για να επιτρέψετε σε κάθε microservice να είναι ο δικός της τομέας αποτυχίας- Ξεκινήστε τη μετεγκατάσταση υπηρεσιών από την υποδομή ως υπηρεσία στην πλατφόρμα ως υπηρεσία , ή ακόμη και λειτουργεί ως υπηρεσία ή χωρίς διακομιστή ως υπηρεσία.Το ταξίδι από τον "μονολιθικό κώδικα και την υποδομή"στις "αποσυνδεδεμένες μικροϋπηρεσίες που λειτουργούν αποτελεσματικά σε όλο το φάσμα IaaS"είναι ένας πολύτιμος στόχος που θα απαιτήσει χρόνο, προσπάθεια και αφοσίωσηΣυντονισμός απόδοσηςΟ συντονισμός απόδοσης μπορεί να αποφέρει σημαντικά κέρδη στη χρήση του συστήματος και στον χρόνο απόκρισης.Κάθε φόρτος εργασίας έχει διαφορετική μέθοδο συντονισμού απόδοσης, από αρχεία διαμόρφωσης λογισμικού έως συντονισμό σημαιών πυρήνα.Για εφαρμογές LAMP, ο συντονισμός απόδοσης εμπίπτει συνήθως σε τρεις κατηγορίες:- Συντονισμός του cloud, του δικτύου και του λειτουργικού συστήματος: - 5 βήματα για καλύτερη απόδοση του δικτύου Google Cloud μπορούν να σας βοηθήσουν να κατανοήσετε πώς να αξιοποιήσετε στο έπακρο το Google Cloud Networking - Η βελτιστοποίηση TCP για την απόδοση του δικτύου στο Google Cloud μπορεί να σας βοηθήσει εάν έχετε συγκεκριμένες απαιτήσεις καθυστέρησης TCP - Η βελτιστοποίηση επίμονων δίσκων και τοπικής απόδοσης SSD μπορεί να σας βοηθήσει να μάθετε για την αρχιτεκτονική για μεγάλους φόρτους εργασίας IOPS - Η βελτίωση της απόδοσης στο Compute Engine μπορεί να βοηθήσει την απόδοση της εφαρμογής API κατά την αλληλεπίδραση με άλλα API και υπηρεσίες Google Cloud - Συντονισμός του διακομιστή web: - Το Apache Performance Tuning και το NGINX Performance Tuning ή μια γενική αναζήτηση στο Google για τον "συντονισμό απόδοσης του διακομιστή ιστού σας"θα σας οδηγήσουν στη σωστή κατεύθυνση Ρύθμιση της βάσης δεδομένων: ## Τι έπεται - Ρύθμιση LAMP στον Υπολογιστικό Μηχανή - Αναπτύξτε μια στοίβα LAMP - Μάθετε περισσότερα σχετικά με την εκτέλεση υπολογιστικών φόρτων εργασίας στο Compute Engine ή στο GKE Συνδέστε το GKE στο Cloud SQL Εξερευνήστε το Migrate to VMs και το Migrate to Containers Δημιουργήστε μια εξαιρετικά επεκτάσιμη εφαρμογή σε μια πλήρως διαχειριζόμενη πλατφόρμα χωρίς διακομιστή με το App Engine Μάθετε περισσότερα σχετικά με τις επιλογές βάσης δεδομένων στο Google Cloud Εξερευνήστε αρχιτεκτονικές αναφοράς, διαγράμματα, σεμινάρια και βέλτιστες πρακτικές σχετικά με το Google Cloud. Ρίξτε μια ματιά στο Κέντρο Αρχιτεκτονικής Cloud.