Υπολογιστική Νέφους: Εργαστήριο ΙI Υπηρεσία αποθήκευσης και Ανάπτυξη διαδικτυακής εφαρμογής Αρκολάκης Δημήτριος Τμήμα Προηγμένων Συστημάτων Πληροφορικής Πανεπιστήμιο Πειραιώς Πειραιάς, Αττική, Ελλάς meetsospapei@gmail.com Abstract Σκοπός της παρούσας εργασίας είναι να γίνει επαλήθευση χρήσης των δύο εκ των τριών δωρεάν υπηρεσιών της εταιρίας Amazon (S3, AWS Elastic Beanstalk, AWS OpsWork), μέσω απλού παραδείγματος χρήσης. Amazon cloud, S3, aws, Elastic Beanstalk ΕΙΣΑΓΩΓΗ Για τις ανάγκες της εργασίας δημιουργήθηκε η εφαρμογή Post 2 Cloud μέσω της πλατφόρμας Wordpress, σε περιβάλλον Php και με βάση δεδομένων τύπου MySql. Στην συγκεκριμένη εφαρμογή μπορούν εγγεγραμμένοι χρήστες να ανεβάζουν post στο νέφος, συνοδευόμενα από μία εικόνα, ενώ οι απλοί επισκέπτες μπορούν να βλέπουν τις δημόσιες αναρτήσεις των μελών. Για την λειτουργία της εφαρμογής στο cloud περιβάλλον των Amazon Web Services χρησιμοποιήθηκαν οι υπηρεσίες S3 (ως αποθηκευτικός χώρος), AWS Elastic Beanstalk (για το ανέβασμα και την λειτουργία της εφαρμογής σε περιβάλλον νέφους), καθώς και η RDS (για την σχεσιακή βάση δεδομένων, που ήταν απαραίτητο να δημιουργηθεί). ΔΗΜΙΟΥΡΓΙΑ ΕΦΑΡΜΟΓΗΣ ΣΤΟ ELASTIC BEANSTALK Αφού αρχικά εγγραφούμε στις aws υπηρεσίες της Amazon και συνδεθούμε επιτυχώς, από την αρχική σελίδα των υπηρεσιών επιλέγουμε την υπηρεσία Elastic Beanstalk. Επειτά επιλέγουμε New Application για να δημιουργήσουμε την νέα μας εφαρμογή.
Αρχική σελίδα aws Αρχική σελίδα Elastic Beanstalk
Αφού δώσουμε όνομα στην εφαρμογή, επιλέγουμε το περιβάλλον στο οποίο θα λειτουργεί και την προγραμματιστική γλώσσα στην οποία θα στηρίζεται. Ρύθμιση περιβάλλοντος εφαρμογής
Στην πορεία ανεβάζουμε (upload) την εφαρμογή μας σε συμπιεσμένη μορφή (zip). Έπειτα δίνουμε το url της εφαρμογής, εφόσον φυσικά είναι διαθέσιμο, μετά τον σχετικό έλεγχο. Upload της εφαρμογής Δήλωση url περιβάλλοντος
Η συγκεκριμένη εφαρμογή χρειάζεται και την παράλληλη χρήση σχεσιακής βάσης δεδομένων για να λειτουργεί ορθά (πράγμα όχι απαραίτητο για άλλες εφαρμογές) και για αυτό τον λόγο δημιουργούμε μία βάση στα addition resources. Έπειτα, στα configuration details, επιλέγουμε τύπο instance καθώς και κάποιο key pair που έχουμε ήδη δημιουργήσει στην υπηρεσία EC2.
Εν συνεχεία, ρυθμίζουμε τη βάση δεδομένων μας, σχετικά με τη μέγιστη χωρητικότητα που ενδέχεται να έχει, τον τύπο της, καθώς και τους κωδικούς πρόσβασης της. Τη βάση μας αυτή μπορούμε να την διαχειριστούμε μέσω της RDS υπηρεσίας των Amazon Web Services. Τέλος, κάνουμε ένα review για να επαληθεύσουμε αν έχουμε δώσει όλες τις πληροφορίες όπως θέλαμε. Ρύθμιση σχεσιακής βάσης δεδομένων Τελική ανασκόπηση
Στο επόμενο στάδιο, η εφαρμογή μας είναι σε φάση δημιουργίας και χρειάζονται κάποια λεπτά για να γίνουν όλες οι απαραίτητες ενέργειες και η εφαρμογή μας να ανεβεί στον αέρα. Στο panel έχουμε συνεχή ενημέρωση για την πορεία εγκατάστασης της εφαρμογής. Πορεία εγκατάστασης της εφαρμογής
Τελικά, η εφαρμογή μας γίνεται διαθέσιμη στο url το οποίο δηλώσαμε. Στις εικόνες που ακολουθούν μπορούμε να δούμε διάφορες ρυθμίσεις στο διαχειριστικό περιβάλλον της εφαρμογής μας όπως ρύθμιση κωδικών πρόσβασης διαχειριστών, δήλωση και σύνδεση βάσης δεδομένων, καθώς και επέκταση επιπρόσθετων λειτουργειών. (Τις ρυθμίσεις για τη ΒΔ τις βρίσκουμε στο RDS στο DB instance μας, χρησιμοποιώντας όνομα βάσης, χρήστη βάσης και κωδικό που είχαμε καταχωρήσει, καθώς και για Database Host το Endpoint χωρίς την πόρτα στο τέλος πχ :3306 στην προκειμένη) Δήλωση ρύθμιση βάσης δεδομένων Γενικές και διαχειριστικές ρυθμίσεις
Είσοδος στο διαχειριστικό περιβάλλον της εφαρμογής Επέκταση λειτουργικότητας ΠΑΡΟΥΣΙΑΣΗ ΕΦΑΡΜΟΓΗΣ Στην εφαρμογή Post 2 Cloud http://post2cloudz.elasticbeanstalk.com/ μπορεί ο οποιοσδήποτε να εγγραφεί, δημιουργώντας λογαριασμό μέσω mail, και να ανεβάσει τα δικά του post συνοδευόμενα από μία εικόνα. Το εγγεγραμμένο μέλος έχει διαχειριστικό περιβάλλον των αναρτήσεων του από όπου μπορεί να επεξεργάζεται ή να διαγράφει τις δημοσιεύσεις του. Ο απλός επισκέπτης μπορεί απλώς να δει τις συγκεντρωτικές αναρτήσεις όλων των μελών.
Αρχική σελίδα εφαρμογής Φόρμα εγγραφής νέου μέλους
Δημιουργία post από εγγεγραμμένο μέλος Δημόσια μορφή του post
Διαχειριστικό περιβάλλον χρήστη Για το οτιδήποτε ανεβαίνει στην εφαρμογή, ως αποθηκευτικός χώρος λειτουργεί το Amazon S3. Στην παρακάτω εικόνα, μπορούμε να δούμε μέσω του διαχειριστικού περιβάλλοντος του S3, το τι υπάρχει στον αποθηκευτικό μας χώρο ανά πάσα στιγμή.