Είμαι προγραμματιστής και εργάζομαι καθημερινά σε ολοκληρωμένα περιβάλλοντα ανάπτυξης (IDE), όπως το Intellij IDEA ή το Eclipse. Αυτά τα IDE είναι εφαρμογές για υπολογιστές. Από την έλευση των Εγγράφων Google, έχω δει όλο και περισσότερους ανθρώπους να μετακινούν τη δουλειά τους από εκδόσεις Word ή Excel για επιτραπέζιους υπολογιστές στο cloud χρησιμοποιώντας ένα διαδικτυακό ισοδύναμο ενός επεξεργαστή κειμένου ή μιας εφαρμογής υπολογιστικού φύλλου.
Υπάρχουν προφανείς λόγοι για τη χρήση ενός cloud για τη διατήρηση της εργασίας σας. Σήμερα, σε σύγκριση με τις παραδοσιακές επιχειρηματικές εφαρμογές για επιτραπέζιους υπολογιστές, ορισμένες εφαρμογές ιστού δεν έχουν σημαντικό μειονέκτημα στις λειτουργίες. Το περιεχόμενο είναι διαθέσιμο οπουδήποτε υπάρχει πρόγραμμα περιήγησης ιστού και αυτές τις μέρες είναι σχεδόν παντού. Η συνεργασία και η κοινή χρήση είναι ευκολότερη και η απώλεια αρχείων είναι λιγότερο πιθανή.
Δυστυχώς, αυτά τα πλεονεκτήματα cloud δεν είναι τόσο κοινά στον κόσμο της ανάπτυξης λογισμικού όσο και για επιχειρηματικές εφαρμογές. Υπάρχουν κάποιες απόπειρες παροχής ενός διαδικτυακού IDE, αλλά δεν είναι πουθενά κοντά στα παραδοσιακά IDE.
Αυτό είναι ένα παράδοξο. ενώ εξακολουθούμε να είμαστε συνδεδεμένοι στην επιφάνεια εργασίας μας για καθημερινή κωδικοποίηση, το λογισμικό δημιουργείται τώρα σε πολλούς διακομιστές. Οι προγραμματιστές πρέπει να δουλέψουν με πράγματα που δεν μπορούν να κρατήσουν πλέον στον υπολογιστή τους. Πράγματι, οι φορητοί υπολογιστές δεν αυξάνουν πλέον την ισχύ επεξεργασίας τους. Το να έχετε περισσότερα από 16 GB μνήμης RAM σε φορητό υπολογιστή είναι σπάνιο και ακριβό και οι νεότερες συσκευές, τα tablet, για παράδειγμα, έχουν ακόμη λιγότερα.
Ωστόσο, ακόμη και αν δεν είναι ακόμη δυνατό να αντικατασταθούν οι κλασικές εφαρμογές επιτραπέζιου υπολογιστή για ανάπτυξη λογισμικού, είναι δυνατό για να μετακινήσετε ολόκληρη την επιφάνεια εργασίας ανάπτυξης στο cloud . Την ημέρα που συνειδητοποίησα ότι δεν ήταν πλέον απαραίτητο να έχω όλο το λογισμικό μου στον φορητό υπολογιστή μου και παρατηρώντας τη διαθεσιμότητα της διαδικτυακής έκδοσης των τερματικών και του VNC, μετακόμισα τα πάντα στο cloud. Τελικά, ανέπτυξα ένα κιτ κατασκευής για τη δημιουργία αυτού του περιβάλλοντος με αυτοματοποιημένο τρόπο.
Σε αυτό το άρθρο παρουσιάζω ένα σύνολο σεναρίων για τη δημιουργία ενός περιβάλλοντος ανάπτυξης που βασίζεται σε σύννεφο Σκάλα και μεγάλες εφαρμογές δεδομένων, που λειτουργούν με το Docker στο Amazon AWS και αποτελούνται από έναν επιτραπέζιο υπολογιστή με πρόσβαση στο διαδίκτυο με υπηρεσίες IntelliJ IDE, Spark, Hadoop και Zeppelin, καθώς και εργαλεία γραμμής εντολών όπως SSH, SBT και Ammonite που βασίζονται στον ιστό. Το κιτ διατίθεται δωρεάν GitHub , και περιγράφω εδώ τη διαδικασία για τη χρήση του για τη δημιουργία της παρουσίας σας. Μπορείτε να δημιουργήσετε το περιβάλλον σας και να το προσαρμόσετε στις ιδιαίτερες ανάγκες σας. Δεν θα χρειαστούν περισσότερα από 10 λεπτά για να το ενεργοποιήσετε.
Ο πρωταρχικός μου στόχος στην ανάπτυξη του κιτ ήταν ότι το περιβάλλον ανάπτυξής μου πρέπει να είναι κάτι που μπορώ απλώς να ενεργοποιήσω, με όλες τις υπηρεσίες και τους διακομιστές με τους οποίους συνεργάζομαι και, στη συνέχεια, να τα καταστρέψω όταν δεν χρειάζονται πλέον. Αυτό είναι ιδιαίτερα σημαντικό όταν εργάζεστε σε διαφορετικά έργα, μερικά από τα οποία περιλαμβάνουν μεγάλο αριθμό διακομιστών και υπηρεσιών, όπως όταν εργάζεστε σε έργα μεγάλων δεδομένων.
Το ιδανικό περιβάλλον που βασίζεται σε σύννεφο πρέπει:
Αξιοποιώντας τη σύγχρονη υποδομή και το λογισμικό cloud, τη δύναμη των σύγχρονων προγραμμάτων περιήγησης, την ευρεία διαθεσιμότητα ευρυζωνικών συνδέσεων και το ανεκτίμητο Docker, δημιούργησα ένα περιβάλλον ανάπτυξης για τη Scala και ανάπτυξη μεγάλων δεδομένων ότι, προς το καλύτερο, αντικατέστησε το laptop ανάπτυξης μου.
Προς το παρόν, μπορώ να δουλέψω ανά πάσα στιγμή, είτε από MacBook Pro, Surface Tablet ή ακόμα και από iPad (με πληκτρολόγιο), αν και βεβαίως η τελευταία επιλογή δεν είναι ιδανική. Όλες αυτές οι συσκευές είναι απλώς πελάτες. η επιφάνεια εργασίας και όλοι οι διακομιστές βρίσκονται στο cloud.
Το τρέχον περιβάλλον μου δημιουργείται χρησιμοποιώντας τις ακόλουθες διαδικτυακές υπηρεσίες:
Χρησιμοποιώ επίσης μερικές δωρεάν υπηρεσίες, όπως DuckDns για δυναμικές διευθύνσεις IP και Ας κρυπτογραφήσουμε για να λάβετε ένα δωρεάν πιστοποιητικό SSL.
Σε αυτό το περιβάλλον, επί του παρόντος έχω:
Το πιο σημαντικό είναι ότι η πρόσβαση στο διαδίκτυο είναι πλήρως κρυπτογραφημένη με HTTPS, τόσο για το VNC όσο και για SSH που βασίζονται στον ιστό και υπάρχουν πολλές διασφαλίσεις για την αποφυγή απώλειας δεδομένων, μια ανησυχία που είναι, φυσικά, σημαντική όταν δεν είστε «ιδιοκτήτης» του περιεχομένου στο τον φυσικό σας σκληρό δίσκο. Λάβετε υπόψη ότι η λήψη ενός αντιγράφου όλης της εργασίας σας στον υπολογιστή σας είναι αυτόματη και πολύ γρήγορη. Εάν χάσετε τα πάντα επειδή κάποιος έκλεψε τον κωδικό πρόσβασής σας, έχετε ούτως ή άλλως ένα αντίγραφο στον υπολογιστή σας, αρκεί να έχετε διαμορφώσει τα πάντα σωστά.
Τώρα, ας αρχίσουμε να περιγράφουμε πώς λειτουργεί το περιβάλλον. Όταν ξεκινώ να δουλεύω το πρωί, το πρώτο πράγμα είναι να συνδεθώ στην κονσόλα Amazon Web Services όπου βλέπω όλες τις παρουσίες μου. Συνήθως, έχω ρυθμίσει πολλές παρουσίες ανάπτυξης για διαφορετικά έργα και απενεργοποιώ τις αχρησιμοποίητες για εξοικονόμηση χρέωσης. Σε τελική ανάλυση, μπορώ να δουλεύω μόνο σε ένα έργο τη φορά. (Λοιπόν, μερικές φορές δουλεύω σε δύο.)
Έτσι, επιλέγω την περίπτωση που θέλω, ξεκινήστε, περιμένω λίγο ή πάω να πάρω ένα φλιτζάνι καφέ. Δεν είναι τόσο διαφορετικό από την ενεργοποίηση του υπολογιστή σας. Συνήθως χρειάζονται πολλά δευτερόλεπτα για να τεθεί σε λειτουργία η παρουσία. Μόλις δω το πράσινο εικονίδιο, ανοίγω ένα πρόγραμμα περιήγησης και μεταβαίνω σε μια γνωστή διεύθυνση URL: https://msciab.duckdns.org/vnc.html
. Σημείωση, αυτή είναι η διεύθυνση URL μου. όταν δημιουργείτε ένα κιτ, θα δημιουργήσετε τη μοναδική σας διεύθυνση URL.
Δεδομένου ότι το AWS εκχωρεί μια νέα IP σε κάθε υπολογιστή κατά την εκκίνηση, διαμόρφωσα μια δυναμική υπηρεσία DNS, ώστε να μπορείτε πάντα να χρησιμοποιείτε την ίδια διεύθυνση URL για πρόσβαση στον διακομιστή σας, ακόμα κι αν σταματήσετε και επανεκκινήσετε. Μπορείτε ακόμη και να προσθέσετε σελιδοδείκτη στο πρόγραμμα περιήγησής σας. Επιπλέον, χρησιμοποιώ HTTPS, με έγκυρα κλειδιά για να λάβω απόλυτη προστασία της εργασίας μου από sniffers, σε περίπτωση που χρειαστεί να διαχειριστώ κωδικούς πρόσβασης και άλλα ευαίσθητα δεδομένα.
Μόλις φορτωθεί, το σύστημα θα σας καλωσορίσει με έναν πελάτη Ιστού VNC, NoVNC. Απλώς συνδεθείτε και εμφανίζεται μια επιφάνεια εργασίας. Χρησιμοποιώ έναν ελάχιστο επιτραπέζιο υπολογιστή, σκόπιμα, μόνο ένα μενού με εφαρμογές και η μόνη μου πολυτέλεια είναι μια εικονική επιφάνεια εργασίας (αφού ανοίγω πολλά παράθυρα κατά την ανάπτυξή μου). Για αλληλογραφία, εξακολουθώ να βασίζομαι σε άλλες εφαρμογές, σήμερα κυρίως σε άλλες καρτέλες του προγράμματος περιήγησης.
Στην εικονική μηχανή, έχω ό, τι χρειάζομαι για να αναπτύξω μεγάλες εφαρμογές δεδομένων. Πρώτα απ 'όλα, υπάρχει ένα IDE. Στο build, χρησιμοποιώ την έκδοση κοινότητας IntelliJ Idea. Επίσης, υπάρχει το εργαλείο κατασκευής SBT και ένα Scala REPL, Ammonite.
Τα βασικά χαρακτηριστικά αυτού του περιβάλλοντος, ωστόσο, είναι οι υπηρεσίες που χρησιμοποιούνται ως κοντέινερ στην ίδια εικονική μηχανή. Συγκεκριμένα, έχω:
http://zeppelin:8080
)http://sparkjobserver:8080
).http://hadoop:50070
).Σημειώστε ότι αυτές οι διευθύνσεις URL είναι σταθερές αλλά είναι προσβάσιμες εντός του εικονικού περιβάλλοντος. Μπορείτε να δείτε τις διεπαφές ιστού τους στο παρακάτω στιγμιότυπο οθόνης.
Κάθε υπηρεσία εκτελείται σε ξεχωριστό κοντέινερ Docker. Χωρίς να γίνετε πολύ τεχνικός, μπορείτε να το θεωρήσετε ως τρεις ξεχωριστούς διακομιστές μέσα στην εικονική σας μηχανή. Η ομορφιά της χρήσης του Docker είναι ότι μπορείτε να προσθέσετε υπηρεσίες, ακόμη και να προσθέσετε δύο ή τρεις εικονικές μηχανές. Χρησιμοποιώντας κοντέινερ Amazon, μπορείτε να κλιμακώσετε εύκολα το περιβάλλον σας.
Τελευταίο, αλλά όχι λιγότερο σημαντικό, έχετε διαθέσιμο τερματικό ιστού. Απλώς αποκτήστε πρόσβαση στη διεύθυνση URL σας με HTTPS και θα σας καλωσορίσει με ένα τερματικό σε μια ιστοσελίδα.
Στο παραπάνω στιγμιότυπο οθόνης μπορείτε να δείτε ότι παραθέτω τα κοντέινερ, τα οποία είναι οι τρεις διακομιστές και η επιφάνεια εργασίας. Αυτό το κέλυφος γραμμής εντολών σάς δίνει πρόσβαση στην εικονική μηχανή που κρατά τα δοχεία, επιτρέποντάς σας να τα διαχειριστείτε. Είναι σαν οι διακομιστές σας να είναι 'στο Matrix' (εικονικοποιημένοι εντός κοντέινερ), αλλά αυτό το κέλυφος σας δίνει μια διαφυγή έξω από το 'Matrix' για τη διαχείριση διακομιστών και επιτραπέζιων υπολογιστών. Από εδώ, μπορείτε να κάνετε επανεκκίνηση των κοντέινερ, να αποκτήσετε πρόσβαση στα συστήματα αρχείων τους και να εκτελέσετε άλλους χειρισμούς που επιτρέπονται από το Docker. Δεν θα συζητήσω λεπτομερώς τον Docker εδώ, αλλά υπάρχει τεράστια τεκμηρίωση Ιστοσελίδα Docker .
Σας αρέσει αυτό μέχρι τώρα και θέλετε την παρουσία σας; Είναι εύκολο και φθηνό. Μπορείτε να το αποκτήσετε με απλό κόστος της εικονικής μηχανής στο Amazon Web Services, συν τον αποθηκευτικό χώρο. Το κιτ στην τρέχουσα διαμόρφωση απαιτεί 4 GB μνήμης RAM για την εκτέλεση όλων των υπηρεσιών. Εάν είστε προσεκτικοί για να χρησιμοποιήσετε την εικονική μηχανή μόνο όταν τη χρειάζεστε και εργάζεστε, ας πούμε, 160 ώρες το μήνα, μια εικονική μηχανή με τρέχουσες τιμές θα κοστίζει 160 x 0,052 $ ή 8 $ ανά μήνα. Πρέπει να προσθέσετε το κόστος αποθήκευσης. Χρησιμοποιώ περίπου 30 GB, αλλά όλα μπορούν να διατηρηθούν κάτω από 10 $.
Ωστόσο, αυτό το bot περιλαμβάνει το κόστος ενός (τελικού) λογαριασμού Dropbox (Pro), εάν θέλετε να δημιουργήσετε αντίγραφα ασφαλείας περισσότερων από 2 GB κώδικα. Αυτό κοστίζει άλλα 15 $ ανά μήνα, αλλά παρέχει σημαντική ασφάλεια για τα δεδομένα σας. Επίσης, θα χρειαστείτε ένα ιδιωτικό αποθετήριο, είτε ένα GitHub επί πληρωμή είτε μια άλλη υπηρεσία, όπως το Bitbucket, το οποίο προσφέρει δωρεάν ιδιωτικά αποθετήρια.
Θέλω να τονίσω ότι εάν το χρησιμοποιείτε μόνο όταν το χρειάζεστε, είναι φθηνότερο από έναν αποκλειστικό διακομιστή. Ναι, όλα όσα αναφέρονται εδώ μπορούν να ρυθμιστούν σε έναν φυσικό διακομιστή, αλλά επειδή δουλεύω με μεγάλα δεδομένα χρειάζομαι πολλές άλλες υπηρεσίες AWS, οπότε νομίζω ότι είναι λογικό να έχω τα πάντα στο ίδιο μέρος.
Ας δούμε πώς να κάνουμε ολόκληρη τη ρύθμιση.
Πριν ξεκινήσετε να δημιουργείτε μια εικονική μηχανή, πρέπει να εγγραφείτε στις ακόλουθες τέσσερις υπηρεσίες:
Το μόνο για το οποίο χρειάζεστε την πιστωτική σας κάρτα είναι το Amazon Web Services. Το DuckDns είναι εντελώς δωρεάν, ενώ το DropBox σας προσφέρει 2 GB δωρεάν αποθηκευτικού χώρου, ο οποίος μπορεί να είναι αρκετός για πολλές εργασίες. Το Let’s Encrypt είναι επίσης δωρεάν και χρησιμοποιείται εσωτερικά όταν δημιουργείτε την εικόνα για να υπογράψετε το πιστοποιητικό σας. Εκτός από αυτά, προτείνω επίσης μια υπηρεσία φιλοξενίας αποθετηρίου, όπως το GitHub ή το Bitbucket, εάν θέλετε να αποθηκεύσετε τον κωδικό σας, ωστόσο, δεν απαιτείται για τη ρύθμιση.
Για να ξεκινήσετε, μεταβείτε στο Αποθήκη GitHub BigDataDevKit .
Κάντε κύλιση στη σελίδα και αντιγράψτε το σενάριο που εμφανίζεται στην εικόνα στο πρόγραμμα επεξεργασίας κειμένου της επιλογής σας:
Αυτό το σενάριο είναι απαραίτητο για την εκκίνηση της εικόνας. Πρέπει να το αλλάξετε και να δώσετε κάποιες τιμές στις παραμέτρους. Προσεκτικά, αλλάξτε το κείμενο εντός των εισαγωγικών. Σημειώστε ότι δεν μπορείτε να χρησιμοποιήσετε χαρακτήρες όπως το ίδιο το απόσπασμα, την ανάστροφη κάθετο ή το σύμβολο του δολαρίου στον κωδικό πρόσβασης, εκτός κι αν έχετε παραθέτω, αναφορά τους. Αυτό το πρόβλημα αφορά μόνο τον κωδικό πρόσβασης. Εάν θέλετε να παίξετε με ασφάλεια, αποφύγετε μια προσφορά, το σύμβολο του δολαρίου ή την ανάστροφη κάθετο.
Το PASSWORD
Η παράμετρος είναι ένας κωδικός πρόσβασης που επιλέγετε για πρόσβαση στην εικονική μηχανή μέσω διεπαφής Ιστού. Το EMAIL
Η παράμετρος είναι το email σας και θα χρησιμοποιηθεί κατά την εγγραφή πιστοποιητικού SSL. Θα σας ζητηθεί να παράσχετε το email σας και είναι η μόνη απαίτηση για τη λήψη δωρεάν πιστοποιητικού SSL από το Let’s Encrypt.
Για να λάβετε τις τιμές για TOKEN
και HOST
, μεταβείτε στον ιστότοπο DuckDNS και συνδεθείτε. Θα χρειαστεί να επιλέξετε ένα όνομα κεντρικού υπολογιστή που δεν χρησιμοποιείται.
Κοιτάξτε την εικόνα για να δείτε πού πρέπει να αντιγράψετε το διακριτικό και πού πρέπει να προσθέσετε το όνομα κεντρικού υπολογιστή σας. Πρέπει να κάνετε κλικ στο κουμπί 'Προσθήκη τομέα' για να κρατήσετε το όνομα κεντρικού υπολογιστή.
Υποθέτοντας ότι έχετε όλες τις παραμέτρους και έχετε επεξεργαστεί το σενάριο, είστε έτοιμοι να ξεκινήσετε την παρουσία σας. Συνδεθείτε στη διεπαφή διαχείρισης του Amazon Web Services, μεταβείτε στον πίνακα EC2 Instances και κάντε κλικ στο 'Launch Instance'.
Στην πρώτη οθόνη, θα επιλέξετε μια εικόνα. Το σενάριο είναι χτισμένο γύρω από το Amazon Linux και δεν υπάρχουν άλλες διαθέσιμες επιλογές. Επιλέξτε Amazon Linux, την πρώτη επιλογή στη λίστα QuickStart.
Στη δεύτερη οθόνη, επιλέξτε τον τύπο παρουσίας. Δεδομένου του μεγέθους του λογισμικού που εκτελείται, υπάρχουν πολλές υπηρεσίες και χρειάζεστε τουλάχιστον 4 GB μνήμης, γι 'αυτό σας προτείνω να επιλέξετε το t2. μεσαίο παράδειγμα. Θα μπορούσατε να το κόψετε, χρησιμοποιώντας το t2. μικρό εάν τερματίσατε ορισμένες υπηρεσίες ή ακόμα και τις υπηρεσίες μικρο εάν θέλετε μόνο την επιφάνεια εργασίας.
Στην τρίτη οθόνη, κάντε κλικ στην επιλογή 'Σύνθετες λεπτομέρειες' και επικολλήστε το σενάριο που διαμορφώσατε στο προηγούμενο βήμα. Σας προτείνω επίσης να ενεργοποιήσετε την προστασία από τον τερματισμό, έτσι ώστε με έναν τυχαίο τερματισμό να μην χάσετε όλη τη δουλειά σας.
Το επόμενο βήμα είναι να διαμορφώσετε τον χώρο αποθήκευσης. Η προεπιλογή για μια παρουσία είναι 8 GB, η οποία δεν επαρκεί για να περιέχει όλες τις εικόνες που θα δημιουργήσουμε. Συνιστώ να το αυξήσετε στα 20 GB. Επίσης, ενώ δεν είναι απαραίτητο, προτείνω μια άλλη συσκευή μπλοκ τουλάχιστον 10 GB. Το σενάριο θα προσαρτήσει τη δεύτερη συσκευή μπλοκ ως φάκελο δεδομένων. Μπορείτε να δημιουργήσετε ένα στιγμιότυπο του περιεχομένου του, να τερματίσετε την παρουσία και, στη συνέχεια, να το δημιουργήσετε ξανά χρησιμοποιώντας το στιγμιότυπο και να ανακτήσετε όλη την εργασία. Επιπλέον, μια προσαρμοσμένη συσκευή αποκλεισμού δεν χάνεται όταν τερματίζετε την παρουσία, οπότε έχετε διπλή προστασία έναντι τυχαίας απώλειας των δεδομένων σας. Για να αυξήσετε ακόμη περισσότερο την ασφάλειά σας, μπορείτε να δημιουργήσετε αντίγραφα ασφαλείας των δεδομένων σας αυτόματα με το Dropbox.
Το πέμπτο βήμα ονομάζει την παρουσία. Διαλέξτε το δικό σας. Το έκτο βήμα προσφέρει έναν τρόπο διαμόρφωσης του τείχους προστασίας. Από προεπιλογή, μόνο το SSH είναι διαθέσιμο, αλλά χρειαζόμαστε επίσης HTTPS, οπότε μην ξεχάσετε να προσθέσετε έναν κανόνα που ανοίγει το HTTPS. Θα μπορούσατε να ανοίξετε το HTTPS στον κόσμο, αλλά είναι καλύτερο εάν μόνο στην IP σας να αποτρέψετε την πρόσβαση άλλων ατόμων στην επιφάνεια εργασίας και το κέλυφος σας, παρόλο που αυτό εξακολουθεί να προστατεύεται με κωδικό πρόσβασης.
Μόλις ολοκληρώσετε αυτήν την τελευταία διαμόρφωση, μπορείτε να ξεκινήσετε την παρουσία. Θα παρατηρήσετε ότι η αρχικοποίηση μπορεί να διαρκέσει αρκετά λεπτά την πρώτη φορά από την εκτέλεση του σεναρίου προετοιμασίας και θα κάνει επίσης μερικές χρονοβόρες εργασίες, όπως η δημιουργία πιστοποιητικού HTTPS με το Let’s Encrypt.
Όταν τελικά δείτε την κονσόλα διαχείρισης 'τρέχει' με επιβεβαίωση και δεν είναι πλέον 'αρχικοποίηση', είστε έτοιμοι να ξεκινήσετε.
Υποθέτοντας ότι όλες οι παράμετροι είναι σωστές, μπορείτε να πλοηγηθείτε στο https://YOURHOST.duckdns.org
.
Αντικατάσταση YOURHOST
με το όνομα κεντρικού υπολογιστή που επιλέξατε, αλλά μην ξεχνάτε ότι είναι ένας ιστότοπος HTTPS, όχι HTTP, επομένως η σύνδεσή σας με τον διακομιστή είναι κρυπτογραφημένη, οπότε πρέπει να γράψετε https//
στη διεύθυνση URL. Ο ιστότοπος θα παρουσιάσει επίσης ένα έγκυρο πιστοποιητικό για το Let’s Encrypt. Εάν υπάρχουν προβλήματα κατά τη λήψη του πιστοποιητικού, το σενάριο προετοιμασίας θα δημιουργήσει ένα αυτο-υπογεγραμμένο πιστοποιητικό. Θα εξακολουθείτε να μπορείτε να συνδεθείτε με κρυπτογραφημένη σύνδεση, αλλά το πρόγραμμα περιήγησης θα σας προειδοποιήσει ότι είναι άγνωστος ιστότοπος και οι συνδέσεις είναι ανασφαλείς. Δεν πρέπει να συμβεί, αλλά ποτέ δεν ξέρεις.
Υποθέτοντας ότι όλα λειτουργούν, στη συνέχεια έχετε πρόσβαση στο τερματικό ιστού, Butterfly. Μπορείτε να συνδεθείτε χρησιμοποιώντας τον χρήστη app
και τον κωδικό πρόσβασης που βάλατε στο σενάριο εγκατάστασης.
Μόλις συνδεθείτε, έχετε μια εικονική μηχανή με bootstrapped, η οποία περιλαμβάνει επίσης το Docker και άλλα καλούδια, όπως το Nginx Frontend, Git και το Butterfly Web Terminal. Τώρα, μπορείτε να ολοκληρώσετε τη ρύθμιση δημιουργώντας τις εικόνες Docker για το περιβάλλον ανάπτυξης.
Στη συνέχεια, πληκτρολογήστε τις ακόλουθες εντολές:
git clone https://github.com/sciabarra/BigDataDevKit cd BigDataDevKit sh build.sh
Η τελευταία εντολή θα σας ζητήσει επίσης να πληκτρολογήσετε έναν κωδικό πρόσβασης για την πρόσβαση στην επιφάνεια εργασίας. Μόλις ολοκληρωθεί, θα αρχίσει να δημιουργεί τις εικόνες. Σημειώστε ότι η κατασκευή θα διαρκέσει περίπου 10 λεπτά, αλλά μπορείτε να δείτε τι συμβαίνει επειδή όλα εμφανίζονται στην οθόνη.
Μόλις ολοκληρωθεί η κατασκευή, μπορείτε επίσης να εγκαταστήσετε το Dropbox με την ακόλουθη εντολή:
/app/.dropbox-dist/dropboxd
Το σύστημα θα εμφανίσει έναν σύνδεσμο στον οποίο πρέπει να κάνετε κλικ για να ενεργοποιήσετε το Dropbox. Πρέπει να συνδεθείτε στο Dropbox και μετά να τελειώσετε. Ό, τι βάζετε στο φάκελο Dropbox συγχρονίζεται αυτόματα μεταξύ όλων των παρουσιών του Dropbox.
Μόλις τελειώσετε, μπορείτε να κάνετε επανεκκίνηση της εικονικής μηχανής και να αποκτήσετε πρόσβαση στο περιβάλλον σας στο https://YOURHOST.dyndns.org/vnc.html
Διεύθυνση URL.
Μπορείτε να σταματήσετε το μηχάνημά σας και να το επανεκκινήσετε όταν συνεχίσετε την εργασία. Η διεύθυνση URL πρόσβασης παραμένει η ίδια. Με αυτόν τον τρόπο, θα πληρώνετε μόνο για το χρόνο που το χρησιμοποιείτε, συν μηνιαίο επιπλέον για το μεταχειρισμένο αποθηκευτικό χώρο.
Η ακόλουθη συζήτηση απαιτεί κάποια γνώση του τρόπου λειτουργίας του Docker και του Amazon. Εάν δεν θέλετε να κατανοήσετε τις λεπτομέρειες, απλώς λάβετε υπόψη σας τον απλό κανόνα: Στην εικονική μηχανή, υπάρχει μια /app/Dropbox
διαθέσιμο φάκελο, ό, τι κι αν τοποθετήσετε στο /app/Dropbox
διατηρείται και όλα τα άλλα είναι μιας χρήσης και μπορούν να φύγουν. Για να βελτιώσετε περαιτέρω την ασφάλεια, αποθηκεύστε επίσης τον πολύτιμο κωδικό σας σε ένα σύστημα ελέγχου έκδοσης.
Τώρα, αν θέλετε να το καταλάβετε, διαβάστε. Εάν ακολουθήσατε τις οδηγίες μου στη δημιουργία της εικονικής μηχανής, η εικονική μηχανή προστατεύεται από τον τερματισμό, οπότε δεν μπορείτε να την καταστρέψετε κατά λάθος. Εάν αποφασίσετε ρητά να τον τερματίσετε, ο κύριος τόμος θα καταστραφεί. Όλες οι εικόνες του Docker θα χαθούν, συμπεριλαμβανομένων όλων των αλλαγών που κάνατε.
Ωστόσο, δεδομένου ότι ο φάκελος /app/Dropbox
έχει τοποθετηθεί ως Docker Volume για κοντέινερ, δεν αποτελεί μέρος των εικόνων Docker. Στην εικονική μηχανή, ο φάκελος /app
είναι τοποθετημένο στο Amazon Volume που δημιουργήσατε, το οποίο επίσης δεν καταστρέφεται ακόμη και όταν τερματίζετε ρητά την εικονική μηχανή. Για να αφαιρέσετε την ένταση, πρέπει να την αφαιρέσετε ρητά.
Μην συγχέετε τους τόμους του Docker, οι οποίοι είναι λογική οντότητα του Docker, με το Amazon Volume, το οποίο είναι κάπως φυσική οντότητα. Αυτό που συμβαίνει είναι ότι το /app/Dropbox
Ο όγκος του Docker τοποθετείται μέσα στο /app
Όγκος Amazon.
Το Amazon Volume δεν καταστρέφεται αυτόματα όταν τερματίζετε την εικονική μηχανή, οπότε ό, τι τοποθετείται σε αυτό θα διατηρηθεί, έως ότου καταστρέψετε επίσης την ένταση. Επιπλέον, ό, τι βάζετε στον όγκο του Docker αποθηκεύεται έξω από το δοχείο, έτσι δεν καταστρέφεται όταν το δοχείο καταστρέφεται. Εάν ενεργοποιήσατε το Dropbox, όπως συνιστάται, όλο το περιεχόμενό σας αντιγράφεται στους διακομιστές Dropbox και στον σκληρό σας δίσκο εάν συγχρονίζετε το Dropbox με τους υπολογιστές σας. Επίσης, συνιστάται να αποθηκεύεται ο πηγαίος κώδικας σε ένα σύστημα ελέγχου έκδοσης.
Έτσι, εάν τοποθετήσετε τα πράγματά σας στο σύστημα ελέγχου εκδόσεων κάτω από το φάκελο Dropbox, για να χάσετε τα δεδομένα σας, όλα αυτά πρέπει να συμβούν:
Ελπίζω τα δεδομένα σας να είναι αρκετά ασφαλή.
Κρατάω μια εικονική μηχανή για κάθε έργο και όταν τελειώσω, απενεργοποιώ τις αχρησιμοποίητες εικονικές μηχανές. Φυσικά, έχω όλο τον κωδικό μου στο GitHub και έχω δημιουργήσει αντίγραφα ασφαλείας στο Dropbox. Επιπλέον, όταν σταματήσω να δουλεύω σε ένα έργο, παίρνω ένα στιγμιότυπο του μπλοκ Amazon Web Services πριν αφαιρέσω εντελώς την εικονική μηχανή. Με αυτόν τον τρόπο, όποτε ένα έργο συνεχίζεται, για παράδειγμα για συντήρηση, το μόνο που χρειάζεται να κάνω είναι να ξεκινήσω μια νέα εικονική μηχανή χρησιμοποιώντας το στιγμιότυπο. Όλα τα δεδομένα μου επανέρχονται στη θέση τους και μπορώ να συνεχίσω να δουλεύω.
Πρώτον, εάν έχετε άμεση πρόσβαση στο Διαδίκτυο, χωρίς μεσολάβηση από διακομιστή μεσολάβησης, μπορείτε να χρησιμοποιήσετε εγγενείς πελάτες SSH και VNC. Η άμεση πρόσβαση SSH είναι σημαντική εάν πρέπει να αντιγράψετε αρχεία μέσα και έξω από την εικονική μηχανή. Ωστόσο, για κοινή χρήση αρχείων, θα πρέπει να θεωρήσετε το Dropbox ως απλούστερη εναλλακτική λύση.
Η πρόσβαση στο Διαδίκτυο VNC είναι ανεκτίμητη, αλλά μερικές φορές, μπορεί να είναι πιο αργή από έναν εγγενή πελάτη. Έχετε πρόσβαση στο διακομιστή VNC στην εικονική μηχανή χρησιμοποιώντας τη θύρα 5900. Πρέπει να το ανοίξετε ρητά, επειδή είναι κλειστό από προεπιλογή. Σας συνιστώ να το ανοίξετε μόνο στη διεύθυνση IP σας, επειδή το Διαδίκτυο είναι γεμάτο 'ρομπότ' που σαρώσουν το Διαδίκτυο αναζητώντας υπηρεσίες για σύνδεση, και το VNC είναι ένας συχνός στόχος αυτών των ρομπότ.
Αυτό το άρθρο εξηγεί πώς μπορείτε να αξιοποιήσετε τη σύγχρονη τεχνολογία cloud για να εφαρμόσετε ένα αποτελεσματικό περιβάλλον ανάπτυξης. Ενώ ένα μηχάνημα στο cloud δεν μπορεί να αντικαταστήσει πλήρως τον υπολογιστή ή τον φορητό υπολογιστή σας, είναι αρκετά καλό για να κάνετε αναπτυξιακές εργασίες όταν είναι σημαντικό να έχετε πρόσβαση στο IDE. Σύμφωνα με την εμπειρία μου, με τις τρέχουσες συνδέσεις στο Διαδίκτυο, είναι αρκετά γρήγορο να δουλέψω.
Το να βρίσκεστε στο cloud, η πρόσβαση και ο χειρισμός του διακομιστή είναι ταχύτερα από το να τα έχετε τοπικά. Μπορείτε γρήγορα να αυξήσετε (ή να μειώσετε) τη μνήμη, να ενεργοποιήσετε ένα άλλο περιβάλλον, να δημιουργήσετε μια εικόνα και ούτω καθεξής. Έχετε ένα κέντρο δεδομένων στα χέρια σας και όταν εργάζεστε με μεγάλα έργα δεδομένων, χρειάζεστε ισχυρές υπηρεσίες και πολύ χώρο. Αυτό παρέχει το σύννεφο.