Αυτό το μάθημα αφορά τη δημιουργία απομακρυσμένων περιβαλλόντων ανάπτυξης (γνωστών και ως "απομακρυσμένων διερμηνέων"), ώστε να μπορείτε να προγραμματίζετε τοπικά αλλά να εκτελείτε τον κώδικά σας σε έναν απομακρυσμένο διακομιστή.
Τα απομακρυσμένα περιβάλλοντα ανάπτυξης έχουν πολλά μεγάλα πλεονεκτήματα:
Σε αυτό το βίντεο δείχνουμε πώς να δημιουργήσετε μια παρουσία διακομιστή στο AWS EC2 και, στη συνέχεια, να ρυθμίσετε το απομακρυσμένο περιβάλλον ανάπτυξης στο VSCode.
Ακολουθεί η δομή του μαθήματος:
Γεια σας, είμαι ο Julien Salinas από το NLP Cloud.
Σήμερα, θα σας δείξω πώς να δημιουργήσετε ένα απομακρυσμένο περιβάλλον ανάπτυξης, ώστε να μπορείτε να γράφετε κώδικα στον τοπικό σας υπολογιστή, αλλά να εκτελείτε τον κώδικά σας σε έναν απομακρυσμένο διακομιστή AWS.
Δεν υπάρχει προαπαιτούμενο για αυτό το μάθημα, οπότε ξεκινάμε.
Τι εννοούμε με τον όρο απομακρυσμένο περιβάλλον ανάπτυξης; Στην πραγματικότητα σημαίνει ότι θα προγραμματίσουμε τοπικά στο VS Code, όπως οι περισσότεροι από εμάς σήμερα.
Αν χρησιμοποιείτε άλλο περιβάλλον ανάπτυξης, θα πρέπει να ελέγξετε αν υποστηρίζονται ή όχι απομακρυσμένοι διερμηνείς ή απομακρυσμένα περιβάλλοντα ανάπτυξης και θα εκτελέσουμε τον κώδικα απομακρυσμένα σε μια παρουσία AWS.
Επιλέγουμε σήμερα το AWS επειδή ξέρω ότι οι περισσότεροι από εσάς χρησιμοποιείτε το AWS στην καθημερινή σας ροή εργασιών παραγωγής, αλλά αν χρησιμοποιείτε το GCP ή το Azure ή το OVH ή το Scaleware ή οτιδήποτε άλλο, η διαδικασία θα είναι πολύ παρόμοια.
Όπως θα δείτε, θα πρόκειται για την παροχή μιας παρουσίασης, την ανάκτηση της διεύθυνσης IP και τη χρήση της τοπικά στο VS Code για να συνδεθείτε μέσω SSH στην παρουσία.
Γιατί χρησιμοποιούμε απομακρυσμένο περιβάλλον ανάπτυξης; Ο πρώτος λόγος είναι ότι θέλουμε να μπορέσουμε να μειώσουμε το κόστος του τοπικού μας περιβάλλοντος ανάπτυξης.
Μπορεί να μην θέλετε να αγοράσετε ένα πολύ ακριβό high-end MacBook Pro Ultra M2, για παράδειγμα, και σε αυτή την περίπτωση, μπορεί να είναι πιο αποδοτικό για εσάς να αγοράσετε ένα τοπικό μηχάνημα χαμηλότερου επιπέδου, αλλά να εκτελείτε τον κώδικά σας από απόσταση όποτε το χρειάζεστε.
Ένας δεύτερος πολύ σημαντικός λόγος, ειδικά για τους μηχανικούς μηχανικής μάθησης, είναι ότι μερικές φορές θα χρειαστεί να έχετε πρόσβαση σε υλικό υψηλών προδιαγραφών, όπως για παράδειγμα GPU, και αυτό το υλικό δεν είναι απαραίτητα διαθέσιμο στο τοπικό σας μηχάνημα.
Για παράδειγμα, αν θέλετε να έχετε πρόσβαση σε μια GPU A100 NVIDIA ή H100, σίγουρα δεν θα έχετε πρόσβαση σε τέτοιες GPU τοπικά.
Αυτό, όπως θα δείξουμε σήμερα, είναι πολύ χρήσιμο γιατί διαφορετικά δεν μπορείτε να έχετε πρόσβαση σε συγκεκριμένα μηχανήματα για την ανάπτυξη GPU.
Τέλος, το γεγονός ότι πρόκειται να χρησιμοποιήσετε ένα απομακρυσμένο περιβάλλον είναι εξαιρετικό, διότι πρόκειται για ένα απόλυτα απομονωμένο περιβάλλον, πράγμα που σημαίνει ότι αν θέλετε να εγκαταστήσετε συγκεκριμένες βιβλιοθήκες ή πλαίσια ή προγράμματα οδήγησης, μπορείτε να το κάνετε στο απομακρυσμένο μηχάνημα AWS.
Και αν αύριο χρειαστεί να εγκαταστήσετε, ας πούμε, μια άλλη έκδοση των προγραμμάτων οδήγησης NVIDIA και της εργαλειοθήκης CUDA ή των βιβλιοθηκών Python, πράγματα όπως αυτά, απλά πρέπει να παρέχετε έναν δεύτερο διακομιστή και είστε απολύτως βέβαιοι ότι και οι δύο διακομιστές δεν πρόκειται να παρεμβαίνουν.
Και οι δύο διαμορφώσεις θα είναι απόλυτα απομονωμένες.
Έτσι, μπορείτε επίσης, φυσικά, να επιτύχετε παρόμοια πράγματα με το Docker ή ακόμη και με εικονικά περιβάλλοντα στην Python, για παράδειγμα.
Φανταστείτε όμως ότι θέλετε να εγκαταστήσετε διάφορες εκδόσεις των προγραμμάτων οδήγησης NVIDIA.
Αυτό θα είναι πολύ πιο περίπλοκο.
Και σε αυτή την περίπτωση, η παροχή αρκετών απομακρυσμένων περιβαλλόντων μπορεί να είναι η μόνη λύση για εσάς.
Έτσι, το πρώτο πράγμα που θα κάνουμε τώρα είναι να συνδεθούμε στην κονσόλα AWS και να δημιουργήσουμε μια βασική περίπτωση AWS, μια περίπτωση CPU, και στη συνέχεια θα τη χρησιμοποιήσουμε τοπικά από το VS Code.
Ορίστε.
Βρίσκομαι τώρα στην κονσόλα AWS.
Εάν χρησιμοποιείτε για πρώτη φορά το AWS, πρέπει απλώς να δημιουργήσετε έναν λογαριασμό με κωδικό πρόσβασης ηλεκτρονικού ταχυδρομείου.
Δεν νομίζω ότι ζητούν πάρα πολλές πληροφορίες.
Και τώρα μπορείτε να δημιουργήσετε μια παρουσία στην EC2.
Θα κάνουμε κλικ στην επιλογή launch instance.
Μπορούμε να δώσουμε ένα όνομα στην περίπτωσή μας.
Ας το ονομάσουμε, για παράδειγμα, dev environment.
Εντάξει. Εντάξει.
Τώρα το σημαντικό μέρος.
Πρέπει να επιλέξουμε ένα λειτουργικό σύστημα για την περίπτωσή μας.
Θέλετε πραγματικά να επιλέξετε το Linux και όσον αφορά εμένα, μου αρέσει πολύ το Ubuntu επειδή είναι τυποποιημένο και είμαι σίγουρος ότι οι πιο πρόσφατοι οδηγοί θα εγκατασταθούν στο Ubuntu, ειδικά με τους οδηγούς της NVIDIA, αυτό μπορεί πραγματικά να βοηθήσει.
Έτσι, κάνω κλικ στο Ubuntu εδώ.
Αν χρησιμοποιείτε για πρώτη φορά το Linux, μην ανησυχείτε.
Δεν θα χρειαστούμε πολλά κόλπα ή εντολές του Linux.
Βασικά θα κάνουμε τα πάντα από τον κώδικα VS, εκτός από το ότι φυσικά πίσω από την κουκούλα θα υπάρχει Linux, αλλά δεν νομίζω ότι θα είναι μεγάλο πρόβλημα για εσάς.
Μπορείτε να αφήσετε την έκδοση 2204 LTS ως έχει.
Και τώρα θα επιλέξουμε μια απλή περίπτωση CPU.
Για παράδειγμα, στο AWS, έχετε την περίπτωση M5, M5 large, δύο CPU, οκτώ gigs μνήμης.
Ιδανικό για εμάς.
Ίσως ακόμη και πάρα πολύ για σήμερα, αλλά στο μέλλον, θα πρέπει να επιλέξετε την περίπτωση που ταιριάζει απόλυτα στις ανάγκες σας.
Εντάξει. Εντάξει.
Τώρα πρέπει να χρησιμοποιήσουμε ένα ζεύγος κλειδιών SSH.
Έτσι, αν αυτή είναι η πρώτη φορά που χρησιμοποιείτε το SSH εδώ, θα πρέπει να δημιουργήσετε το δικό σας ζεύγος κλειδιών στο AWS, create new key pair.
Ας το ονομάσουμε ζεύγος κλειδιών δοκιμής.
Μπορείτε να επιλέξετε τη μορφή PEM, να δημιουργήσετε ζεύγος κλειδιών.
Και τώρα το κατεβάζω, συγγνώμη, στον υπολογιστή μου.
Εντάξει. Εντάξει.
Δεν χρειάζεται να αλλάξετε την ομάδα ασφαλείας εδώ.
Από προεπιλογή, η θύρα SSH θα είναι ανοιχτή, πράγμα που δεν πειράζει.
Αυτό χρειαζόμαστε.
Οκτώ gigs SSD είναι ιδανικά για σήμερα.
Και μπορούμε να κάνουμε κλικ στην επιλογή launch instance.
Εντάξει. Εντάξει.
Το παράδειγμα είναι έτοιμο τώρα.
Αν αυτή είναι η πρώτη σας δημιουργία instance στο AWS, ίσως χρειαστεί να ζητήσετε από την υποστήριξη του AWS να αναβαθμίσει την ποσόστωσή σας.
Δεν είμαι ακριβώς σίγουρος.
Για πολύ ακριβές περιπτώσεις, όπως οι περιπτώσεις GPU, πρέπει να ζητήσετε αναβάθμιση ποσόστωσης.
Για απλή περίπτωση M5, δεν είμαι σίγουρος.
Αλλά αν λαμβάνετε ένα σφάλμα εδώ, ζητώντας αύξηση της ποσόστωσης, αυτό θα κάνετε.
Αυτή είναι η περίπτωσή μας.
Όπως μπορείτε να δείτε, λειτουργεί ήδη.
Ήταν πολύ γρήγορο.
M5 μεγάλο.
Και εδώ στα δεξιά, έχουμε τη διεύθυνση IP που θα χρησιμοποιήσουμε.
Τώρα που έχουμε δημιουργήσει την περίπτωσή μας και έχουμε κατεβάσει το ζεύγος κλειδιών SSH στο μηχάνημά μας, αυτό που πρέπει να κάνουμε είναι να ανοίξουμε το VS Code και να δημιουργήσουμε τη σύνδεση SSH στον απομακρυσμένο διακομιστή μας.
Αν είναι η πρώτη φορά που χρησιμοποιείτε ένα πρόγραμμα-πελάτη SSH στα Windows, θα πρέπει να το ενεργοποιήσετε.
Ακολουθεί ένα σεμινάριο από την ομάδα των Windows για το πώς να το κάνετε.
Μπορείτε απλά να πληκτρολογήσετε create SSH client on Windows, στο Google, και θα βρείτε πολλά σεμινάρια.
Εδώ είναι το επίσημο.
Αν περιηγηθείτε λίγο πιο κάτω, είναι πολύ απλό.
Απλώς πρέπει να ενεργοποιήσετε κάτι στις εφαρμογές των Windows.
Αν χρησιμοποιείτε Linux, είναι εγκατεστημένο από προεπιλογή.
Έτσι είμαι τώρα στο VS Code.
Κάτω αριστερά, μπορείτε να δείτε αυτό το κουμπί εδώ.
Κάνω κλικ στη σύνδεση του τρέχοντος παραθύρου με τον κεντρικό υπολογιστή.
Αν είναι η πρώτη φορά που χρησιμοποιείτε αυτή τη μονάδα απομακρυσμένης σύνδεσης, ίσως το VS Code κατεβάσει το πρόσθετο.
Έτσι, μπορεί να χρειαστούν μερικά δευτερόλεπτα για να μπορέσετε να αποκτήσετε πρόσβαση στη λειτουργία.
Ρυθμίζω τους κεντρικούς υπολογιστές, κάνοντας κλικ στο κουμπί Ρύθμιση των κεντρικών υπολογιστών.
Είμαι σε Windows σήμερα, οπότε εδώ βρίσκεται το config μου.
Και εδώ, αυτό είναι το αρχείο ρυθμίσεων που πρέπει να συμπληρώσω.
Έτσι, το πιο σημαντικό είναι ότι πρέπει να ανακτήσουμε τη διεύθυνση IP του παραδείγματός μας και να την επικολλήσουμε εδώ.
Τέλεια.
Μπορούμε να δώσουμε ένα όνομα στη σύνδεσή μας, αλλά είναι μόνο για εμάς.
Ας το ονομάσουμε DevHouse.
Το όνομα χρήστη είναι το όνομα χρήστη που χρησιμοποιείται από τον πελάτη SSH για τη σύνδεση στην περίπτωση.
Δεδομένου ότι διαθέτουμε διακομιστή Ubuntu, το όνομα χρήστη είναι Ubuntu από προεπιλογή.
Και όταν κατέβασα το ζεύγος κλειδιών, το ζεύγος κλειδιών SSH, το έβαλα στην επιφάνεια εργασίας μου στα Windows.
Έτσι, εδώ είναι που το VS Code θα ανακτήσει το κλειδί.
Μπορείτε να αποθηκεύσετε το αρχείο και τώρα κάντε κλικ στο κάτω μέρος, συνδέστε το τρέχον παράθυρο με τον κεντρικό υπολογιστή ξανά.
Το DevHouse είναι αυτό που μόλις δημιουργήσαμε.
Θα πρέπει να περιμένετε εδώ.
Πολύ καλά.
Μπορείτε να δείτε ότι το VS Code μου ζητάει μια ανταλλαγή κλειδιών.
Έτσι, ναι, αυτή είναι η πρώτη φορά που συνδεόμαστε σε αυτή την περίπτωση.
Έτσι, για λόγους ασφαλείας, πρέπει να δεχτούμε αυτό το νέο δακτυλικό αποτύπωμα.
Ωραία.
Δεν φαίνεται πολύ δραματικό, αλλά τώρα βρισκόμαστε στην πραγματικότητα στην απομακρυσμένη μας παρουσία στο AWS.
Και μπορείτε να το δείτε γιατί κάτω αριστερά, μπορείτε να δείτε το SSH.
Για να το ελέγξετε, μπορείτε να ανοίξετε ένα τερματικό στην κορυφή, κάνοντας κλικ στο νέο τερματικό.
Και εδώ μπορείτε να δείτε ότι αυτό το τερματικό δεν είναι καθόλου το τερματικό της τοπικής μου μηχανής Windows.
Βρίσκομαι σε ένα μηχάνημα Ubuntu.
Και αν θέλω, μπορώ να χρησιμοποιήσω κάποιες εντολές Linux όπως συνήθως στο Linux, όπως η λίστα καταλόγων.
Δεν έχουμε τίποτα εδώ, οπότε μπορούμε να δημιουργήσουμε έναν κατάλογο.
Ας πούμε ότι θέλουμε να δημιουργήσουμε ένα περιβάλλον ανάπτυξης για να κάνουμε μερικές δοκιμές.
Και τώρα έχουμε δημιουργήσει τον νέο μας φάκελο test εδώ.
Είτε θέλετε να κάνετε τα πάντα με τη γραμμή εντολών, είτε, ίσως ακόμη καλύτερα, θέλετε να χρησιμοποιήσετε το γραφικό περιβάλλον του VS Code για να περιηγηθείτε στο αρχείο σας ως συνήθως.
Οπότε κάνετε κλικ στην κορυφή, ανοίξτε φάκελο.
Και εδώ μπορείτε να δείτε τον δοκιμαστικό κατάλογο που μόλις δημιούργησα.
Τώρα το VS Code ανοίγει ξανά, αλλά αυτή τη φορά στο συγκεκριμένο φάκελο που ανέφερα.
Και από τώρα και στο εξής, μπορείτε να αρχίσετε να αναπτύσσετε ως συνήθως, σαν να βρισκόσασταν στον τοπικό σας υπολογιστή, με τη διαφορά ότι ο κώδικάς σας θα εκτελεστεί στο AWS.
Ας δοκιμάσουμε λοιπόν.
Για παράδειγμα, ας δημιουργήσουμε ένα απλό πρόγραμμα Python, λέγοντας hello, new file, test.py, print, hello
Αποθηκεύστε το αρχείο.
Και στη συνέχεια, στην κονσόλα σας, μπορούμε τώρα να εκτελέσουμε το αρχείο.
Γεια σας.
Μόλις εκτελέσατε με επιτυχία τον πρώτο σας απομακρυσμένο κώδικα στο AWS.
Αυτά για σήμερα.
Τώρα μπορείτε να χρησιμοποιείτε το απομακρυσμένο περιβάλλον ανάπτυξης όσο θέλετε.
Μην ξεχνάτε να απενεργοποιείτε την εμφάνισή σας στο AWS όταν δεν τη χρειάζεστε πλέον.
Και τα λέμε σύντομα.