• Come si dimensiona un sistema che supporta servizi con le

Transcript

• Come si dimensiona un sistema che supporta servizi con le
Università degli Studi di Roma “Tor Vergata”
Facoltà di Ingegneria
•  Come si dimensiona un sistema che supporta
servizi con le seguenti esigenze?"
–  Milioni di richieste al giorno"
–  Crescita/decrescita del tasso di richieste pari al
100% allʼanno"
•  E, in certi casi, differenti anche per un ordine di
grandezza"
–  Picchi di (milioni di) richieste stagionali"
–  Miliardi di GB da memorizzare"
–  …"
Valeria Cardellini - SD A.A. 2010/11
1
• 
• 
• 
• 
• 
Utility computing
On-demand computing
Grid computing
Autonomic computing
Software as a Service (SaaS)
–  Una “vecchia” idea: delivery di applicazioni su Internet
•  Più recentemente: XaaS, dove X=[Hardware,
Infrastructure, Platform, …]
– 
– 
– 
– 
HaaS: Hardware as a Service
IaaS: Infrastructure as a Service
PaaS: Platform as a Service
HuaaS: Human as a Service (incluso crowdsourcing)
Valeria Cardellini - SD A.A. 2010/11
2
•  Alcune definizioni meno recenti usate dalle aziende…
–  Pay-as-you-go (def. di Sun)
–  Adaptive enterprise (def. di HP)
–  E-business on demand (def. di IBM)
–  Elastic computing cloud (def. di Amazon)
•  Prima del… Cloud computing
•  Troppe definizioni… (alcune sinonimi, altre con lievi
differenze): tipico di un periodo di transizione
Valeria Cardellini - SD A.A. 2010/11
3
•  Acqua
•  Gas
… al computing come
quinta utility
•  Elettricità
•  Telefono/Rete
Valeria Cardellini - SD A.A. 2010/11
4
•  Utility computing: la potenza dei calcolatori e le
applicazioni possono essere vendute secondo il
modello economico dell’utilità (utility)
–  Adozione del modello economico del servizio
–  Illusione di avere a disposizione risorse infinite
–  Tariffazione di tipo pay-as-you-go e a grana fine (ad es. per
ora)
•  La vision “computer utility” 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.”
Valeria Cardellini - SD A.A. 2010/11
5
•  1969: Leonard Kleinrock, progetto ARPANET
–  “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.”
•  Alcune ridefinizioni di computer
–  1984: John Gage, Sun Microsystems
•  “The network is the computer”
–  2008: David Patterson, Univ. Berkeley
•  “The data center is the computer. There are dramatic differences
between of developing software for millions to use as a service
versus distributing software for millions to run their PCs”
Oggi: “Cloud is the computer” (Rajkumar Buyya, Univ.
Melbourne)
6
Valeria Cardellini - SD A.A. 2010/11
Fonte: R. Buyya, “Market-Oriented Cloud Computing: …”, 2008.
?
Un business di milioni di milioni di !
• 
• 
• 
• 
• 
• 
• 
• 
Web
Data Center
Utility Computing
Service Computing
Grid Computing
P2P Computing
Cloud Computing
…
Paradigmi
Attributi
Valeria Cardellini - SD A.A. 2010/11
+
!  Accesso ubiquo
!  Affidabilità
!  Scalabilità
!  Comportamento autonomico
!  Scoperta dinamica
!  Composizione
!  Quality of Service (QoS)
!  Service Level Agreement (SLA)
!  …
7
Search trends: Cluster computing, Grid computing, Cloud computing, Distributed computing"
Microsoft to rent “Web”cloud computing spaces, Oct 28 2008"
Microsotsʼs cloud computing system is growing up, Nov 17 2009"
Google looks to be 'cloud-computing' rainmaker for other online business services, March 10 2010"
Host Analytics Named to 2010 AlwaysOn OnDemand Top 100 List Recognizing the Leading SaaS and Cloud
Computing Companies, April 6 2010"
Cloud computing and the economy, April 13 2010"
Cloud computing for lean local governments, May 12 2010"
Valeria Cardellini - SD A.A. 2010/11
Distributed computing
•  Loosely coupled
•  Heterogeneous
•  Single administration
8
Cluster computing
•  Tightly coupled
•  Homogeneous
•  Single System Image
Grid computing
• 
• 
• 
• 
Large scale
Cross-organizational
Geographical distribution
Distributed management
Cloud computing
•  Provisioned on demand
•  Service guarantee
•  VMs and Web 2.0-based
Valeria Cardellini - SD A.A. 2010/11
Fonte: R. Buyya
9
•  Breve introduzione al Grid computing per
comprendere meglio somiglianze e differenze con il
Cloud computing
•  Cosa è una Grid?
“A computational GRID is a hardware and software
infrastructure that provides dependable, consistent,
pervasive, and inexpensive access to high-end
computational capabilities”
•  Tre criteri per definire una GRID:
1.  Coordina risorse che non sono sottoposte a un controllo
centralizzato
2.  Usa protocolli, librerie e interfacce standard, aperte e
general-purpose
3.  Garantisce Quality of Service (QoS)
Fonte: Ian Foster, “What is the Grid? A Three Point Checklist”, 2002.
Valeria Cardellini - SD A.A. 2010/11
10
•  Condividere in modo coordinato risorse all’interno di
un’organizzazione virtuale (Virtual Organization, VO)
dinamica e multi-istituzionale
–  Cosa condividere? Risorse computazionali, dati, device e reti
appartenenti a diverse organizzazioni e posti in diverse
locazioni
–  Condivisione di risorse ottenuta attraverso accessi diretti da
parte degli utenti, con controllo stretto sugli accessi alle risorse
•  Sfruttare risorse inutilizzate o sotto-utilizzate mediante
l’aggregazione dinamica di nodi e componenti
applicativi sviluppati indipendentemente
•  Bilanciare le risorse a livello dati (Data Grid) e/o di
calcolo (Compute Grid)
•  Virtualizzare le risorse
•  Facilitare la collaborazione
Valeria Cardellini - SD A.A. 2010/11
11
•  E’ costituita da:
–  un insieme di individui o istituzioni
–  un insieme di risorse da condividere
–  un insieme di regole per la condivisione
•  E’ una collezione di utenti che condividono regole per
l’accesso a risorse di calcolo e a dati distribuiti e
perseguono obiettivi comuni
•  Concetto chiave: abilità di negoziare le modalità di
condivisione delle risorse tra i componenti di una VO
ed il successivo utilizzo per i propri scopi
•  Le regole per la condivisione delle risorse specificano
quando, dove e cosa può essere fatto
•  Occorrono quindi:
–  Politiche e meccanismi per formalizzare tali regole
•  Autenticazione: stabilire l’identità degli utenti
•  Autorizzazione: determinare se una operazione è coerente con
le regole di condivisione definite
Valeria Cardellini - SD A.A. 2010/11
12
•  Distribuzione geografica dei dati e degli elementi
computazionali
•  Grandi quantità di dati da elaborare con enfasi sul
fattore computazionale rispetto al fattore “content
generation and delivery”
•  Applicazioni prevalenti: data intensive o compute
intensive
•  Ma anche accesso remoto a strumentazioni molto
costose:
–  Realizzazione di esperimenti complessi
–  Condivisione di laboratori virtuali
Valeria Cardellini - SD A.A. 2010/11
13
Valeria Cardellini - SD A.A. 2010/11
Fonte: R. Buyya
14
•  Bioinformatica
–  Modellistica di proteine
–  Progetto di nuove medicine
•  Medicina
–  Riproduzione della fisiologia degli organismi
–  Funzionamento del cervello (100 Petaflops)
•  Modelli atmosferici-ecologici
–  Inquinamento
–  Surriscaladamento
•  Fisica delle alte particelle (ricerca di eventi rari)
•  Applicazioni aerospaziali
•  Modelli finanziari
Valeria Cardellini - SD A.A. 2010/11
15
APPLICATIONS
Applications and Portals
Scientific
…
Prob. Solving Env.
Collaboration
Engineering
Web enabled Apps
Libraries
Debuggers
Monitors
…
Web tools
Resource Management and Scheduling:
CORE
MIDDLEWARE
Distributed Resources Coupling Services
Information
Security
Data
Process
Trading
…
QoS
SECURITY LAYER
FABRIC
Local Resource Managers
Operating Systems
Queuing Systems
Libraries & App Kernels
…
Adaptive Management
Languages/Compilers
Autonomic/ Grid Economy
USER LEVEL
MIDDLEWARE
Application Development and Deployment Environment
Internet Protocols
Networked Resources across Organizations
Computers
Networks
Storage Systems
Valeria Cardellini - SD A.A. 2010/11
Data Sources
…
Scientific Instruments
16
Globus Toolkit
–  Open source
–  E’ il middleware standard de
facto per sviluppare sistemi
Grid
–  Include servizi e librerie per
monitoraggio delle risorse,
scoperta e gestione di risorse,
sicurezza e autenticazione,
accesso remoto ai dati,
gestione degli eseguibili
–  Attualmente è orientato ai
servizi (Grid service)
gLite
–  Open source
–  Si propone come il middleware
di nuova generazione per il
Grid computing
Valeria Cardellini - SD A.A. 2010/11
17
•  Convergenza tra Grid e Web service
–  Approccio service-oriented: “Everything is represented by a
Service: a network enabled entity that provides some capabilities
through the exchange of messages.”
•  Open Grid Service Architecture (OGSA): modello
basato su servizi
–  Risorse computazionali, storage, reti, programmi, database,
etc, sono tutti dei servizi -> Grid Service
•  OGSA definisce specifiche per:
–  Indicare come un Grid service viene creato e scoperto
–  Indicare come le istanze dei Grid service sono nominate e
referenziate
–  Le interfacce che definiscono un Grid service
Valeria Cardellini - SD A.A. 2010/11
18
•  Problemi di rete
–  Banda e latenza non note a priori, dipendenti dal traffico e
mutevoli nel tempo
–  Banda e latenza disomogenee e latenza molto più grande
rispetto a LAN
–  Grado di connettività variabile nel tempo (guasti dei link)
•  Problemi di gestione
–  Molteplici gestori
–  Molteplici politiche di gestione non necessariamente
compatibili tra loro
–  Affidabilità dei nodi non nota a priori
–  Problemi di sicurezza
Valeria Cardellini - SD A.A. 2010/11
19
Grid computing
Utility computing
Basato su reti eterogenee
Basato su reti eterogenee
Distribuito geograficamente
Distribuito geograficamente
Risorse eterogenee
Risorse eterogenee
Inter-organizzazioni:
– Politiche di gestione diverse
– Politiche e requisiti di
sicurezza diversi
– Problemi di SLA
– Problemi di accounting e
billing
Intra-organizzazione:
– Stesse politiche di gestione
– Stesse politiche e requisiti di
sicurezza
– Gestione di SLA “in casa”
– Nessun problema di accounting
e billing
Valeria Cardellini - SD A.A. 2010/11
20
•  Cosa si intende per cloud computing?
•  In cosa differisce dagli altri paradigmi e in che
direzione li estende?
Valeria Cardellini - SD A.A. 2010/11
21
Una miriade di termini…"
Vir
tua
liz
ati
on
SaaS
PaaS
Storage
Billing
Pric
Res
our
Provisio
Publ
ce
Met
eri
ing
ng
Utility
Computing
ning
on Deman
d
ic C
lou
d
Sec
Web 2.0
uri
ty
Ama
Privacy
Private
Cloud
IaaS
gle
App
Eng
ine
n S3
Goo
pace
EC2
Amazo
Racks
zon
Valeria Cardellini - SD A.A. 2010/11
22
Cloud
“Cloud” è il simbolo grafico
generalmente usato per
rappresentare Internet
Computing
Il termine “Computing” comprende:
-  Computazione
-  Logica di coordinazione
-  Storage
Il Cloud computing riguarda lo spostamento del
computing da un singolo PC/data center ad Internet
Valeria Cardellini - SD A.A. 2010/11
23
• 
[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), so
we use that term. 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… as needed.”"
• 
[NIST, 2009]: 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."
• 
[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. "
Valeria Cardellini - SD A.A. 2010/11
24
•  Modello di costo pay-per-use"
–  Nessun impegno anticipato "
•  Capacità elastica: scale up/down su richiesta"
•  Virtualizzazione delle risorse"
•  Interfaccia self-service"
Valeria Cardellini - SD A.A. 2010/11
25
•  Lʼintero stack (hw & sw) è usato su Internet"
•  Il computing diventa una vera utility usata da tutti"
– 
– 
– 
– 
Aziende"
Fornitori di servizi"
Utenti finali"
Ricercatori"
•  Gli aspetti economici assumono maggiore
importanza "
–  Tariffazione, determinazione dei prezzi di vendita, QoS,
SLA"
Due differenze significative
rispetto al Grid computing
Valeria Cardellini - SD A.A. 2010/11
26
•  Esperienza con data center di ampie dimensioni"
–  Economie di scala senza precedenti"
•  Altri fattori"
– 
– 
– 
– 
Diffusione di Internet a banda larga "
Virtualizzazione x86 veloce"
Modello di costo pay-per-use "
Stack del software standard"
Valeria Cardellini - SD A.A. 2010/11
27
Google Apps (Gmail, Docs,…)
Programming API
Scripting & Programming
Languages
Platform as a Service
Google
AppEngine
Microsoft
Azure
Force.com
Infrastructure as a Service
QoS Metering
t
Web 2.0 Interface
Amus
emen
Financial Applications
c
Scientifi
Compu
ting
Software as a Service
Admission Control
Pricing and Billing
Accounting
Salesforce.com
Virtualization
Public Cloud
VM Management & Deployment
Amazon S3, EC2
Hybrid Cloud
OpenNebula, Eucalyptus
Racksp
Mosso
ace
Valeria Cardellini - SD A.A. 2010/11
Data
Centers
Other
Grids/
Clouds
Clusters
Storage
SLA Negotiation
Private Cloud
Valeria Cardellini - SD A.A. 2010/11
•  Cloud pubblica
–  L’utente finale dei servizi erogati dalla Cloud (il Cloud user) è
di tipo pubblico, accede mediante sottoscrizione
–  I servizi Cloud possono essere gratuiti oppure a pagamento
–  Esempi: Amazon EC2, Google AppEngine, Rackspace,
Windows Azure
•  Cloud privata
–  Il Cloud user è all’interno di un’azienda (o di una qualsiasi
organizzazione non aperta ad Internet) ed usa il data center
aziendale, realizzato con tecnologie tipiche del Cloud
computing (virtualizzazione delle risorse e dei servizi e
standardizzazione della gestione)
–  Minori vantaggi economici rispetto a cloud pubblica
–  Maggiore sicurezza rispetto a cloud pubblica
Valeria Cardellini - SD A.A. 2010/11
28
•  Cloud di tipo community (o enterprise)
–  Simile a Cloud privata, ma l’azienda o organizzazione ha
dimensione più ampie
•  Cloud ibrida
–  Combinazione di cloud priviata e cloud pubblica
–  Vantaggi di cloud pubblica + privata
–  Esempio: uso di una cloud privata per fornire
un’applicazione Web in situazioni di carico normale ed uso di
una cloud pubblica per gestire picchi improvvisi di carico che
la cloud privata non è in gradi di gestire adeguatamente
Valeria Cardellini - SD A.A. 2010/11
29
30
Valeria Cardellini - SD A.A. 2010/11
High-value SPs
Intermediaries SPs
Basic SPs
Rackspace
Infrastructure SPs
Valeria Cardellini - SD A.A. 2010/11
31
•  IaaS: risorse computazionali (storage, server)
disponibili come servizi a richiesta
–  Invece di utilizzare macchine fisiche, i clienti IaaS accedono
a server virtuali su cui installano 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)
–  Rackspace
Valeria Cardellini - SD A.A. 2010/11
32
•  PaaS: piattaforme che consentono uno sviluppo
facile e l'implementazione di applicazioni scalabili,
senza la necessità di investire in (o gestire) qualsiasi
infrastruttura sottostante
–  Forniscono servizi di più alto livello rispetto a IaaS (ad es.
framework applicativi e strumenti di sviluppo)
•  Esempi
– 
– 
– 
– 
– 
– 
Akamai (EdgeComputing)
Amazon (SimpleDB)
Elastra e RightScale (piattaforme per Amazon EC2)
Google (App Engine)
Microsoft (Azure)
Oracle (SaaS Platform)
Valeria Cardellini - SD A.A. 2010/11
33
•  SaaS: applicazioni complete per l'utente finale che
sono gestite e distribuite tramite web
–  E’ attualmente la categoria più ampia di soluzioni di cloud
computing
•  Esempi
–  Comunicazione: Adobe Web Connect, Cisco WebEx,
Google Mail, Hotmail, Yahoo! Mai
–  Produttività personale: Google Docs
–  Storage di file: Dropbox, SugarSync
–  E-Commerce: Demandware
–  CRM (Customer relationship management): salesforce.com
–  Contabilità, ERP (Enterprise Resource Planning), CRM ed
e-Commerce: NetSuite
–  Risorse umane, finanza ed altre applicazioni ERP: SAP
Business ByDesign
–  Risorse umane, finanza e libri paga: Workday
Valeria Cardellini - SD A.A. 2010/11
34
Usando uno IaaS provider
•  Accesso a livello di codice tramite servizi Web e/o
Web API
•  Risorse virtualizzate “pure”
–  CPU, memoria, storage e banda di rete
Usando un PaaS provider
•  Risorse virtualizzate più framework applicativo
–  Ad esempio: RoR (Ruby On Rails), Python, .NET
•  Impone un’architettura dell’applicazione e dei dati
−  Limiti su come viene costruita l'applicazione
•  Maggiori rischi di vendor lock-in
Valeria Cardellini - SD A.A. 2010/11
35
•  Il Cloud user ottiene la capacità computazionale e di
storage che gli serve nel momento in cui ne ha bisogno"
•  Nello scale-up e nello scale-down"
–  Legata al modello pay-per-use (& pay-as-you-grow)"
–  Non occorre più dimensionare lʼinfrastruttura sul picco di carico "
Valeria Cardellini - SD A.A. 2010/11
36
•  Sovra-dimensionamento dell’infrastruttura: comporta
sotto-utilizzazione
–  Utilizzazione dei server nei data center tradizionali
•  In genere < 20%; in casi rari 30%
–  Utilizzazione delle componenti di rete nei data center tradizionali
•  In genere < 10%
Costoso e con impatto negativo sull’ambiente
Valeria Cardellini - SD A.A. 2010/11
37
•  Sotto-dimensionamento dell’infrastruttura: comporta forti
penalità
Valeria Cardellini - SD A.A. 2010/11
38
•  Animoto su Facebook (aprile
2008)"
–  Da 25000 a 750000 utenti in soli
3 giorni"
–  Con un picco di 20000 nuovi
utenti allʼora"
Valeria Cardellini - SD A.A. 2010/11
39
•  Numerose opportunità per lo sviluppo di nuove
applicazioni, tra cui:"
•  Applicazioni Web e mobili interattive"
–  Processamento non possibile sul dispositivo mobile !
computation offloading nella Cloud"
–  Dispositivi mobili la cui UI è sul web anziché sul dispositivo
stesso"
–  Dispositivi mobili che agiscono come sensori per lʼacquisizione
intelligente di dati"
•  Analisi di enormi quantità di dati (batch processing
parallelo)"
–  Basato su MapReduce e Apache Hadoop"
–  Attenzione: conviene spostare i dati nella Cloud se vi è uno
speedup nellʼanalisi dei dati (non dimenticare la latenza di
comunicazione!)"
•  Estensioni di software desktop di tipo computingintensive"
Quale sarà la killer application del cloud computing?!
40
•  Data storage “in-the-cloud”:
–  Ad elevata scalabilità
–  Ad elevata disponibilità (fino a 99.99%)
–  Accessibile anytime e anywhere tramite Web
•  Accesso programmabile mediante Web service API
•  Semplice da usare
•  Modello di costo pay-per-use: ad es. per l’Europa
–  Storage: $0.14/GB al mese
–  Data Transfer: da $0.1/GB
–  Requests: $0.01 per 1000 richieste (PUT, COPY, POST,
LIST)
•  SLA del servizio
http://aws.amazon.com/s3-sla/
Valeria Cardellini - SD A.A. 2010/11
41
•  Capacità computazionale auto-scalabile “in the cloud”
–  Possibilità di ottenere nuove istanze di server in pochi minuti
–  Possibilità di scalare la capacità (up o down) a seconda dei
cambiamenti nei requisiti computazionali
•  Accesso completo (come root) a una macchina
virtuale (blank)
•  Interfaccia di gestione mediante semplici Web service
•  Modello di costo pay-per-use differenziato per tipi di
server e software di base, ad es.:
–  Standard Linux: $0.095/ora
–  High-memory Linux: $0.57/ora
–  High-CPU Linux: $0.19/ora
Valeria Cardellini - SD A.A. 2010/11
42
•  Servizio di content delivery
–  E’ una CDN “in the cloud”
•  Delivery di contenuti statici e streaming
•  Richieste redirette automaticamente verso l’edge più
vicino all’utente
•  Integrato con Amazon S3 per lo storage dei contenuti
Valeria Cardellini - SD A.A. 2010/11
43
•  E’ la piattaforma di sviluppo e hosting di applicazioni
Web a traffico elevato nella cloud di Google
•  Linguaggi di programmazione: Python e Java
Valeria Cardellini - SD A.A. 2010/11
44
•  E’ la piattaforma cloud di Microsoft per sviluppare
applicazioni e servizi in ambito cloud
•  Argomento del seminario del 17 gennaio 2011
Valeria Cardellini - SD A.A. 2010/11
45
Alcuni progetti open source
•  Forniscono strumenti per realizzare soluzioni a livello
IaaS
•  Eucalyptus http://open.eucalyptus.com/
–  Eucalyptus = Elastic Utility Computing Architecture Linking
Your Programs To Useful Systems
–  Compatibile con alcuni Amazon Web Services
•  Nimbus http://www.nimbusproject.org/
–  Insieme di strumenti open source che forniscono una IaaS
per cloud computing in ambito scientifico
–  Compatibile con Amazon EC2
•  OpenNebula http://www.opennebula.org/
−  Adatto per Cloud pubbliche, ibride e private
•  OpenQRM http://www.openqrm.com/
–  Strumenti per la gestione di data center
–  Adatto per Cloud private
Valeria Cardellini - SD A.A. 2010/11
46
•  Scalabilità, flessibilità"
Benefici IT
–  Quantità “infinita” di risorse di computazione disponibile su
richiesta"
•  Accessibilità anytime e anywhere"
–  Accesso basato su Internet/Web"
•  Semplicità di gestione"
businees
l’ambiente
Benefici per Benefici di
–  Ad es. versioning e aggiornamento del software"
•  Eliminazione dellʼimpegno anticipato"
–  I costi scalano con lʼutilizzo (infrastruttura come
percentuale di profitto e non come costo fisso iniziale)"
•  Innovazione di business più rapida"
•  Maggiore produttività"
•  Riduzione dellʼimpatto ambientale dei data center"
Valeria Cardellini - SD A.A. 2010/11
47
•  Privacy e sicurezza"
–  Chi accede ai miei dati nella Cloud?"
–  Quanto mi fido del mio Cloud provider?"
–  E riguardo a recupero, tracciamento ed integrità dei dati?"
•  Questioni politiche e legali"
–  Di chi sono i dati?"
–  Chi può usare i dati personali?"
–  Dove sono i dati?"
•  Ad es., AWS Regions per lo storage"
•  Progettazione di applicazioni scalabili fin dallʼinizio"
•  Elastic: VERO; istantaneo: FALSO (almeno oggi)"
•  Latenza di comunicazione"
–  La Cloud può essere distante qualche msec"
–  Eʼ un paradigma adatto per sviluppare applicazioni realtime?"
•  Rischi di vendor lock-in"
Valeria Cardellini - SD A.A. 2010/11
48
•  Service Level Agreement
–  Monitoraggio e controllo a carico del provider
–  Cosa succede se qualcosa va male?
–  Qual è il vero costo della fornitura di SLA?
•  Incertezza
–  Ad es. nel caso di storage: pattern di utilizzo da parte degli
utenti, tipo di workload predominante, frequenza di accesso delle
risorse, volume di accesso delle risorse, località degli accessi,
durata delle risorse, dimensione delle risorse
•  Vincoli dei customer
–  Richiesta per API aperte/standard
–  Necessità di aggiungere continuamente valore
–  Ogni applicazione è unica!
•  Energy management
•  Interoperabilità tra cloud diverse
Valeria Cardellini - SD A.A. 2010/11
49
Business
Policy &
Growth
Adoption
Challenge!
Opportunity!
Availability"
Multiple providers & data centers"
Data lock-in"
Standardization"
Data confidentiality and auditability" Encryption, VLANs, firewalls; geographical data
storage"
Data transfer bottlenecks"
FedEx-ing disks, data backup/archival"
Performance unpredictability"
Improved VM support, flash memory, scheduling
VMs"
Scalable storage"
Invent scalable store"
Bugs in large distributed systems"
Invent debugger that relies on distributed VMs"
Scaling quickly"
Invent auto-scaler that relies on ML; snapshots"
Reputation fate sharing"
Offer reputation-guarding services like those for
email"
Software licensing"
Pay-for-use licenses; bulk use sales"
Fonte: M. Armbrust et al., “Above the Clouds: A Berkeley View of Cloud Computing”,
Technical Report EECS-2009-28, 2009."
Valeria Cardellini - SD A.A. 2010/11
50
Concludendo"
•  Il Cloud computing "
–  Ha le potenzialità per cambiare in modo sostanziale il modo in
cui viene progettata l'architettura tecnica e di business delle
aziende moderne"
–  Eʼ una tecnologia dirompente, che può determinare un
conseguente “scompiglio” creativo"
•  I sistemi che supportano il Cloud computing sono
estremamente complessi"
–  Moltissimi server, miriadi di tecnologie, interazioni complesse
tra rete e sistema, miriadi di applicazioni con carichi eterogenei"
•  Cʼè molto lavoro da fare per rendere reali tutte le
promesse del Cloud"
Valeria Cardellini - SD A.A. 2010/11
51
•  Michael Armbrust et al., “Above the Clouds: A Berkeley View of
Cloud Computing”, Technical Report EECS-2009-28, 2009.
http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/
EECS-2009-28.pdf
•  R. Buyya, C.S. Yeo, S. Venugopal, J. Broberg, I. Brandic, “Cloud
Computing and Emerging IT Platforms: Vision, Hype, and Reality
for Delivering Computing as the 5th Utility”, Future Generation
Computer Systems, Vol. 25, No. 6, pp. 599-616, June 2009.
http://www.buyya.com/papers/Cloud-FGCS2009.pdf
•  IEEE ha incluso il Cloud computing tra le tecnologie top dell’ultimo
decennio
S. Upson, “Cloud Computing: It’s Always Sunny in the Cloud”,
IEEE Spectrum, Jan. 2011.
http://spectrum.ieee.org/computing/networks/cloud-computing-itsalways-sunny-in-the-cloud
Valeria Cardellini - SD A.A. 2010/11
52