Υπολογιστικό Νέφος ή Cloud computing Stelios Sotiriadis, Euripides G.M. Petrakis 03/04/2019
Σχέση με Κεντρικοποιημένα και Κατανεμημένα Συστήματα Βασίζονται σε τεχνολογίες Διαδικτύου Διαφέρουν από κεντρικοποιημένα συστήματα επεξεργασίας (server oriented computing) Δεν υπάρχει ένα εξυπηρετητής που ελέγχει το σύστημα και τις διεργασίες Συστήματα με μεγάλο κόστος (αγοράς, συντήρησης) και δεν προσφέρονται για μεγάλες εφαρμογές Το κατανεμημένο σύστημα αποτελείται από ΗΥ που επικοινωνούν μεταξύ τους Ανοχή σε βλάβες Δυνατότητα επέκτασης 03/04/2019
Κατανεμημένα συστήματα Συλλογή απο ανεξάρτητους υπολογιστές που εμφανίζονται στους χρήστες ώς ένας μοναδικός υπολογιστής Υπολογιστική Ισχύς και μνήμη εμφανίζονται ως κοινόκτητοι πόροι συστήματος Συλλογή απο υπολογιστές που συνεργάζονται για έναν σκοπό! 48 CPUs -> 55°C <-48 kg 03/04/2019
Κατανεμημένο σύστημα Δίκτυο απο διεργασίες! Οι κόμβοι είναι διεργασίες Οι ακμές είναι τα κανάλια επικοινωνίας 03/04/2019
Διαίρει και βασίλευε, Map-Reduce! “Work” Partition (Map) w1 w2 w3 “worker” “worker” “worker” r1 r2 r3 Combine (Reduce) “Result” 03/04/2019
Κατανεμημένα Συστήματα Η έμφαση είναι στην επεξεργασία και επικοινωνία των διεργασιών πχ Hadoop Στο Υπολογιστικό Νέφος, εκτός από τα παραπάνω η έμφαση είναι στην καλύτερη αξιοποίηση της διαθέσιμη υποδομής Ελαστικότητα Πρόσβαση από πολλούς χρήστες, παροχή υπηρεσιών με χρέωση ανάλογα με την χρήση 03/04/2019
Task Scheduling Meta-Scheduling: Λογισμικό που βελτιστοποιεί την χρήση πόρων αξιοποιώντας πληροφορία από τους τοπικούς δρομολογητές διεργασιών FCFS scheduling: first come first served SJF scheduling: shortest job first Επιτρέπει μεταφορά διεργασιών σε άλλους υπολογιστές που είναι διαθέσιμοι πχ περιμένουν άλλες διεργασίες να τελειώσουν 03/04/2019
Κατανεμημένα συστήματα Εφαρμογές GPS Αυτοματοποιημένα τραπεζικά συστήματα Air-traffic control Roaming cellular telephones Social Networking (Facebook)! P2P (Torrents ;) 03/04/2019
Ιστορική εξέλιξη… 2007 2000 Cloud Utility 1999 Grid 1999 Parallel 2014 ??? 2007 2000 Cloud 1999 Utility Grid 1999 Parallel Computing 1999 Volunteer Computing 1997 HPC -HTC 1987 Metacomputing 1960s Supercomputers 03/04/2019
136.8 Teraflop/s on LINPACK (64K processors) Interconnects all compute nodes 1.4Gb/s on all 12 node links (2.1 GB/s per node) 1 µs latency between nearest neighbors 5 µs to the farthest 03/04/2019 IBM Blue-Gene/P Source: http://en.wikipedia.org/wiki/Blue_Gene
Why – When ? Cloud computing is one of the most prominent trends in IT sector Emerged from Grid and Utility computing New challenges arose when CERN started experiments in the Large Hadron Collider Demands for high-performance computing (HPC) Later, demands for HPC independent of location And later, profitability for other institutions became obvious as it was not necessary to buy – host – maintain large computing resources 03/04/2019
πηγή δεδομένων CMS CERN 03/04/2019 CMS CERN Source: http://en.wikipedia.org/wiki/Compact_Muon_Solenoid
CERN Datacentre 03/04/2019
CERN Datacenters 03/04/2019
Cloud Computing Dynamic – decentralized control of resources Available via Web interfaces from anywhere, anytime “Pay as you go” principle, business model Elastic Service provision, dynamic resource allocation – provisioning Scalable resources Resource pooling: resources available to many clients Monitoring of resources Virtualization !! Application as services or assembled using fragments of software (services) different from Grid where users generate an executable and is transferred to Grid for execution (dedicated software for this) 03/04/2019
Χαρακτηριστικά Cloud Computing Κοινά με άλλα συστήματα: Massive Scale Elastic Computing Homogeneity Geographic Distribution Virtualization Service Orientation Low Cost Software Advanced Security Ιδιαίτερα Χαρακτηριστικά On Demand Self-Service Broad Network Access Rapid Elasticity Resource Pooling Measured Service 03/04/2019
Grid vs. Cloud computing προβλήματα μεγάλης κλίμακας δεν μπορούν να λυθούν με έναν υπολογιστή… 03/04/2019 http://markusklems.wordpress.com/2008/06/19/cloud-vs-grid/
Τρέχουσες τάσεις 03/04/2019
Service Level Agreement (SLA) Cloud providers sign SLA with customers Services availability above 95% of the time of operation. Constant monitoring of local node resources usage, fraudulent access detection Help desk support Monday to Friday 9am-5pm CET Ticket response before EOB of the following work day for 95% of requests Ticket resolution time within 2 work days for 95% of requests Scheduled and Unscheduled maintenance and incident handling 03/04/2019
SLA Metrics CPU capacity CPU speed for Virtual Machines (VMs) Memory size Cash memory size for VM Boot time Time for VM to be ready for use Storage Storage size of data Scale up Max of VMs for one user Scale down Min number of VMs for one user Scale up time Time to increase number of VMs Scale down time Time to decrease number of VMs Availability Uptime of service in specific time 03/04/2019
Cloud Computing Service Layers Services Description Services Application Development Platform Storage Hosting Services – Complete business services such as PayPal, OpenID, OAuth, Google Maps, Alexa Application Focused Application – Cloud based software that eliminates the need for local installation such as Google Apps, Microsoft Online Development – Software development platforms used to build custom cloud based applications (PAAS & SAAS) such as SalesForce Platform – Cloud based platforms, typically provided using virtualization, such as Amazon ECC, Sun Grid Infrastructure Focused Storage – Data storage or cloud based NAS such as CTERA, iDisk, CloudNAS Hosting – Physical data centers such as those run by IBM, HP, NaviSite, etc. 03/04/2019
Cloud Service Models Google App Engine Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service (IaaS) SalesForce CRM IBM SmartCloud Google App Engine 03/04/2019 Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim Grance
Τρέχουσες τάσεις 03/04/2019
Software as a Service (SaaS) Η εφαρμογή φιλοξενείται ως υπηρεσία προς τους πελάτες μέσω του Internet Χαμηλό βάρος στην συντήρηση και υποστήριξη λογισμικού Instalation, Updates, Security, Disaster recovery … Περιλαμβάνει: Platform as a Service (PaaS) Infrastructure as a Service (IaaS) 03/04/2019
Cloud Models Public Clouds Private Clouds Hybrid Clouds Υπηρεσίες μέσω του Internet Private Clouds Ιδιωτικά δίκτυα Hybrid Clouds ποικιλία από δημόσια και ιδιωτικά cloud με πολλαπλούς παρόχους 03/04/2019 Source: http://www.dummies.com/how-to/content/comparing-public-private-and-hybrid-cloud-computin.html
Τοπολογία του Cloud 03/04/2019
NIST Reference Architecture 03/04/2019 http://pleasediscuss.com/andimann/wp-content/uploads/2011/03/NIST-Cloud-Ref-Architecture.jpg
Virtualization Virtual workspaces: Εικονικό περιβάλλον εκτέλεσης που μπορεί να είναι δυναμικό χρησιμοποιώντας συγκεκριμένα πρωτόκολλα Χρησιμοποίηση πόρων (π.χ. CPU, memory share), Software: διαμόρφωση (π.χ. O/S, provided services). Εφαρμόζεται σε Virtual Machines (VMs): Μια εικονική υλοποίηση του λογισμικού υπολογιστή που εκτελεί προγράμματα όπως ένα φυσικό μηχάνημα. Hardware OS App Hypervisor Virtualized Stack Hardware Operating System App Traditional Stack 03/04/2019
Virtual Machine Monitor (VMM) / Hypervisor Virtual Machines Eπιτρέπει πολλαπλούς εικονικους Η/Υ να τρέξουν σε μια ενιαία φυσική μηχανή. App App App App App VM VM VM Xen Guest OS (Linux) Guest OS (Fedora) Guest OS (Windows) VMWare Virtual Machine Monitor (VMM) / Hypervisor etc. Hardware 03/04/2019
Εικονοποίηση (Virtualization) Καλύτερη αξιοποίηση υπολογιστικών πόρων Διαμοιρασμός πόρων ΗΥ (CPU, RAM, δίσκος, δίκτυο) Ανεξαρτησία εφαρμογών και ασφάλεια > 1 Λειτουργικά συστήματα σε ένα Η/Υ Εύκολη εγκατάσταση VM: νέες μηχανές, ένα VM θέλει 10’’ για να δημιουργηθεί... Δοκιμή λειτουργικών συστημάτων και λογισμικού Εξομοίωση λειτουργειών σε περισσότερες μηχανές από ό, τι είναι φυσικά διαθέσιμα Μετακίνηση των εικονικών μηχανών (VM migration) 03/04/2019
Amazon AWS Amazon Web service (AWS): set of secure cloud services making up the cloud platform, offering compute power, database storage, content delivery and other functionality including Amazon Machine Images (AMIs): virtual server on the cloud for launching VMs S3 storage: storage for the internet (store/retrieve data & VMs) Cloud Management Console: search / invoke services Hadoop MapReduce services Elastic Cloud (EC2): provides resizable, reconfigurable compute capacity Πολύ καλή κατανομή, load balancing, cloud monitoring tools 03/04/2019
Google cloud platform Secure, scalable and reliable Compute environment: create & boot VMs fast, scalable, load balancing support Data analytics: machine learning, data mining Storage and databases Management: monitoring, diagnostics … IoT support Identity and security Development environment 03/04/2019
Google App Engine Ολοκληρωμένη πλατφόρμα προγραμματισμού, ανεξάρτητα από το μέγεθος (μικρό ή μεγάλο) Build and deploy applications that scale Web interface for a development environment Java, PHP, Python … just add code without they worry of managing the infrastructure Το Google προσφέρει την ίδια αξιοπιστία, τη διαθεσιμότητα και την επεκτασιμότητα στο ίδιο επίπεδο με τις δικές της εφαρμογές 03/04/2019
Ανάγκη για επιπλέον συνεργασία clouds (inter-cloud & cloud federation) Οι πελάτες (χρήστες, προγραμματιστές) έχουν την να αναπτύσσουν εφαρμογές χρησιμοποιώντας υπηρεσίες από διαφορετικέςές υποδομές νέφους (interoperability) να μεταφέρουν υπηρεσίες και δεδομένα από ένα από ένα cloud σε ένα άλλο (portability) Τα clouds των ίδιων των παρόχων δεν υποστηρίζουν μια συντονισμένη κατανομή και χρήση των πόρων Open Cloud Computing Interface (OCCI) 03/04/2019
Open Cloud Computing Interface Standard API για διαχείρηση εργασιών σε clouds OCCI is a Protocol and API for all kinds of management tasks on Iaas, PaaS Goals: Interoperability: allow different Cloud providers to work together without data schema/format translation Portability: no technical/vendor lock-in and enable services and data to move between providers Integration: works with latest infrastructures or legacy ones Originally developed to create an API for IaaS Services, allowing for interoperable tools for common tasks e.g. Deployment and monitoring 03/04/2019 πηγή: http://occi-wg.org/about/
03/04/2019
Μελλοντικές προκλήσεις 03/04/2019
βιβλιογραφία Cloud Computing Patterns, Fehling et. all (book) Cloud Computing: A Classification, Business Models and Research Directions https://www.researchgate.net/publication/220618570_Cloud_Computing_-_A_Classification_Business_Models_and_Research_Directions Cloud Computing and Grid Computing 360-Degree Compared http://arxiv.org/pdf/0901.0131.pdf What is the Grid? A Three Point Checklist http://dlib.cs.odu.edu/WhatIsTheGrid.pdf Above the Clouds: A Berkeley View of Cloud Computing http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf UC Berkeley CS10 Fall 2010 Lecture 20, Cloud Computing http://www.youtube.com/watch?v=MroUlbiKi0U 03/04/2019