Υπολογιστική Νέφους και υπηρεσίες

Α. Εισαγωγή στην Υπολογιστική Νέφους: Ορισμοί, βασικά χαρακτηριστικά και δυνατότητες, σε ποιες τεχνολογίες στηρίζεται η ανάπτυξή του, πως μπορεί να κάνει χρήση των υπηρεσιών του ο προγραμματιστής (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) κ.α.

 

Βιβλιογραφία

  1. Thomas Erl, Ricardo Puttini, Zaigham Mahmood, Cloud Computing: Concepts, Technology & Architecture, Prentice Hall, 2013. [Ελληνική Μετάφραση: Σαμαράς Ιωάννης, Εκδόσεις Γκιούρδας, 2015]
  2. Kris Jamsa, Cloud Computing, Jones & Bartlett Learning, 2012.
  3. Barrie Sosinsky, Cloud Computing Bible, Wiley, 2011.
  4. Kai Hwang, Jack Dongarra, and Geoffrey Fox, Distributed and Cloud Computing, Morgan Kaufmann, 2011.
  5. Michael Kavis, Architecting the Cloud: Design Decisions for Cloud Computing Service Models, Wiley, 2014.
  6. Ray Rafaels, Cloud Computing: From Beginning to End, CreateSpace Independent Publishing Platform, 2015.
  7. Michael Hugos and Derek Hulitzky, Business in the Cloud: What Every Business Needs to Know About Cloud Computing, Wiley, 2010.
  8. Robert Elsenpeter, Anthony Velte and Toby Velte, Cloud Computing: A Practical Appoach, McGraw-Hill, 2010. [Ελληνική Μετάφραση: Γκλαβά Μαρία, Εκδόσεις Γκιούρδας, 2010]
  9. Borko Furht and Armando Escalante, Handbook of Cloud Computing, Springer, 2010.
  10. David Sarna, Implementing and Developing Cloud Computing Applications, Auerbach Publications, 2010.
  11. Tom White, Hadoop the definitive guide, O’Reilly Media, 2009.
  12. Jure Leskovec, Anand Rajaraman and Jeff Ullman, Mining of Massive Datasets, Cambridge University Press, 2012.
  13. Jimmy Lin, Chris Dyer and Graeme Hirst, Data-Intensive Text Processing with MapReduce, Morgan and Claypool Publishers, 2010.
  14. Dan Sanderson, Programming Google App Engine, O’Reilly Media, 2009.
  15. Denise Gosnell, Professional Development with Web APIs: Google, eBay, Amazon.com, MapPoint & FedEx, John Wiley & Sons, 2005.