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