CLOUD COMPUTING EVOLUZIONARIO E RIVOLUZIONARIO
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
CLOUD COMPUTING EVOLUZIONARIO E RIVOLUZIONARIO Mauro Migliardi Dietro al termine “Cloud Computing” si cela un elevatissimo livello di ambi- Roberto Podestà guità e non esiste, ad oggi, una definizione univoca e universalmente accet- tata di ciò che è e ciò che non è Cloud Computing. In questo articolo cer- cheremo di chiarire alcuni degli aspetti più critici di questo concetto pur sen- za pretendere di dissipare completamente, e una volta per tutte, la nebulo- sità che ancora ammanta l’aggregazione delle tecnologie che collaborano 3.3 a formare il Cloud Computing e impedisce di ottenere un’unica definizione. 1. INTRODUZIONE Seppure in mezzo a questa doccia mediatica N el mondo variegato dei termini di succes- so, Cloud Computing è sicuramente uno dei più forti contendenti per la corona di cam- di parole chiave esista uno spazio per genui- ne opportunità di miglioramento dell’odier- no uso commercial-industriale dell’informa- pione del momento e, come si può osservare tion technology [1], è altresì indubbio che nella figura 1, esso ha recentemente soppian- dietro al termine Cloud Computing si celi an- tato il Grid Computing tra i termini più “cerca- cora un elevatissimo livello di ambiguità e ti” sul web. Allo stesso tempo, un tale sorpas- una serrata lotta per rendere il termine sino- so è ancora ben lontano a livello di pubblica- nimo di una tra le diverse accezioni in uso ad zioni scientifiche, infatti, mentre una ricerca de- oggi. Di fatto, non esiste ad oggi una defini- gli articoli su Grid Computing riporta oltre 4000 zione univoca ed universalmente accettata di citazioni in CiteSeerx, la ricerca per Cloud Com- ciò che è e ciò che non è Cloud Computing e puting si ferma a soli 83 articoli. Questo forni- seppure diversi gruppi e istituzioni si siano sce una prima ragione della quantità di ricer- dedicati a questo difficile compito [2, 3], un che on-line relative al termine Cloud Compu- reale consenso che vada oltre al vago riferi- ting, ma è altresì vero che questa fame di infor- mento all’astrazione delle risorse tramite in- mazione, deriva anche dal fatto che Cloud Com- terfacce standardizzate fornito da Wikipedia, puting viene oggi disinvoltamente presentato ancora manca. come la summa di una pletora di parole chiave Il termine Cloud Computing deriva dall’uso nel panorama recente dell’information techno- comune nel campo dell’Ingegneria del- logy. Tra le più spesso utilizzate, basti ricorda- l’Informazione di rappresentare Internet co- re Service Oriented Architecture (SOA), appli- me una nuvola che tutto interconnette ce- cation service provision, Web 2.0, Web Servi- lando completamente l’infrastruttura estre- ces, mash-ups, Utility Computing, Autonomic mamente complessa che tale servizio richie- Computing, On-demand Computing ecc.. de. Allo stesso modo, il termine Cloud Com- 16 M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 1 0
0 Trends in Web Search 19.12 16.48 14.24 12.00 1 Retio week/average 9.36 7.12 4.48 2.24 0 0.00 Jan 4 2004 Mar 7 2004 May 9 2004 Jun 11 2004 Sep 12 2004 Nov 14 2004 Jan 16 2005 Mar 20 2005 May 22 2005 Jun 24 2005 Sep 25 2005 Nov 27 2005 Jan 29 2006 Apr 2 2006 Jun 4 2006 Aug 6 2006 Oct 8 2006 Dec 10 2006 Feb 11 2007 Apr 15 2007 Jun 17 2007 Aug 19 2007 Oct 21 2007 Dec 23 2007 Feb 24 2008 Apr 27 2008 Jun 29 2008 Aug 31 2008 Nov 2 2008 Jan 4 2009 Mar 8 2009 May 10 2009 FIGURA 1 Trend esibito dalle ricerche Week effettuate tramite Grid Computing Google per i termini Cloud Computing Grid Computing e Cloud Computing puting implica lo spostamento del meccani- 2. TASSONOMIA E DEFINIZIONI smo principale di fornitura dei servizi com- Il Cloud Computing eredita sicuramente alcu- putazionali dalla periferia, completamente ni dei più importanti concetti nati in seno al controllata e posseduta dall’utente, verso Grid Computing [4, 5] nell’ultimo decennio. Ta- una “terra incognita”, dominio di differenti li concetti sono sviluppati e integrati a tal pun- fornitori di servizi, nascosta dalle nebbie (o to da poter considerare - almeno sotto certi nuvole, appunto) e percepibile solo per mez- aspetti - il Cloud Computing come un fenome- zo di una semplice interfaccia di uso il più no evolutivo del Grid. possibile standardizzata. Tuttavia, sotto l’ombrello, a volte fin troppo Come è facile vedere, un tale livello di astra- ampio, del termine Cloud Computing vi sono zione si presta a generare molte e spesso tra anche aspetti genuinamente rivoluzionari per loro non compatibili definizioni di Cloud Com- il panorama delle infrastrutture di information puting, tanto è vero che esiste ancora discus- technology oggi alla base della gestione quo- sione se il termine Cloud si debba applicare tidiana delle aziende. ad una ed una sola infrastruttura (come una e Come afferma Wolfgang Gentzsch in [6], le Grid una sola Internet) oppure se possano esistere in molti casi non sono state in grado di mante- molteplici Cloud eventualmente capaci di in- nere le ottimistiche promesse presenti nel li- terazione. bro blu [7] pubblicato ormai due lustri orsono. In questo articolo cercheremo di chiarire al- Tuttavia, affermare, come si fa in [8] che il Grid cuni degli aspetti più critici del concetto di Computing (e più in generale il calcolo distri- Cloud Computing pur senza pretendere di es- buito prima delle Cloud) richiede scrivere pro- sere noi a dissipare completamente e una volta per tutte la nebulosità che ancora am- grammi basati su scambio di messaggi (riqua- dro 1 a p. 18) mentre il Cloud Computing supe- 1 manta l’aggregazione delle tecnologie che ra tale complessità basandosi, ad esempio, su collaborano a formare il Cloud Computing e impedisce di ottenere un’unica definizione. Map Reduce [9] è - per adottare un gentile eu- femismo - catastroficamente fuorviante. Infat- 0 17 M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 1 0
0 ble Adaptive Distributed Systems presso l’Uni- RIQUADRO 1 - Modello a scambio di messaggi versity of California Berkeley neghi questa tas- Il modello computazionale a scambio di messaggi viene introdotto negli anni ‘80 da C. A. R. Hoare. Esso si basa fondamentalmente su due primitive, send sonomia, vi è una generica convergenza sulla e receive, che permettono a processi strettamente sequenziali di comunicare possibilità di definire tre principali livelli di vi- e sincronizzarsi fra loro al fine di costruire un’applicazione concorrente o pa- sione della nuvola. rallela di qualsivoglia complessità. Il modello a scambio di messaggi è quello Il primo livello è quello delle applicazioni in- più comunemente usato nel calcolo distribuito in quanto non richiede strut- Cloud (Application as a Service), il secondo li- ture complesse come la memoria condivisa, ma pone invece come unico vin- 1 colo architetturale la presenza di un canale di comunicazione tra tutte le componenti del sistema di calcolo. vello è quello delle piattaforme in-Cloud (Platform as a Service) e il terzo livello, quello più vicino all’hardware, è quello dell’infrastrut- tura in-Cloud (Infrastructure as a Service). ti, un’affermazione di questo tipo confonde un Questi tre livelli possono essere considerati singolo strumento di scrittura di codice paral- tre punti su di un asse che ha come coordina- lelo (lo scheletro algoritmico Map-Reduce) con ta il livello di gestione dell’applicazione forni- 0 la sottostante struttura di gestione delle risor- se di calcolo e maschera la semplificazione to dalla Cloud (Figura 2). ❑ Il primo livello, quello delle applicazioni in- proveniente dall’affrontare una specifica tipo- Cloud è, di fatto, quello che viene da anni logia di problema come una mutazione epoca- chiamato Software as a Service (SaaS). Sep- le. È del tutto evidente che il problema della pure esistano esempi innovativi di questa ti- scrittura di codice massicciamente parallelo è pologia di Cloud (e.g. il software CRM di Sale- uno degli scogli con cui si è scontrato il Grid sForce.com), questa tipologia di cloud è ormai Computing, tuttavia, affermare che ciò che di- parte della panoplia di tutti i professionisti IT. stingue Grid Computing da Cloud Computing è Servizi come gmail e google maps sono appli- il limitarsi ad affrontare problemi che possono cazioni in-Cloud che tutti conosciamo e che la essere risolti con una tecnica di programma- maggior parte di noi utilizzano. La scalabilità, zione che, tra l’altro, come dice lo stesso arti- per la maggior parte di queste applicazioni ri- colo in cui venne presentata [9], è applicabile siede esclusivamente nella struttura di acces- in diversi casi reali ma non in generale in quan- so e nella capacità di manipolare grandi moli to richiede, per essere efficiente, che i task di dati non necessariamente in relazione tra mappati siano embarassingly parallel, è, come loro. Si pensi, per esempio, a gmail: un’archi- minimo, semplicistico e non fornisce alcun tettura basata su di una macchina virtuale per reale strumento per dipanare la matassa di co- utente è, in linea di principio, in grado di sod- sa sia il Cloud Computing. disfare le esigenze del servizio ed è solo la di- Seppure un vero consenso sulla definizione di namicità con cui muta il numero di utenti che Cloud Computing non sia stato ancora rag- richiede un’effettiva elasticità dell’infrastrut- giunto, e il white paper su Cloud Computing tura. In questo caso, il gestore della Cloud [10] recentemente prodotto dal gruppo Relia- possiede sia l’infrastruttura che l’applicazio- Infrastruttura in-Cloud Piattaforma in-Cloud Applicazione in-Cloud es. Amazon EC2 es. Google AppEngine, es. SalesForce.com CRM, Microsoft Azure Google Apps 1 FIGURA 2 Asse del livello di gestione Livello di gestione crescente delle applicazioni ospitate sulla Cloud 0 dell’applicazione fornito dalla Cloud 18 M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 1 0
0 ne che viene venduta sotto forma di servizio RIQUADRO 2 - Virtualizzazione e Paravirtualizzazione accessibile via Web. ❑ Il secondo livello, quello delle piattaforme Per virtualizzazione si intende la creazione di una versione virtuale di una ri- sorsa normalmente fornita fisicamente. Qualunque risorsa hardware o in-Cloud, è lo sviluppo più recente del Cloud software può essere virtualizzata: sistemi operativi, server, memoria, spazio Computing. In questo livello possiamo inserire disco, sottosistemi. Un esempio base di virtualizzazione è la divisione di un Google AppEngine [11], Microsoft Azure [12] e disco fisso in partizioni logiche. Meccanismi più avanzati di virtualizzazione permettono la ridefinizione di- Amazon Elastic MapReduce [13]. Questa tipo- namica tanto delle caratteristiche della risorsa virtuale, quanto della sua logia di Cloud (Figura 2) si trova a metà strada tra una gestione delle applicazioni totalmente mappatura su risorse reali. Per poter parlare di virtualizzazione è necessario introdurre il concetto di macchina virtuale o virtual machine. In origine, il termine “virtual machine” 1 a carico della cloud come nel primo livello ed veniva usato per indicare la creazione di una molteplicità di ambienti di ese- una totalmente a carico dell’utente come nel cuzione identici in un unico computer, ciascuno con il proprio sistema opera- terzo livello. La caratteristica principale di que- tivo, infatti, questo genere di virtualizzazione è particolarmente utilizzata nel sto tipo di nuvola è quella di fornire delle inter- campo dei mainframe e dei supercomputer. Lo scopo di tale tecnica era, ori- facce per la programmazione delle applicazio- ginariamente, quello di sezionare tra più utenti l’uso di un singolo computer dando ad ognuno l'impressione di esserne l’unico utilizzatore. ni (API1) specifiche secondo le quali sviluppare applicazioni orientate ad essere usufruite co- L’uso più comune oggi è quello di generare ambienti “sterilizzati” e comple- tamente separate tra loro per poter, per esempio, ricostruire l’ambiente ne- 0 me servizi via web ed un’interfaccia web per cessario all’esecuzione di un programma (in termini di sistema operativo, ottenere l’installazione di tali applicazioni sul- specifiche librerie ecc.) senza porre vincoli sulle alter applicazioni se non quello di poter usufruire di una quota parte delle risorse globali. Questo ri- le risorse computazionali della Cloud in modo sultato è oggi ottenuto per mezzo di un programma che emula un calcolato- che il livello di risorse necessarie per mantene- re; è possibile, infatti, realizzare tramite software, un finto computer su cui re una qualità di servizio definita possa essere può essere eseguito un sistema operativo diverso da quello che equipaggia deciso, fornito e gestito dalla Cloud stessa in realmente l’elaboratore. La virtualizzazione può essere realizzata secondo modalità diverse, tra cui, base al Service Level Agreement (SLA) stipula- principalmente, citiamo: to dallo sviluppatore. In questo caso, il gestore • emulazione: la macchina virtuale simula completamente l'hardware, utiliz- della Cloud possiede l’infrastruttura ma non il zando un sistema operativo standard che viene eseguito dalla CPU virtuale; codice dell’applicazione resa disponibile via • paravirtualizzazione: la macchina virtuale non simula un hardware com- pleto, ma offre speciali API che richiedono modifiche nel sistema operativo Web. L’applicazione e i proventi ottenuti tarif- ma forniscono prestazioni superiori. fando il servizio fornito dall’applicazione sono appannaggio dello sviluppatore dell’applica- zione. L’unico vincolo che il gestore della cora più importante, è quello di difendere l’in- Cloud pone sull’applicazione è la tecnologia frastruttura e le applicazioni degli altri utenti da utilizzare per sviluppare questa applicazio- dal comportamento volutamente o accidental- ne. Si può citare, ad esempio, la dipendenza mente dannoso dell’applicazione. Questa dife- da .Net della piattaforma in-Cloud Azure di Mi- sa è fornita dal totale isolamento in cui una mac- crosoft e la dipendenza dalle API di Google Da- china virtuale incapsula la o le applicazioni in tastore per Google AppEngine. esecuzione su di essa. Infine, un vantaggio in ❑ Infine, il terzo livello, quello dell’infrastrut- un certo senso collaterale, ma certo non mar- tura in-Cloud, trova il suo esponente più noto ginale dell’isolamento fornito dall’utilizzo del- in Elastic Computing Cloud (EC2) di Amazon la virtualizzazione è la possibilità di configura- [20]. In questo caso, il gestore della Cloud pos- re l’ambiente di esecuzione di un’applicazione siede solo l’infrastruttura di calcolo e non po- secondo i desideri dell’utente senza dover in al- ne alcun vincolo né sul tipo di applicazione che cun modo temere che specifiche versioni di si- l’utente eseguirà, né sulla tecnologia da lui uti- stema operativo o di librerie possano collidere lizzata per sviluppare tale applicazione. In que- con le necessità di altri utenti. sta situazione, la virtualizzazione (riquadro 2) ha due ruoli chiave: il primo è, ovviamente, quel- 3. UN INQUADRAMENTO lo di permettere la rapida fornitura e messa in “STORICO” DEL FENOMENO linea di nodi computazionali su richiesta degli utenti, ma il secondo, in questo caso forse an- CLOUD COMPUTING: EVOLUZIONE… 1 Come accennato, molto spesso, il Cloud Com- 1 Application Programming Interface. puting è visto come un’evoluzione del Grid Computing. È però importante notare una di- 0 19 M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 1 0
0 stinzione a livello concettuale tra i due “feno- le principali realizzazioni di Grid Computing meni”. Secondo gli obiettivi iniziali definiti più antecedenti alla comparsa del Cloud Compu- di dieci anni fa dai padri del Grid, Ian Foster e ting che inducono a vedere questo fenomeno Carl Kesselmann, si sarebbe andati verso come un’evoluzione che raccoglie e armonizza un’infrastruttura computazionale in grado di in un’unica infrastruttura/piattaforma questi far leva sulla potenza di calcolo inutilizzata aspetti tecnologici. delle macchine in stato idle genericamente La convergenza tra Grid Computing e Web Ser- 1 connesse a Internet. In pratica, nell’accezione originaria del Grid con la famosa analogia tra vices è stata ampliamente discussa e investi- gata già a partire dagli albori di queste due la rete elettrica e la potenza di calcolo che di- tecnologie. Tale sinergia si è unanimemente venta slegata dalla localizzazione fisica dell’u- articolata nell’attribuire ai Web Services e, più tente, si tenderebbe ad avere dei “micro pro- astrattamente al modello Service Oriented Ar- duttori” di “computing” aggregati in un’orga- chitecture (SOA), un ruolo chiave nell’accesso nizzazione virtuale attraverso un middleware alle griglie computazionali. 0 capace di fornire la visione di un unico super- computer virtuale in cui l’utente stesso condi- La visione orientata ai servizi e l’utilizzo di tec- nologie aperte e altamente standardizzate vide le proprie risorse di calcolo. Al contrario, il sembrano essere il miglior modo per semplifi- Cloud Computing riporta a un’idea di “macro care l’accesso alle risorse di calcolo aggregate produttori” di “computing” indipendentemen- in una Grid. La specifica Web Services Resour- te dal tipo di cloud (application, platform o in- ce Framework (WSRF), oppure la formalizza- frastruttura). Infatti, l’utente utilizza la Cloud zione dei Grid Portal, hanno permesso una fornita dal provider che, generalmente, si trat- standardizzazione dei servizi offerti dalle Grid ta di un centro di calcolo, che può anche esse- e della loro modalità di accesso. Questa visio- re frutto dell’aggregazione di centri sparsi per ne orientata ai servizi, ha portato a pensare il globo, di proprietà esclusiva del provider. alla fruizione del Grid Computing come una Questa differenza concettuale è però molto utility on-demand, Utility Computing, in termi- sfumata a causa dell’evoluzione del Grid Com- ni molto simili a quelli formulati nel lontano puting che si è avuta a partire dalla fine degli 1961 da John McCarthy del MIT: “If computers anni ’90. Infatti, i principali risultati e progetti of the kind I have advocated become the com- più significativi, in alcuni casi diretti dagli stes- puters of the future, then computing may so- si Foster e Kesselmann, che hanno finito per meday be organized as a public utility just as essere considerati propriamente il Grid Com- the telephone system is a public utility... The puting, hanno riguardato l’aggregazione di computer utility could become the basis of a centri di supercalcolo che, guarda caso, solita- new and important industry”. mente sono l’ossatura delle Cloud. Prima di È ancora importante sottolineare che così co- evidenziare questa somiglianza vista come li- me avviene adesso per il termine Cloud, a suo nea evolutiva, per completezza di informazio- tempo anche per il termine Grid si è avuto un ne, va detto che il concetto originario di Grid periodo transitorio in cui molte infrastrutture Computing non è andato completamente software si dichiaravano essere Grid sebbene smarrito. Sviluppi in questo senso seppur con- avessero poi scopi e strutture assai diversi. siderati marginali rispetto alla corrente princi- Dopo più di un decennio esistono esempi di pale sono le Desktop Grid che hanno avuto co- Grid funzionanti e operative che in modi diffe- me precursori seti@home (e.g. BOINC, renti anticipano aspetti presenti nelle emer- XtreamWeb e il progetto europeo EDGeS) e genti Cloud. Attualmente esistono Grid pura- quelli derivanti dalla convergenza tra Peer To mente orientate all’High Performance Compu- Peer e Grid Computing [23] come WOW [25]. ting (HPC) e altre prevalentemente orientate Riprendendo la linea evolutiva, l’utilizzo di tec- alla sperimentazione software che general- 1 nologie Web-based per l’accesso a un’infra- struttura di calcolo distribuita e l’utilizzo della mente da’ comunque supporto all’HPC. Que- ste due tipologie di Grid hanno in comune l’ag- virtualizzazione dell’hardware come base per gregazione di risorse di supercalcolo costituite 0 l’infrastruttura di calcolo distribuita sono i principali aspetti alternatamente presenti nel- da computational cluster appartenenti a domi- ni amministrativi diversi. Per quanto riguarda il 20 M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 1 0
0 puro supporto all’HPC, il progetto EGEE [14] - il ta un modello basato sulla virtualizzazione del- più imponente per numero di soggetti coinvol- l’hardware. Un utente può configurare un’im- ti - ha prodotto una Grid che aggrega 41.000 magine di un sistema operativo con l’applica- CPU provenienti da circa 150 cluster sparsi su zione di interesse e metterla in linea su un in- tutto il globo. Tale aggregazione è ottenuta at- sieme di macchine dotate di hypervisor pre- traverso il middleware gLiteche che integra e viamente riservate ottenendo così un cluster di lega software derivanti dai principali progetti macchine virtuali ritagliato sulle esigenze del- di middleware per Grid come quelli provenien- ti dalla Globus community [15], da iniziative la desiderata applicazione. L’introduzione del- la virtualizzazione ovviamente comporta un cer- 1 europee (DataGrid) e intercontinentali (Data- to decremento delle prestazioni che comunque Tag). Simile a EGEE è il progetto Open Science può essere tenuto sotto controllo con delle po- Grid che adotta simili strumenti software, so- litiche di assegnazione fissa di risorse hardwa- vente sviluppati in cooperazione con EGEE re per macchina virtuale. L’evidente vantag- stesso e ne condivide gli scopi. Queste Grid gio è la rapidità di set-up per esperimenti che forniscono una piattaforma di calcolo utilizza- bile per uno specifico insieme di applicazioni tipicamente richiedono configurazioni com- plesse e altamente specifiche. L’accesso a 0 (una ventina, a volte le stesse, sia per EGEE Grid5000 avviene attraverso il protocollo SSH che per Open Science Grid) appartenenti a vari attraverso gateway specifici presenti in ciascun domini come la fisica delle alte energie, fluido sito, dai quali poi è possibile operare con stru- dinamica computazionale, chimica computa- menti command-line per riservare, configurare zionale, astronomia-astrofisica, bioinformati- e accedere alle risorse computazionali. ca ecc.. Una certa applicazione, una volta svi- Le differenze evidenziate riflettono differenti luppata, viene installata su un certo numero di esigenze: il puro supporto ad applicazioni cluster con l’aiuto degli amministratori. En- scientifiche e il supporto alla sperimentazio- trambe le grid usano dei software client custo- ne per distributed computing su larga scala. mizzati per l’accesso alle risorse di calcolo e In ogni modo, il Cloud Computing indubbia- consentono la sottomissione di job computa- mente abbraccia i concetti evidenziati. zionali con una limitata capacità di configura- L’idea di aggregare risorse di supercalcolo di- zione dell’ambiente di esecuzione che viene stribuite geograficamente, trasversale a tutti i fornito staticamente dalla grid. progetti di Grid, è evidentemente ripresa dal Simile a queste Grid ma orientata a uno svi- Cloud Computing sebbene con sfumature di- luppo e una messa in linea delle applicazioni verse. Infatti, non costituisce il target struttu- più snella è TeraGrid che aggrega una dozzina rale ma un’eventuale evidenza dettata dalla di differenti siti di cluster computazionali ne- necessità di offrire un servizio di elevata sca- gli Stati Uniti e quindi opera su una scala di- labilità in grado di assorbire richieste da un mensionale di una decade inferiore a EGEE. sempre crescente numero di utenti. Rispetto alle Grid puramente orientate al- Da progetti come TeraGrid viene ripresa l’idea l’HPC, TeraGrid offre significativa capacità di di adottare potenti interfacce Web con tecno- configurazione dell’ambiente di esecuzione logie provenienti dal Web2.0 e API di facile in- attraverso strumenti chiamati ScienceGa- tegrazione software basate su Web Services teways che integrano in un portale Web op- per consentire una configurazione e un ac- pure con delle API Web Services-based l’ac- cesso semplice e standardizzato a un’infra- cesso per insiemi di strumenti (e.g. storage) struttura di calcolo in realtà complessa. L’uti- e applicazioni scientifiche. lizzo massiccio della virtualizzazione del- Una totale flessibilità di configurazione è per- l’hardware per dare la massima flessibilità di seguita da Grid5000 che aggrega rispettiva- configurazione dell’ambiente desiderato in- mente nove siti di super calcolo sparsi sul ter- dubbiamente riporta all’esperienza di pro- ritorio francese. Infatti, l’obiettivo di Grid5000 è il supporto della sperimentazione di softwa- getti come Grid5000. Con il Cloud Computing, quindi, si tende a 1 re distribuito su larga scala piuttosto che al pu- dare una grande rilevanza a un’interfaccia ro HPC. Ciò non toglie che tali software, molto spesso, sono orientati all’HPC. Grid5000 adot- semplice e basata su tecnologie web (i.e. Cloud Interface), attraverso cui è possibile 0 21 M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 1 0
0 RIQUADRO 3 - Infrastructure In-Cloud Amazon EC2, abbreviazione di “Amazon Elastic Compute Cloud”, è senza dubbio l’attuale leader mondiale nel campo del Cloud Computing. L’utente utilizza un browser per le iniziali operazioni di registrazione e billing e, successivamente, un insieme di comandi, con interfaccia gra- fica oppure command-line, per riservare on demand una certa capacità computazionale in termini di CPU, RAM e storage (http://aws.amazon.com/ec2/#instance) e poi installarvi e configurare molti tipi di Sistemi Operativi (http://aws.amazon.com/ec2/#os), il tutto con un preciso tariffario (http://aws.amazon.com/ec2/#pricing) che va dai 10 centesimi di dollaro all’ora per un’istanza di linux con le capacità più basse a 1,20 dollari per un’istanza di Windows su un set-up ad elevate prestazioni. I comandi sono dei programmi Java forniti da Amazon che via Web Services consentono l’interazione con la Cloud. Per dare un’idea della flessibilità di Amazon, basti pensare che sia pos- 1 sibile configurare quali porte aprire su una macchina riservata e poi accedervi “normalmente” via SSH, siccome ciascuna macchina può ave- re un IP pubblico raggiungibile dall’esterno. Inoltre è possibile integrare una propria applicazione direttamente con la Cloud attraverso l’uso delle API a loro volta utilizzate dai comandi citati in precedenza. Amazon fornisce un insieme di interfacce Web Services basate su WSDL (Web Service Description Language) chiamate EC2 WSDLs. La tecnologia su cui si basa il back-end della Cloud di Amazon è proprietaria. Nimbus ed Eucalyptus sono le risposte open-source ad Amazon. Entrambi i progetti provengono da gruppi di ricerca già attivi nel Grid Computing ed entrambi offrono un software che consente di creare una Cloud. Nimbus, proveniente dalla Globus community, implementa una parte dell’interfaccia EC2 WSDLs e l’interfaccia Grid WSRF e sostanzialmente consente di utilizzare come back-end un singolo cluster computazionale. Esempi di installazioni operative di Nimbus si trovano su http://workspace.globus.org/clouds/. Eucalyptus, sviluppato nel dipartimento di Computer Science dell’Università della California a Santa Barbara da cui recentemente è derivata un’omonima spin-off 0 specializzata in Cloud Computing, consente di aggregare cluster multipli come back-end ed è compatibile con EC2 WSDLs. Un’installazione operativa di Eucalyptus è accessibile da http://open.eucalyptus.com/wiki/EucalyptusPublicCloud. Platform In-Cloud Il concetto di platfom in-cloud si avvicina in modo naturale al paradigma di sviluppo delle applicazioni enterprise oriented fornito da J2EE o a una dei frame work sviluppati per fornire automaticamente la persistenza dei dati di un programma. A fronte di una serie di vincoli più o meno stringenti sulle caratteristiche degli oggetti manipolati dal programma, il frame work offre il vantaggio di garantire in modo “traspa- rente” la persistenza dei dati appoggiandosi ad un meccanismo di backing storage. Il parallelo che si ha con le platform in-cloud si concre- tizza nella capacità di queste ultime di garantire, a fronte del pagamento di una tariffa adeguata, il provisioning in automatico di un numero di nodi computazionali e di memorizzazione adeguato a sostenere il livello di carico dell’applicazione. Tra le platform in-cloud oggi più note, possiamo citare Google AppEngine, Microsoft Azure e Amazon Elastic MapReduce. Ciascuna di queste vincola in modo più o meno specifi- co lo sviluppatore. La prima, per esempio, pur fornendo anche un runtime dedicato al linguaggio Python, si appoggia sulle caratteristiche di virtualizzazione della Java JVM, sulle Java Persistence API e su Java Data Objects. Azure, al contrario, si appoggia pesantemente su .net, sql server e SOAP. La platform in-cloud di Amazon, infine, si basa sul frame work open source Hadoop (http://hadoop.apache.org/), lo stesso che viene utilizzato da Yahoo!. Application In-Cloud Tra i molti esempi di application In-Cloud citiamo SalesForce e Ubikwiti (http://www.ubikwiti.com/) perché rappresentano un interes- sante risvolto del Cloud e del SaaS. Sono, infatti, applicazioni industriali - rispettivamente un CMR e un ERP - che vengono utilizzate da imprese che sostanzialmente mettono in outsourcing completamente una parte molto rilevante del proprio sistema informativo. L’ac- cessibilità via Web, o meglio Web 2.0, consente un set-up veramente minimale lato client che sostanzialmente necessita solamente di un browser delegando a tali provider le problematiche relative alla gestione dell’applicazione. accedere e utilizzare delle risorse computa- luzione del Grid Computing in quanto eredi- zionali organizzate in una “nuvola” (Cloud) di ta, mette insieme e rende omogenei in una calcolo. Il termine Cloud è volutamente vago singola visione concetti, tecnologie e intui- e sottende una tipologia di organizzazione zioni sviluppati nel corso degli anni in seno ai dell’infrastruttura di calcolo slegata teorica- più importanti progetti di Grid Computing mente da qualsiasi vincolo tecnologico. At- quali l’aggregazione di centri di supercalco- tualmente, i back-end utilizzati per il Cloud lo, la semplificazione al loro accesso tramite Computing impiegano tecniche di virtualiz- tecnologie web e l’utilizzo di tecniche di vir- zazione dell’hardware su cluster computa- tualizzazione dell’hardware. zionali singoli (Nimbus [17]), multipli (Eu- calyptus [18]) o aggregazioni di centri di cal- 4. ...E RIVOLUZIONE colo come per la Cloud proprietaria di Ama- zon che consentono di istanziare dinamica- Al di là di aspetti puramente tecnici che, in mente uno o più sistemi operativi al di sopra effetti, accreditano un’ipotesi evoluzionisti- 1 delle risorse fisiche e di organizzare tali risor- se in insiemi virtuali omogenei come, ad ca o, quantomeno, una diramazione origi- nata dal Grid Computing e, in particolare, esempio, cluster computazionali oppure da- dal segmento dell’Utility Computing, il 0 ta center (riquadro 3). Il Cloud Computing può quindi essere considerato come un’evo- Cloud può essere considerato rivoluziona- rio per quanto riguarda il modello di busi- 22 M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 1 0
0 ness. Sebbene si basi su uno schema esi- nazione di risorse baste sulla teoria dei gio- stente in ambito economico-finanziario, ta- chi, valute virtuali e intermediari [19], non le schema non è mai stato adottato prima c’è ancora stato uno sviluppo significativo per “vendere” distributed computing. Il mo- della Grid-economy. Questo fatto è in dello è quello delle utility di larga scala do- realtà legato anche all’ambito, orientato al- ve, data un’infrastruttura in produzione, la ricerca, da cui provengono le Grid che in- l’incremento del numero di utenti ha un co- duce una logica project-based, la quale sta- sto quasi nullo ma moltiplica enormemente i profitti e al contempo contribuisce alla ri- bilisce a priori il livello di coinvolgimento in termini di risorse dei partner in una Grid. Va 1 duzione dei prezzi. Questo modello è uni- notato che questo non esclude lo sfrutta- versalmente utilizzato per fornire accesso mento commerciale del Grid computing co- all’elettricità, al gas, all’acqua e alla connet- me testimoniano le attività di aziende come tività a rete telefonica e Internet nelle abita- Entropia, Platform e l’italiana Nice che rea- zioni degli utenti finali. Il Cloud Computing lizzano Grid private, ritagliate sulle esigen- aggiunge a questa lista CPU time e massive storage. Amazon, il soggetto che per primo ze dei propri clienti. Da questo modello di business viene riflesso 0 ha commercializzato questa nuova utility, un utilizzo senz’altro rivoluzionario ed esclusi- offre due tipi di servizio: Compute Cloud vamente commerciale delle tecnologie già EC2 e Data Cloud S3. Il primo consente di adottate nel Grid. Infatti, l’utilizzo di tecnologia prenotare, configurare e istanziare insiemi Web-based congiuntamente alle tecniche di di macchine per il periodo desiderato. Con il virtualizzazione dell’hardware nel Cloud Com- secondo si ha accesso a uno spazio di stora- puting consente: ge praticamente illimitato. L’unico requisito 1. la fornitura di servizi computazionali con è avere una carta di credito. una granularità di tariffazione significativa- Al contrario, il modello di business alla ba- mente piccola; se del Grid Computing è community-based. 2. l’adozione di Service Level Agreements Quando un’istituzione decide di unirsi a (SLAs) affidabili anche a fronte della sopra ci- una Grid cede l’accesso esclusivo alle risor- tata granularità di tariffazione. se di calcolo condivise ma, al contempo, Nel Grid, l’adozione di queste tecnologie ha si- acquisisce la possibilità di accedere a un gnificati diversi che non sono legati diretta- numero di risorse potenzialmente molto mente allo sfruttamento commerciale e, inol- più alto. Per esempio TeraGrid riunisce do- tre, non sono stati armonizzati in una singola dici centri di supercalcolo appartenenti ad visione come nel Cloud. Se da un lato c’è una altrettanti istituti di ricerca universitari in condivisione di intenti nell’adozione di inter- USA. Ai supercalcolatori condivisi hanno facce basate su standard Web al fine di sempli- accesso tutti i partecipanti che guadagna- ficarne l’accesso, che nel caso del Cloud inclu- no una potenziale potenza di calcolo irrag- dono anche il non trascurabile billing dell’uti- giungibile con un singolo cluster. L’accesso lity, per quanto riguarda la virtualizzazione vi è esclusivo ceduto a un insieme di utenti più un’evidente distinzione. ampio può ottimizzare l’utilizzo delle risor- L’intersezione tra Grid e virtualizzazione se che non restano più inattive e l’aumen- dell’hardware ha migliorato grandemente la tata capacità computazionale consente di capacità di configurazione offerta agli uten- affrontare sfide e problemi di complessità ti, ovviamente ove questa è richiesta come altrimenti impossibili. In realtà sono stati nella sperimentazione di distributed com- proposti modelli di Grid economy per crea- puting su larga scala. È chiaro, infatti, che re un’infrastruttura globale con il supporto l’uso di hardware virtualizzato non porti be- del trading, della negoziazione, del provi- nefici prestazionali: a parità di hardware di- sioning e dell’allocazione di risorse sulla base del livello di servizio fornito, dei costi sponibile, il livello prestazionale ottenibile da ciascuna di N macchine virtuali è inferio- 1 e delle richieste degli utenti. Sebbene sia- re a 1/N. Questo degrado, per quanto picco- no stati anche applicati in pratica modelli economici per lo scambio di risorse, coordi- lo possa essere, è comunque dovuto alla presenza dell’overhead di virtualizzazione e 0 23 M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 1 0
0 alla presenza di N istanze di sistema opera- ereditati dal Grid Computing, rimangono so- tivo. Quindi, per il Grid Computing, l’adozio- stanzialmente irrisolti e che si pongono come ne della virtualizzazione significa principal- seri ostacoli ad un significativo livello di ado- mente la possibilità di generare configura- zione del Cloud Computing. zioni di test per lo sviluppo delle applicazio- Non forniremo qui una lista esaustiva, ma ci li- ni che poi saranno eseguite sull’hardware miteremo a citarne due: uno acuito dall’inno- reale. Al contrario, in ambito Cloud Compu- vativo business model proprio del Cloud Com- 1 ting, l’adozione della virtualizzazione è uno degli aspetti nodali. Questo fatto, quindi, puting e uno strettamente ereditato dal Grid Computing. deve sottolineare come esista un aspetto ri- Il primo, megalitico ostacolo alla diffusione voluzionario nell’insieme di applicazioni del modello del Cloud Computing è rappre- che Cloud Computing si propone di affron- sentato dal problema del downtime. Tutti ci tare. Infatti, se il target di Grid è nelle appli- ricordiamo la definizione di Lamport di un cazioni di tipo Grand Challenges, Cloud sistema distribuito: “you know you have 0 Computing cancella questa deriva per ripor- tare il fuoco sulle web-application vendibili one when the crash of a computer you have never heard of stops you from getting any anche loro stesse come servizi e, di fatto, ri- work done”. pristinando la visione di computazione co- Questa può riassumere la prima ragione di dif- me pubblica utilità che, seppure messa da ficoltà dei sistemi di Cloud Computing: è estre- parte dalle successive evoluzioni dei princi- mamente difficile per un’azienda rinunciare pali progetti di Grid, è stata la parola chiave completamente al controllo di una componen- del Grid Book [7]. Da questo punto di vista, te vitale del suo core business. in sintesi, la rivoluzione è forse più assimila- Seppure questo approccio possa derivare bile ad una restaurazione degli obiettivi ini- da una reazione non meditata, è pur sempre ziali, ma rimane tuttavia un cambiamento di vero che tutti i principali sistemi di Cloud fuoco estremamente significativo. Computing sono incorsi negli ultimi anni in episodi di interruzione del servizio che, sep- pure nella maggior parte dei casi non siano 5. NUVOLA O TAPPETO: MARKETING PER NASCONDERE stati catastrofici, hanno limitato significati- I PROBLEMI IRRISOLTI? vamente l’operatività di chi da loro dipende- va (Figura 3 [21]). Per questa ragione e per il Per quanto il Cloud Computing possieda alcu- fatto che la reputazione di solidità si co- ni aspetti rivoluzionari in termini di business struisce con estrema difficoltà ma si di- model, esistono ancora diversi problemi che, strugge in un solo sfortunato incidente, l’a- 1 0 FIGURA 3 Incidenti causa di downtime per sistemi Cloud nel 2008 24 M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 1 0
0 dozione massiccia di sistemi di Cloud Com- Bibliografia puting per i servizi vitali di un’azienda è an- [1] Lin G., Dasmalchi G., Zhu J.: Cloud Computing cora piuttosto difficile. and IT as a Service: Opportunities and Challen- Un secondo problema irrisolto per il Cloud ges. Proc. of the IEEE International Conference Computing è quello del modello di program- on Web Services, 23-26 Sept. 2008. mazione. Seppure sia vero che Cloud Com- [2] Erdogmus H.: Cloud Computing: Does Nirvana puting è stato spesso associato alle web ap- Hide behind the Nebula?, IEEE Software, Vol. plications e quindi ad un modello di pro- 26, Issue 2, March-April 2009 p. 4-6. grammazione di non estrema complessità, è [3] Aa.vv.: Twenty Experts Define Cloud Computing. 1 altrettanto vero che questo modello (sia esso SYS-CON Media Inc, http://cloudcomputing.sys- Map Reduce, sia esso Farmer Workers) si ba- con.com/read/612375_p.htm, 2008 sa sull’intrinseca mancanza di comunicazio- [4] Aa.vv.: The Open Grid Forum. http://www.ogf.org/ ne tra i task paralleli. Questa caratteristica, [5] Aa.vv.: Enter the Grid website. se anche è facilmente riscontrabile nella http://enterthegrid.com/ maggior parte dei processi di ricerca di pat- tern all’interno di un data set di grandi di- [6] Gentzsch W.: Grids are dead! Or are they? On Demand Enterprise feature article, June 2008, 0 mensioni, non è generalizzabile a tutte le ap- http://www.on-demandenterprise.com/featu- res/26060699.html?viewAll=y plicazioni e rimanda quindi allo stesso pro- blema con cui si è precedentemente scontra- [7] Foster I., Kesselman C.: The Grid: Blueprint for a to il Grid Computing: la programmazione pa- New Computing Infrastructure. Morgan Kauf- mann, San Francisco, 1999. rallela è difficile. [8] Grossman R.L.: The Case for Cloud Computing. IT Professional, Vol. 11, Issue 2, March-April 2009, 6. CONCLUSIONI p. 23-27. [9] Dean J., Ghemawat S.: MapReduce: Simplified Se si guarda oltre la nube (gioco di parole Data Processing on Large Clusters. Proc. Of intenzionale) di marketing che oggi esalta il Sixth Symposium on Operating System Design Cloud Computing (The Economist, nell’Otto- and Implementation, San Francisco, CA, De- bre 2008 scrive un articolo che descrive cember, 2004. l’avvento del Cloud Computing con le stesse [10] Armbrust M., Fox A., Griffith R., Joseph A.D., enfatiche parole usate alcuni anni orsono Katz R., Konwinski A., Lee G., Patterson D., per il WorldWideWeb), un aspetto rivoluzio- Rabkin A., Stoica I., Zaharia M.: Above the Clouds: A Berkeley View of Cloud Computing. nario del Cloud Computing può essere tro- www.eecs.berkeley.edu/Pubs/TechRpts/2009/ vato nel modello di business da esso impli- EECS-2009-28.pdf cato. La capacità di fornire un ambiente di [11] Aa.vv.: Sito web di Google AppEngine. esecuzione che sia: http://code.google.com/appengine/ 1. ritagliato su misura della vostra applica- [12] Aa.vv.: Sito web di Microsoft Azure. zione; http://www.microsoft.com/azure/windowsa- 2. isolato e protetto da interferenze di altre zure.mspx applicazioni; [13] Aa.vv.: Sito web di Amazon Elastic MapReduce. 3. disponibile a richiesta in tempi molto rapidi; http://aws.amazon.com/elasticmapreduce/ 4. tariffato con granularità fine (e.g. ad ore); [14] Aa.vv.: The EGEE2 Project. http://egee2.eu- rappresenta effettivamente un passo signifi- egee.org/ cativo verso l’idea di computazione come ser- [15] Aa.vv.: The Globus Project. http://www.globus.org/ vizio di pubblica utilità preconizzato nel blue [16] Aa.vv.: Nimbus. http://workspace.globus.org/ book del Grid Computing [7] ed ancor prima da Leonard Kleinrock [22]. Nonostante que- [17] Aa.vv.: Eucalyptus Systems. http://www.eucalyptus.com/ sto, esiste ancora un insieme di problemi irri- solti, semplicemente ereditati dal Grid Com- puting, che limitano, ad oggi, l’uso del Cloud [18] Buyya R., Yeo C.S., Venugopal S., Broberg J., Brandic I.: Cloud computing and emerging IT 1 platforms: Vision, hype, and reality for delive- Computing e lo tengono ancora a significati- ring computing as the 5-th utility. Future Ge- va distanza dal traguardo di diventare la quinta public utility. neration Computer Systems, Vol. 25, 2009, p. 599-616. 0 25 M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 1 0
0 [19] Aa.vv.: Amazon Elastic Compute Cloud. vergence of Peer-to-Peer and Grid Computing. Proc. http://aws.amazon.com/ec2/ of the 2-nd InternationalWorkshop on Peer-to-Peer Systems, 20-21 February 2003, Berkeley, CA, USA. [20] Aa.vv.: Cloud Computing: Incidents Database. http://wiki.cloudcommunity.org/wiki/CloudCo [23] Ganguly A., Wolinksky D.I., Boykin P.O., Figueire- mputing:Incidents_Database do R.: Improving Peer Connectivity in Wide-area Overlays of Virtual Workstations. Proc. of the 7- [21] Kleinrock L.: A vision for the Internet. ST Journal th International Symposium on High Performan- of Research, Vol. 2, n. 1, 2005, p. 4-5. ce Distributed Computing, 23-27 June 2008, Bo- 1 [22] Foster I., Iamnitchi A.: On Death,Taxes, and the Con- ston, MA, USA. 0 MAURO MIGLIARDI è nato a Genova nel 1966. Dopo essere stato uno dei principali ricercatori del progetto HAR- NESS per il meta e Grid computing presso la Emory University di Atlanta, è stato ricercatore universitario pres- so l’Università di Genova ed è ora Professore associato presso l'Università di Padova. Mauro Migliardi ha pub- blicato oltre ottanta articoli scientifici soggetti a peer-review e ha tra i suoi principali interessi di ricerca le tec- nologie e le metodologie per la progettazione e lo sviluppo di sistemi software distribuiti complessi. E-mail: mauro.migliardi@unipd.it ROBERTO PODESTÀ si è laureato in Ingegneria Informatica nel 2003 e ha conseguito il dottorato in Scienze e Tec- nologie dell’Informazione nel 2007 presso l’Università di Genova. I suoi interessi scientifici riguardano le ar- chitetture software distribuite e le tecniche di programmazione concorrente e parallela. Dopo una breve espe- rienza in Australia verso la fine del dottorato presso il GridsLab dell’università di Melbourne, è tornato a Ge- 1 nova collaborando in un progetto congiunto tra l’università e Telecom Italia. Nel settembre 2007, ha vinto un post-doc bandito dall’ERCIM (European Reseach Institute for Informatics and Mathematics) e si è quindi tra- sferito all'INRIA (Institut National de Recherche en Informatique et en Automatique) nella sezione a sud di Pa- rigi. L’anno successivo è stato confermato all’INRIA con una posizione da expert engineer. La sua attività si 0 concentra sulla progettazione di middleware all’interno del principale progetto francese di cloud computing. E-mail: ropode@gmail.com 26 M O N D O D I G I T A L E • n . 1 - m a r z o 2 0 1 0
Puoi anche leggere