Corso diReti di Calcolatori L-A
Università degli Studi di BolognaFacoltà di Ingegneria
Some … Clouds 1
Antonio CorradiLuca Foschini
Cloud Computing
Cosa è il Cloud computing?
“The architecture and terminology of cloud computing is as clearly and precisely defined as, well, a cloud
Some … Clouds 2
a cloud .”
Source:www.opencloudmanifesto.org
Alcune (prime) definizioni• Un nuovo paradigma computazionale che
nasce dall’esigenza di porre rimedio ai problemi legati al costo dell’Information
Il Cloud computing
problemi legati al costo dell’Information Technology per le aziende moderne
• Propone un nuovo metodo di offerta di servizi informatici maggiormente commisurati alle esigenze delle moderne imprese
Some … Clouds 3
• Network-based subscriptions to
• Anytime, anywhere access to IT resources delivered
Software as a Service
Utility Computing
Cloud Computing
Grid Computing
Cloud computing in continuità:una visione storica
• Solving large problems with parallel computing
subscriptions to applications
• Service Oriented Architectures (SOA)
• Web 2.0
• Offering computing resources as a service
• Virtualization technologies
resources delivered dynamically as a service.
Grid Computing
Some … Clouds 4
• Grid computing– Condivisione di risorse eterogenee (computer, software, dati,
memoria e capacità computazionale, …) in ambienti distribuiti altamente eterogenei con l’obiettivo di creare una virtual organization scalabile (secondo necessità! )
– Interfacce (di gestione) spesso a grana troppo fine, con basso livello di astrazione e non auto -contenute ����
Prima del Cloud computing: GRID
basso livello di astrazione e non auto -contenute ����– Ambiti applicativi circoscritti e molto specifici (calcolo
parallelo per ambiti scientifico, ingegneristici, …)
Some … Clouds 5
• Virtualizzazione– Tecnologie per la virtualizzazione (di sistema o ospitato),
ad esempio in server farm: Vmware, Xen, …– Isolamento e personalizzazione infrastruttura e/o
piattaforma SW (O.S., ed eventuali applicativi)– Strumenti per la gestione efficiente di infrastrutture
informatiche (IBM Tivoli suite, Xen monitoring tools, …)
Prima del Cloud: Virtualizzazione
informatiche (IBM Tivoli suite, Xen monitoring tools, …)
Some … Clouds 6
• Web 2.0– Uso di protocolli asincroni non visibili all’utente per
richiedere solo le informazioni necessarie e in modo asincrono: Asynchronous Javascript And XML (AJAX)
– Nuovo modo di usare i servizi Web è stato anche accoppiato a nuove applicazioni più facili da usare e collaborative e disponibili via Web in modo aperto, senza richiedere una installazione da parte dei clienti
Prima del Cloud computing: Web 2.0
collaborative e disponibili via Web in modo aperto, senza richiedere una installazione da parte dei clienti interessati: arrivando a determinare un nuovo modo di lavoro, molto cooperativo (Software as a Service ☺)
Office
https://www.google.com/hostedhttp://smallbusiness.yahoo.com/email/
www.zimbra.com
many others…
Word
www.writely.comwww.writeboard.comwww.inetword.commany others…
www.pxn8.comwww.pixoh.commany others…
Graphics Database
www.dabbledb.comwww.Lazybase.comwww.quickbase.commany others…
www.linkedin.comwww.plaxo.commany others…
Contacts
Some … Clouds 7
Architettura a livelli: IaaS, PaaS e SaaS
Hardware
Server ServerServer
■Alla base del modello si troval’architetturareale: componentihardware e prodotti software Some … Clouds 8
■ Infrastructure :
Architettura a livelli: IaaS, PaaS e SaaS
Hardware
Infrastructure as a Service (IaaS)
StorageNetworkComputer
Server ServerServer
strato che permettedi distribuirel’infrastruttura diservizio Cloud tipicamenterealizzato dallapiattaforma divirtualizzazione
Some … Clouds 9
Components Services■Platform: strato che
consente di fornire
Architettura a livelli: IaaS, PaaS e SaaS
Hardware
Platform as a Service (PaaS)
Components Services
Infrastructure as a Service (IaaS)
StorageNetworkComputer
Server ServerServer
consente di fornire al livello superiore una serie di componenti e servizi accessibili da remoto
Some … Clouds 10
Components Services
Software as a Service (SaaS)
MachineInterface
User Interface■Software : strato sucui possono esserinstallate alcuneapplicazioni,
Architettura a livelli: IaaS, PaaS e SaaS
Hardware
Platform as a Service (PaaS)
Components Services
Infrastructure as a Service (IaaS)
StorageNetworkComputer
Server ServerServer
applicazioni, accessibili via Internet tramite lo stesso sistemaCloud
Some … Clouds 11
■ Insieme di software Client per accedere al sistema. Tali applicazioni vengono eseguite sul computer Components Services
Client Client Client
Software as a Service (SaaS)
MachineInterface
User Interface
Architettura a livelli: IaaS, PaaS e SaaS
Hardware
eseguite sul computer fisico remoto di proprietà del cliente finale, e sono in grado di comunicare con le interfacce messe a disposizione dal Cloud
Platform as a Service (PaaS)
Components Services
Infrastructure as a Service (IaaS)
StorageNetworkComputer
Server ServerServer
Some … Clouds 12
Architettura a livelli:
Architettura a livelli: Attori
Architettura a livelli:principali attori
Some … Clouds 13
• Requisiti ed obiettivi– Scalabilità on demand (risorse gestite in modo “elastico”,
risorse di sistema virtualizzate e uso di macchine virtuali , Service Level Agreements – SLA, …)
– Fornitura automatizzata e facilità d’uso (utility computing + infrastructure, platform, and software as a service)
– Riduzione dei costi (minimizzare i costi di – primo –deployment, energia, storage, potenza di calcolo, …)
Il Cloud computing è …
deployment, energia, storage, potenza di calcolo, …)
• Sfide tecniche– Gestione (risorse di sistema, power-saving , …)– Interoperabilità e portabilità (dati, applicazioni, e
immagini macchine virtuali)– Misurazione e monitoraggio (monitoraggio dinamico delle
risorse usate, accounting, …)– Sicurezza (riservatezza/controllo dati, reputazione, …)
Some … Clouds 14
I sistemi software per il CloudComputing hanno tipicamente una struttura a componentiche comunicano tra loro grazie ad interfacce ben definite (spesso Web Services)
Componenti del Cloud
• Quattro componenti principali:– un’infrastruttura per la virtualizzazione ed il sistema di
calcolo della quota da addebitare al cliente per l’uso delle macchine virtuali
– un gestore delle richieste provenienti dall’esterno– una piattaforma Cloud , che offre un’interfaccia
accessibile via web per apportare modifiche all’infrastruttura informatica reale o virtuale
– un sistema di memorizzazione a database Some … Clouds 15
Obiettivi di infrastruttura
• Come mettere insieme le risorse di calcolo in modo flessibile per consentire un buon rapid prototyping ?
• Come realizzare applicazioni che possano scalare fino a rispondere ai requisiti utente crescenti?
Some … Clouds 16
fino a rispondere ai requisiti utente crescenti?
• Come gestire molte centinaia di migliaia di macchine con un intervento umano minimale ?
• Come fare un uso il più efficiente possibile di tutte le risorse di calcolo di un data center?
Cosa può fare il Cloud Computing?
• Prototipazione e sviluppo rapido– Attivare e disattivare VM è molto facile e veloce– Alta grado di innovazione
• Scalabilità di applicazioni Web 2.0– Si possono clonare VM a richiesta dei clienti
Some … Clouds 17
– Si possono clonare VM a richiesta dei clienti• Processare transazioni in modo scalabile
– Supporto per SO più diffusi con QoS (sicurezza, affidabilità, ecc.)
• Supporto a applicazioni Data intensive – Supporto a computazione Grid-like
• Amazon Elastic Computing – EC2: virtualized images (DB+Software and middleware+OS), Xen, simple SLA console
• HP/Yahoo/Intel Test Bed : virtualized images, Xen, simple SLA console
• Research initiatives (RESERVOIR EU FP7 project , previous projects on grid computing such as EEGE, …)
• Google App Engine
Cloud computing: reality check
Some … Clouds 18
• Google App Engine (Software as a Service SaaS, Web applications, Google App Engine, sandbox for management and security)
• IBM Blue Cloud : virtualized images (DB+Software and middleware+OS), Xen, Tivoli (monitoring and management), simple SLA console
• Microsoft Azure : recentemente proposto da Microsoft
Ricerca e altri sistemi in corso d’opera: RESERVOIR EU FP7 project, Eucalyptus, 3Tera, …
• AWS e AMI– Amazon EC2 (Elastic
Computing Cloud)• Amazon WS – AWS –
permette all’utente di stipulare SLA, acquistare risorse e gestire AMI
– AMI Amazon Machine Image• Uso di template di immagini
• Dynamo– Sistema per l’archiviazione e
la gestione dello stato della sessione per le centinaia di servizi offerti da Amazon EC2
• Scalabilità incrementale (tecniche di hashing e load balancing dinamico)
• Elevata disponibilità
Amazon EC2
Some … Clouds 19
• Uso di template di immagini pre-configurate (read-only), che si possono ottenere e eseguire immediatamente.
• Creazione di immagini personalizzate con tutte le applicazioni, librerie, dati e configurazioni associate
– Amazon S3 (Simple Storage Service)
• Servizio di storage per mantenere AMI
19/41
• Elevata disponibilità attraverso tecniche di replicazione e uso di diversi modelli volti a garantire eventual consistency delle operazioni di lettura/scrittura (alto throughput e bassa latenza)
• Aggiornamento asincrono delle repliche, con versioning dei dati e riconciliazione (semi-)automatica di eventuali conflitti
Come funziona?– Sottoscrizione account– Firefox Plug-In– Consente di eseguire
una propria immagine
Amazon EC2
Some … Clouds 20
una propria immagine• Example
– Fedora Core 4– Apache– MySQL
– Gestione diretta Esempio SLA (small instance)– $0,10 per instance-hour– 1.7 GB of memory– 1 EC2 Compute Unit– 160 GB of instance storage– 32-bit platform
• Web Applications on Google infrastructures• Application Environment
– Sandbox+console di amministrazione : ambiente sicuro che distribuisce le richieste per le applicazioni Web alla molteplicità di server disponibili, ed eventualmente avvia/ferma altri server per venire incontro in modo adattativo alla domanda (richieste entranti)
– App Engine SDK : Python runtime environment + Google Accounts– Datastore service : BigTable DBMS
Google Apps Engine
– Datastore service : BigTable DBMS• Cosa serve?
– Google App Engine SDK– Google Account– Text Editor
• Preview period (fino a qualche tempo fa…)– 500 MB e fino a 5 milioni di pagine/mese– Fino a 3 applicazioni– Quote scalabili
Google Mail
(GMail)
Docs
Calendar
Google Talk
Google Sites
Google Video
Some … Clouds 21
Standard Edition
Premier Edition Educational Edition
Costo Free 40 € / Utente / Anno Free
Storage 7 GB 25 GB 7 GB
PubblicitàAnnunci
Pubblicitari Obbligatori
Annunci Pubblicitari Opzionali
Nessun Annuncio Pubblicitario
Google Apps: Forme di Servizio
Obbligatori
Utenti 50 Utenti Illimitati Illimitati
Supporto Nessuno Telefonico 24h/24 Telefonico 24h/24
Altro
• Servizio Postini• Pianificazione Sala
Riunioni/Risorse• SLA garantito 99,9%• Google Video• API per integrazione del
servizio nell’infrastruttura• Applicazioni e Servizi di
Terze Parti
• Pianificazione Sala Riunioni/Risorse
• SLA garantito 99,9%• Google Video• API per integrazione del
servizio nell’infrastruttura• Applicazioni e Servizi di
Terze Parti
HP (Server e Dispositivi)
Open Cirrus
Yahoo / Intel / HP test bed
Intel(Processori)
Yahoo(Software)
Open Cirrus
- HP Labs(USA)- Intel Research (USA)- Yahoo (USA)- University of Illinois (USA)- Karlsruhe institute of Technology (Germany)- Infocomm Development Autority (Singapore) Some … Clouds 23
Unisce vari sforzi (di ricerca)– Obiettivo : sviluppare uno stack open-
source e API per il Cloud– Test bed distribuito geograficamente e
federato (no gestione centralizzata)– Set di servizi di base comuni: Global
Servizio di gestione cluster
Open Cirrus: a Cloud testbed
– Set di servizi di base comuni: Global Single Sign-on , Hadoop, Hadoop Distributed File System (HDFS)
– Altri servizi: gestione cluster, application framework (Pig, MPI, …)
– System v.s. application-only research: consente uso di macchine fisiche (oltre che virtuali)
– Validazione tramite eterogeneità
Some … Clouds 24
• Richiesta e amministrazione delle risorse computazionali secondo un modello “self-service”
• Image-based provisioning di Xen VMs automatico (Tivoli)• Real-time monitoring completamente automatico (Tivoli)• Gestisce grossi pool di risorse virtuali condivise
IBM Blue Cloud
• Plug-and-play per Xen hosting platform: auto discovery & configuration (Tivoli)
• Software provisioning automatizzato e facilmente configurabile (console con semplici SLA)– WebSphere Application Server Network Deployment– DB2 Enterprise Server Edition– PHP, MySQL, IIS, MS SQL Server …
Some … Clouds 25
VM 1
VM 2
Tivoli Provisioning Manager
Customer Cloud Admin
Customer UsersXen
Cloud UI (console)
IBM Cloud: architettura di base
NFS Server
Tivoli Directory Server
VM 2
…WebSphere DB2
IBM Tivoli Monitoring
DB2
UsersXen
Some … Clouds 26
• Google docs
• Google App EngineP
aaS
SaaS
Technology wrap up
Engine
• Google Bigtable
• Hadoop MapReduce (Yahoo)
• GoogleFS• Amazon
EC2
IaaS
PaaS
Some … Clouds 27
Basic Cloud Computing Architecture
Open Source Linux with Xen
Tivoli Monitoring Agent
Virtualized Infrastructure Based on Open Source Linux & Xen
VirtualMachine
VirtualMachine
VirtualMachine
VirtualMachine
Some … Clouds 28
IBM Monitoring v.6
DB2
Provisioning Management Stack
Provisioning Manager v.5.1
WebSphere Application Server
Monitoring Provisioning Baremetal & Xen VMs
Linux & Xen
Data Center
Virtualizzazione : tutte le macchine ospitano le macchine virtuali e il carico relativo
Provisioning : in pochi minuti si riesce a d attivare un insieme di molte macchine virtuali
Monitoring : per riutilizzare le risorse non usate in tempi brevi
Progetti con il Cloud Computing Center di Dublin– Virtual machine (VM) consolidation per risparmio
energetico– … verso il Green computing
Esperienza sul Cloud
Some … Clouds 29
Conclusioni• Cloud computing come nuovo modello di lavoro col quale
sicuramente ci si dovrà confrontare nei prossimi an ni• Cloud computing come nuovo modello architetturale
distribuito emergente • se ancora non esiste definizione comune• buona e chiara caratterizzazione , nelle sue varie declinazioni, dal
punto di vista tecnologico (stack e componenti principali)
Conclusioni e problemi aperti
• buona e chiara caratterizzazione , nelle sue varie declinazioni, dal punto di vista tecnologico (stack e componenti principali)
Problemi aperti• Cloud computing e modello economico
• “Conviene affittare risorse di un Cloud esterno o acquistare e fornire un proprio Cloud?” �dipende da cosa, molto dibattito su questo
• Problemi di sicurezza e esternalizzazione gestione dati���� necessità di nuovi modelli di trust
Some … Clouds 30
Cloud per tutto
NON proprio per tutto,ovvio, senza esagerare
… and theClouds are disclosed into the sky!
The fog has gone…
Some … Clouds 32
the sky!
Thanks for your
attention!