Prof.ssa Valeria Cardellini - Master in Procurement Management
Transcript
Prof.ssa Valeria Cardellini - Master in Procurement Management
Il Cloud Computing: Definizioni, Classificazioni, Costi, Benefici, SLA Valeria Cardellini Dipartimento di Informatica, Sistemi e Produzione Università di Roma “Tor Vergata” UNA MIRIADE DI TERMINI Storage Billing Utility Computing Web 2.0 ICT COME SERVIZIO Una “vecchia” idea • Vision “computer utility”: risorse di calcolo, storage, data processing, …, applicazioni, fornite come utility – Adozione del modello economico del servizio – Illusione di avere a disposizione risorse infinite – Tariffazione pay-per-use e a grana fine • Non è una idea nuova! – 1961: John McCarthy “If computers of the kind I have advocated become the computers of the future, then computing may someday be organized as a public utility just as the telephone system is a public utility... The computer utility could become the basis of a new and important industry.” – 1969: Leonard Kleinrock “As of now, computer networks are still in their infancy, but as they grow up and become sophisticated, we will probably see the spread of “computer utilities”, which, like present electric and telephone utilities, will service individual homes and offices across the country.” POPOLARITA’ DI VARI PARADIGMI DI COMPUTING Search trends: Cluster computing, Grid computing, Distributed computing, Cloud computing UNA MIRIADE DI DEFINIZIONI… • [NIST, 2011]: Cloud computing is a model for enabling convenient, ondemand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. • [Armbrust et al., 2009]: Cloud Computing refers to both the applications delivered as services over the Internet and the hardware and software systems in the data centers that provide those services. The services themselves have long been referred to as Software as a Service (SaaS)... The data center hardware and software is what we will call a Cloud. … Cloud computing has the following characteristics: (1) The illusion of infinite computing resources… (2) The elimination of an up-front commitment by cloud users… (3) The ability to pay for use. • [Vaquero et al., 2009] Clouds are a large pool of easily usable and accessible virtualized resources (such as hardware, development platforms and/or services). These resources can be dynamically reconfigured to adjust to a variable load (scale), allowing also for an optimum resource utilization. This pool of resources is typically exploited by a pay-per-use model in which guarantees are offered by the infrastructure provider by means of customized SLAs. … CHE HANNO IN COMUNE • Modello di tariffazione pay-per-use – Nessun obbligo di acquisto/utilizzo minimo • Capacità elastica: scale-in e scale-out di tipo ondemand • Virtualizzazione delle risorse • Interfaccia self-service PERCHE’ SOLO ORA? • Esperienza con data center di ampie dimensioni – Economie di scala senza precedenti • Diffusione di Internet a banda larga • Virtualizzazione x86 veloce • Modello di tariffazione pay-per-use • Stack del software standard Web 2.0 Interface Programming API Frameworks & Programming Languages Google AppEngine Platform as a Service Microsoft Azure Force.com Infrastructure as a Service Virtualization Private Cloud VM Management & Deployment Amazon S3, EC2 Public Cloud Hybrid Cloud OpenNebula, Eucalyptus Mosso Rackspace Data Centers Other Grids/Clouds Clusters Storage Accounting Admission Control Software as a Service SLA Negotiation Salesforce.com QoS Metering Google Apps (Gmail, Docs,…) Pricing and Billing PRINCIPALI MODELLI DI SERVIZIO IaaS: ALCUNI ESEMPI • IaaS: risorse computazionali (processing power, storage, reti) disponibili come servizi su richiesta – Lo IaaS user accede a server virtuali su cui installa il proprio sw, in generale dal sistema operativo in su • Esempi – Akamai (NetStorage e servizi CDN) – Amazon (Elastic Compute Cloud/EC2 e Simple Storage Service/S3) – FlexiScale – GoGrid (Cloud Servers e Cloud Storage) – Joyent (Accelerator) – OpenNebula – Rackspace PaaS: ALCUNI ESEMPI • PaaS: piattaforme applicative che consentono uno sviluppo facile e l'implementazione di applicazioni scalabili, senza la necessità di investire in (o gestire) infrastruttura sottostante • Esempi – – – – – – Akamai (EdgeComputing) Amazon (SimpleDB) Elastra e RightScale (piattaforme per Amazon EC2) Google (App Engine) Microsoft (Azure) Oracle (SaaS Platform) SaaS: ALCUNI ESEMPI • SaaS: applicazioni a disposizione del Cloud user, gestite e distribuite tramite web – La categoria più ampia di soluzioni Cloud • Esempi – Comunicazione: Adobe Web Connect, Cisco WebEx, Google Mail, Hotmail, Yahoo! Mail – Produttività personale: Google Docs, Google Calendar – Storage di file: Dropbox, SugarSync – CRM, e-Commerce, ERP: salesforce.com, Demandware, NetSuite – Risorse umane, finanza, altre applicazioni ERP: SAP Business ByDesign, Workday TIPI DI CLOUD • Cloud pubblica – Cloud user di tipo pubblico, accede mediante sottoscrizione – Servizi gratuiti oppure a pagamento – Esempi: Amazon EC2, Google AppEngine, Rackspace, Windows Azure • Cloud privata – Cloud user interno ad un’azienda (o una qualsiasi organizzazione) – Dati e processi gestiti internamente, senza le restrizioni di banda di rete, sicurezza ed aspetti legali della Cloud pubblica • Cloud ibrida – Combinazione di Cloud privata e pubblica ESEMPIO: CLOUD IBRIDA PER GESTIRE WORKLOAD VARIABILE Cloud bursting • Solo Cloud privata: per fornire un’applicazione Web in condizioni di traffico normali • Più una Cloud pubblica: per gestire burst di traffico che non sono sostenibili dalla sola Cloud privata Public cloud Private cloud SERVICE LEVEL AGREEMENT (SLA) • Contratto formale tra customer e provider di un servizio che specifica: i dettagli del servizio fornito, in termini di parametri ed obiettivi (SLO) concordati tra le parti (ad es. latenza, disponibilità) le sanzioni e/o le compensazioni in caso di violazione delle aspettative tra le parti CICLO DI VITA DI UNO SLA ALCUNI BENEFICI • Scalabilità, elasticità, flessibilità – Quantità “infinita” di risorse di computazione disponibile su richiesta • Accessibilità anytime e anywhere – Accesso ubiquo basato su Internet/Web • Semplicità di gestione – Ad es. versioning e aggiornamento del software • Eliminazione dell’impegno anticipato – I costi scalano con l’utilizzo • Innovazione di business più rapida • Maggiore produttività • Riduzione dell’impatto ambientale dell’ICT in ottica green ALCUNE CRITICITA’ PER CLOUD USER • Privacy e sicurezza – Chi accede ai dati nella Cloud? – Recupero, tracciamento ed integrità dei dati? • Questioni politiche e legali – Di chi sono i dati? – Chi può usare i dati? – Dove sono localizzati i dati? • Progettazione di applicazioni scalabili • Elasticità – Sì, ma spesso di tipo manuale e non automatico • Latenza di comunicazione – Distanza di qualche msec con il Cloud provider – Paradigma adatto per applicazioni real-time? ALCUNE CRITICITA’ PER CLOUD USER • Rischi di vendor lock-in – Ad es. data lock-in: difficoltà di migrazione dei dati in caso di cambio del Cloud provider • Mancanza di standardizzazione nei servizi offerti • Mancanza di capacità di negoziazione e difficoltà nel monitoraggio degli SLA – Flessibilità nella definizione dei parametri e degli SLO – Adattamento dinamico dei requisiti di QoS e loro rinegoziazione – Monitoraggio di SLO spesso a carico del Cloud user ALCUNE CRITICITA’ PER CLOUD PROVIDER • Gestione di SLA – Prospettiva interna (prevenire violazioni) ed esterna (servizi di monitoring offert dallo stesso provider) – Effetto a cascata causato dalla violazione di un SLA ad un determinato livello dello stack Cloud • Incertezza e variabilità nella richiesta di servizio • Vincoli posti dai Cloud user – Richiesta di API aperte/standard – Necessità di aggiungere continuamente valore • Interoperabilità tra Cloud diverse