17
Corso di Reti di Calcolatori L-A Università degli Studi di Bologna Facoltà di Ingegneria Some … Clouds 1 Antonio Corradi Luca 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

Corso di Reti di Calcolatori L-A Cloud Computing · altamente eterogenei con l’obiettivo di creare una virtual ... • Prototipazione e sviluppo rapido ... • Scalabilità di applicazioni

  • Upload
    ngodang

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

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)

Google

Docs

Google

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!

• Introductive YouTube video on Cloud Computing:http://www.youtube.com/watch?v= XdBd14rjcs0

• Introductive YouTube video on Cloud

Resources and links

Some … Clouds 33

• Introductive YouTube video on Cloud Computing