Νεφοϋπολογιστική

Κωδικός Μαθήματος:

EEE.9-2.4

Εξάμηνο:

Θ΄ Εξάμηνο - Επικοινωνίες και Δίκτυα - Β' ΚΥΚΛΟΣ

Κατηγορία:

ΜΕΕ

Ώρες:

4

Μονάδες ECTS:

5


Καθηγητές Μαθήματος

Κουλούρας Γρηγόριος

ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ

Με την επιτυχή ολοκλήρωση του μαθήματος ο/η φοιτητής/ήτρια θα είναι σε θέση να:

  • Αντιλαμβάνεται κριτικά τις σύγχρονες τάσεις στο επιστημονικό πεδίο της τεχνολογίας της Νεφοϋπολογιστικής και τη διασύνδεσή της με την επιστήμη του Ηλεκτρολόγου και Ηλεκτρονικού Μηχανικού.
  • Κατανοεί τα βασικά μοντέλα βάση των υπηρεσιών (IaaS, PaaS, SaaS), αλλά και τον διαχωρισμό τους βάσει της ανάπτυξης τους (Public, Private) που διέπουν την Νεφοϋπολογιστική.
  • Κατανοεί την έννοια και τις τεχνικές της εικονικοποίησης (Virtualization, Containerization, Dockerization) και μπορεί να αντιληφθεί τις διαφορές τους.
  • Κατανοεί τον τρόπο λειτουργίας των εργαλείων που επιτυγχάνουν την εικονικοποίηση, καθώς και τον τρόπο διαχείρισης των πόρων του συστήματος.
  • Κατανοεί την έννοια «Hypervisor» και μπορεί να περιγράψει τους διαφορετικούς τύπους αυτών καθώς και των βασικών τους χαρακτηριστικών.
  • Κατανοεί την έννοια των Software Defined Networks (SDNs) και των βασικών τους χαρακτηριστικών.
  • Δημιουργεί και χρησιμοποιεί νεφοϋπολογιστικές υποδομές για την ανάπτυξη εφαρμογών.
  • Κατανοεί τις διαφορετικές αρχιτεκτονικές υλοποίησης εφαρμογών (Μονολιθική Αρχιτεκτονική, Αρχιτεκτονική υλοποιημένη με υπηρεσίες, Αρχιτεκτονική υλοποιημένη με μικροϋπηρεσίες) και τεκμηριώνει τα σχετικά πλεονεκτήματα και μειονεκτήματά τους.
  • Επιλέγει και υλοποιεί μετά από κριτική σκέψη, την κατάλληλότερη αρχιτεκτονική υλοποίησης εφαρμογών ανάλογα με την περίπτωση.
  • Χρησιμοποιεί την εργαλειοθήκη Docker (Docker Container, Docker Image, Docker file, Docker Registry, Docker Compose, Docker Swarm, Docker Stack) για την υλοποίηση εφαρμογών με μικροϋπηρεσίες.
  • Συγκρίνει διαφορετικές πλατφόρμες ανάπτυξης υπηρεσιών νέφους (Openstack, Synnefo, Eucalyptus κ.α.)
  • Συγκρίνει και υλοποιεί εφαρμογές νεφοϋπολογιστικής σε διαφορετικούς πάροχους υπηρεσιών νέφους (Amazon Web Services – AWS, Microsoft Azure, Google Cloud Platform – GCP, Okeanos κ.α.)
  • Κατανοεί την έννοια του IT automation και μπορεί να εργαστεί μόνος του ή συνεργαστεί με συμφοιτητές του ή με άλλους μηχανικούς σε θέματα εγκατάστασης και λειτουργίας λύσεων IT automation.
  • Επιδεικνύει εξειδικευμένες δεξιότητες επίλυσης προβλημάτων, υιοθετεί καινοτόμες λύσεις και αναπτύσσει νέα γνώση στον τομέα της Νεφοϋπολογιστικής.
  • Συνεργάζεται με συναδέλφους/σες για την ολοκληρωμένη αντιμετώπιση σύνθετων προβλημάτων, την κριτική αξιολόγηση εναλλακτικών λύσεων και τη λήψη αποφάσεων προς υλοποίηση στον τομέα της Νεφοϋπολογιστικής.

 

Γενικές Ικανότητες

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

 

ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

Θεωρητικό Μέρος

  1. Ενότητα 1: Εισαγωγή στη Νεφοϋπολογιστική: τα μοντέλα υπηρεσιών και τα μοντέλα ανάπτυξης.
    Βασικές αρχές λειτουργίας των νεφοϋπολογιστικών υποδομών. Διαφορές με τα κλασικά κέντρα δεδομένων, ανάλυση-σύγκριση των μοντέλων υπηρεσιών (IaaS, PaaS, SaaS), ανάλυση/σύγκριση των μοντέλων ανάπτυξης υποδομών υπολογιστικού νέφους (Public, Private, Community, Hybrid clouds).
  2. Ενότητα 2: Εικονικοποίηση και Νεφοϋπολογιστική: αρχές λειτουργίας, τρόποι εικονικοποίησης και hypervisors.
    Παρουσίαση της τεχνολογίας εικονικοποίησης, ανάλυση των τρόπων εικονικοποίησης, χρήση της εικονικοποίησης στον χώρο της Νεφοϋπολογιστικής, παρουσίαση του ρόλου του hypervisor και των βασικών του χαρακτηριστικών, παρουσίαση δημοφιλών hypervisor.
  3. Ενότητα 3: Τεχνολογίες και Πλατφόρμες Νεφοϋπολογιστικής
    Παρουσίαση Νεφοϋπολογιστικών λύσεων στο μοντέλο IaaS όπως Microsoft Azure, Amazon Web Services, Google Cloud Platform, OpenStack. Παρουσίαση λύσεων νεφοϋπολογιστικής στο μοντέλο PaaS όπως Herokou, OpenShift, Google App Engine. Παρουσίαση λύσεων νεφοϋπολογιστικής στο μοντέλο SaaS όπως Dropbox, Google Drive, SpiderOak One.
  4. Ενότητα 4: Software Defined Networks και Network Function Virtualization
    Παρουσίαση τεχνολογιών SDN και NFV, ανάλυση του τρόπου λειτουργίας τους και των κυρίων χαρακτηριστικών τους, χρήση των SDN στην νεφοϋπολογιστική, παρουσίαση του Openflow και των Open vSwitch, NVP και VDS.
  5. Ενότητα 5: Χρήση Αποθηκών Πληροφορίας (Containers)
    Παρουσίαση της τεχνολογίας του container και των βασικών του χαρακτηριστικών. Παρουσίαση της τεχνολογίας Docker και των ενορχηστρωτικών μηχανών που χρησιμοποιούνται όπως το Kubernetes, το Docker Swarm και το Mesos. Σύγκριση των εικονικών μηχανών με τα containers.
  6. Ενότητα 6: Βέλτιστες Πρακτικές Δημιουργίας Νεφοϋπολογιστικών Υποδομών με Υψηλή
    Διαθεσιμότητα (High Availability – HA) Σχεδίαση και αρχιτεκτονική νεφοϋπολογιστικών υποδομών με σκοπό την επίτευξη του HA, εξάλειψη των Single Point of Failures (SPOFs) και παρουσίαση failover τεχνικών.
  7. Ενότητα 7: Παραδείγματα Πραγματικών Νεφοϋπολογιστικών Υποδομών
    Χρήση εικονικών μηχανών του Okeanos. Επίδειξη εγκατάστασης Hypervisor με KVM σε υποδομές της ερευνητικής ομάδας TelSiP. Επίδειξη της υποδομής OpenStack της ερευνητικής ομάδας CONSERT.
  8. Ενότητα 8: Χρήση IT automation Μηχανισμών
    Βασικά χαρακτηριστικά των IT automation τεχνολογιών και ο ρόλος τους στις νεφοϋπολογιστικές υποδομές, ανάθεση ομαδικής ή ατομικής εργασίας με θέμα την σχεδίαση και υλοποίηση μια εφαρμογής με χρήση IT automation μηχανισμού (π.χ. Ansible). Hands-on Labs

Η προετοιμασία των φοιτητών τόσο για την εκπόνηση της εξαμηνιαίας εργασίας τους (project), όσο και για την βαθύτερη κατανόηση του θεωρητικού και πρακτικού μέρους του μαθήματος, γίνεται πραγματοποιώντας έναν αριθμό εργαστηριακών ασκήσεων πράξης (Hands-on Labs) σε πραγματικές υποδομές του Πανεπιστημίου ή/και του ΕΔΥΤΕ (grnet.gr), εστιασμένες στα βασικότερα αντικείμενα της θεωρητικής διδασκαλίας. Οι ασκήσεις πράξης θα είναι προσανατολισμένες πάνω στα ακόλουθα πεδία:

    • Εισαγωγή στην Νεφοϋπολογιστική
    • Πρόσβαση σε υποδομές νέφους (Infrastructure as a Service)
    • Υλοποίηση διαδικτυακής εφαρμογής σε μία πλατφόρμα νέφους (Platform as a Service)
    • Εισαγωγή στα Containers και στην εργαλειοθήκη Docker (Docker Container, Docker Image, Docker Network, Docker Storage, Dockerfile, Docker Registry, Docker Compose, Docker Swarm, Docker Stack)
    • Εγκατάσταση και χρήση της εργαλειοθήκης docker
    • Παραδείγματα δημιουργίας απλής εφαρμογής με docker
    • Εγκατάσταση και χρήση της εργαλειοθήκης docker-compose
    • Παραδείγματα δημιουργίας εφαρμογών με docker-compose

 

ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ

Η τελική συνολική αξιολόγηση ολοκληρώνεται με τη λήξη των διαλέξεων και περιλαμβάνει:

  1. την ενδιάμεση αξιολόγηση (ατομική ή ομαδική εργασία),
  2. την τελική αξιολόγηση του Hands-on Lab του μαθήματος, και
  3. την τελική γραπτή εξέταση στη διδαχθείσα ύλη. Πιο αναλυτικά:
    -Η ενδιάμεση αξιολόγηση (30%) γίνεται περίπου στο μέσον του εξαμήνου και περιλαμβάνει την τεκμηρίωση και την παρουσίαση μιας ή περισσότερων ατομικών ή ομαδικών εργασιών που επικεντρώνεται σε υλοποιήσεις εφαρμογών Νεφοϋπολογιστικής.
    -Την τελική αξιολόγηση του Hands-on Lab μέρους του μαθήματος (40%), γίνεται μετά την ολοκλήρωση των ασκήσεων πράξης, με προφορική ή γραπτή τελική εξέταση σε όλη την ύλη του μέρους αυτού, κάνοντας χρήση των υποδομών Cloud του Πανεπιστημίου.
    -Η τελική γραπτή εξέταση (30%) πραγματοποιείται στα ελληνικά, χωρίς σημειώσεις, στο σύνολο της ύλης.

 

ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ

  1. Poulton, Nigel. Docker deep dive. JJNP Consulting Limited, 2019.
  2. Al-Saidi, Asma, et al., eds. Intelligent Cloud Computing: First International Conference, ICC 2014, Muscat, Oman, February 24-26, 2014, Revised Selected Papers. Vol. 8993. Springer, 2015. (Κωδικός Εύδοξου: 73264373)
  3. Ruparelia, Nayan B. Cloud computing. Mit Press, 2016. (ISBN: 978-0262529099)
  4. Rafaels, Ray J. Cloud Computing: From Beginning to End. CreateSpace Independent Publishing Platform, 2015.
  5. Bahga, Arshdeep, and Vijay Madisetti. Cloud computing: A hands-on approach. CreateSpace Independent Publishing Platform, 2013.
  6. Erl, Thomas, Robert Cope, and Amin Naserpour. Cloud computing design patterns. Prentice Hall Press, 2015.
  7. Thomas, Erl, Mahmood Zaigham, and Puttini Ricardo. “Cloud Computing Concepts, Technology & Architecture.”, 2013.
  8. Σημειώσεις Μαθήματος

 

Συναφή επιστημονικά περιοδικά:

  1. IEEE Transactions on Cloud Computing
  2. IEEE Cloud Computing