Α. Εισαγωγή στην Υπολογιστική Νέφους: Ορισμοί, βασικά χαρακτηριστικά και δυνατότητες, σε ποιες τεχνολογίες στηρίζεται η ανάπτυξή του, πως μπορεί να κάνει χρήση των υπηρεσιών του ο προγραμματιστής (developer) και πώς ο (απλός) τελικός χρήστης κλπ. Οι έννοιες των IaaS, PaaS και SaaS (Infrastructure as a Service, Platform as a Service, Software as a Service) κλπ. Οι έννοιες των ‘private’, ‘public’, ‘community’ και ‘hybrid’ clouds.
Β. Εικονικές Μηχανές – Εικονικοποίηση: Τι είναι εικονικοποίηση και εικονικές μηχανές (virtual machines – virtualization), πως λειτουργούν, πώς επικοινωνούν με τα λειτουργικά συστήματα (είδη εικονικοποίησης, ή έννοια του hypervisor και οι υποστηριζόμενοι τύποι κ.α.), ποια η χρήση τους και η σημαντικότητά τους στην ανάπτυξη εφαρμογών στο νέφος, απαιτήσεις οργάνωσης, ολοκλήρωσης και διαχείρισης σε επίπεδο datacenter, αντιπροσωπευτικά εργαλεία και υλοποιήσεις π.χ. VΜware, Xen, KVM, Docker κλπ.
Γ. Ενδιάμεσα Λογισμικά – Εργαλεία Ανάπτυξης: Τι είναι τα ενδιάμεσα λογισμικά και τα σχετικά εργαλεία/πλατφόρμες ανάπτυξης (toolkits / cloud platforms) και ποια η σημαντικότητά τους για ανάπτυξη υπηρεσιών στο νέφος, διεπαφή με χαμηλότερα επίπεδα (π.χ. εικονικές μηχανές), δυνατότητες που παρέχουν, σχέση/συνεργασία με ολοκληρωμένα συστήματα υπηρεσιών στο νέφος (π.χ. amazon), αντιπροσωπευτικές υλοποιήσεις π.χ. Nimbus, Eucalyptus, OpenNebula, CloudStack, OpenStack κλπ.
Δ. Τεχνολογίες προγραμματισμού που προσφέρονται για την ανάπτυξη εφαρμογών/υπηρεσιών και επιστημονικούς υπολογισμούς στο νέφος: Διαθέσιμες τεχνολογίες και ολοκληρωμένες βιβλιοθήκες, ολοκλήρωση διαδραστικών εφαρμογών και υπολογισμών υψηλών απαιτήσεων, διεπαφές που απαιτούνται. Επισκόπηση γνωστών/διαδεδομένων σχετικών γλωσσών και εργαλείων (scripting languages, development tools, APIs κλπ). Παραδείγματα χρήσης και πρακτική άσκηση στα περιβάλλοντα (ενδεικτικά) των GAE/Google APIs και Hadoop/MapReduce, Spark.
Ε. Εφαρμογές/υπηρεσίες νέφους για τον τελικό χρήστη: Θα εξεταστούν: (α) υπηρεσίες φιλοξενίας (hosting), (β) υπηρεσίες αυτοματισμού γραφείου και συνεργασίας (office automation and collaboration), (γ) υπηρεσίες ανάπτυξης web και mobile εφαρμογών, (δ) άλλες επιχειρηματικές εφαρμογές πάνω από το νέφος (CRM, ERP, E-Commerce, Data Center services κλπ), (ε) η σύγχρονη τάση: δυναμικά περιβάλλοντα παροχής διαφανούς υπολογιστικής ισχύος και πόρων για εκτέλεση υπολογισμών και εφαρμογών κατ’ απαίτηση (π.χ. Amazon EC2, GAE, Azure), (στ) επισκόπηση των κύριων vendors (Google, Microsoft, Amazon κ.α.) και των υπηρεσιών τους.
ΣΤ. Άλλα Ζητήματα: Απαιτήσεις ασφάλειας (security), Ανάγκες υψηλής διαθεσιμότητας (high availability), Σχεδιασμός χωρητικότητας (capacity planning), Παροχή πόρων (resource provisioning), Τα οικονομικά του Cloud Computing (cloudonomics) κ.α.
Βιβλιογραφία