E-LEARNING E CLOUD COMPUTING Marcello Castellano, Francesco Antonio Santangelo Politecnico di Bari Via E. Orabona, 4 – 70125 Bari [email protected] [email protected] FULL PAPER ARGOMENTO: Aziende e reti di formazione - Aspetti tecnici Abstract Negli ultimi anni, l’impiego delle tecnologie ICT per l’e-Learning è aumentato in modo considerevole, creando anche le condizioni per la sperimentazione e lo studio di nuove e originali metodologie di apprendimento. Nel settore dei sistemi informatici si è passato da un approccio monolitico incentrato su un unico sistema centralizzato a quello distribuito su diverse scale spaziali ed economiche. La connessione dei diversi dispositivi tra loro e l’adozione di soluzioni per l’interoperabilità tra piattaforme eterogenee rappresentano i principali problemi affrontati con relative soluzioni proposte. L’approccio distribuito ai sistemi informatici ha dato notevole impulso allo sviluppo di modelli organizzativi basati sulla collaborazione, convenienti per nuove economie di scala e per una riduzione dei tempi di risposta. Nello scenario digitale, l’uso di forme organizzative vantaggiose permette lo sviluppo di nuovi processi di business con l’obiettivo di offrire soluzioni sottoforma di servizi. Il Cloud Computing è un recente modello organizzativo delle tecnologie informatiche il cui obiettivo è quello di offrire risorse di tipo hardware, software e infrastrutturali come servizi con le caratteristiche di scalabilità, flessibilità e di erogazione in tempo reale. In questo lavoro si discuterà dell’e-Learning on cloud come un possibile modello a valore aggiunto per la realizzazione e l’utilizzo dell’e-Learning attraverso l’approccio del Cloud Computing. Keywords – E-Learning, Cloud Computing, Moodle. 1 INTRODUZIONE Con l’inizio del 21° secolo si è assistito ad un rapido boom dello sviluppo di computer connessi in rete, rendendo così le tecnologie dell’informazione sempre più pervasive nella nostra vita quotidiana [1]. La scuola, l’università, i centri di formazione professionale sono oggi chiamati ad un adeguamento sia tecnologico che organizzativo, per migliorare la qualità della didattica ed i risultati dell’apprendimento, in un contesto flessibile, bisognoso di competenze specifiche e di sempre più aggiornati piani formativi. Inoltre, le nuove forme comunicative hanno permesso lo sviluppo di un apprendimento sociale il cui valore sembra essere non trascurabile. Il vantaggio introdotto dall’ICT si confronta con le economie organizzative e con il corretto approccio del riuso delle risorse formative e computazionali già in essere. In sintesi, quindi, si può affermare che emergono due dimensioni di apprendimento diverse: 1. la dimensione tecnologica dell’apprendere attraverso la rete: Internet, reti di computer; utilizzo di dispositivi eterogenei; 2. la dimensione sociale dell’apprendere in rete: reti di persone, reti di relazione e collaborazione fra individui. G. Fiorentino (Ed) – MoodleMoot Italia 2012 - Livorno – 2012 – ISBN 978-88-907493-0-8 L’e-Learning riguarda quel settore di ricerca e sviluppo il cui obiettivo è lo studio sistematico delle nuove tecnologie ICT a supporto dei processi formativi. Negli ultimi venti anni si è assistito ad una evoluzione del settore che può essere così di seguito riportata [2]: 1985 - 1995: sistemi di prima generazione – Sono caratterizzati da un forte utilizzo di applicativi e componenti offline, genericamente identificati come CBT, Computer Based Training. Contenuti didattici ed applicazioni software sono distribuite ai discenti su media offline, quali floppy e CD-ROM, ed hanno esigenze e caratteristiche di interoperabilità molto limitate. 1995 - 2000: sistemi di seconda generazione – Le soluzioni CBT dei sistemi di prima generazione, a seguito della rapida espansione del web, sono rapidamente migrate su piattaforme online (WBT, Web Based Training), con contenuti paragonabili ai sistemi CBT ma più condivisibili, distribuiti e manutenibili grazie all’utilizzo delle tecnologie web. Questi sistemi hanno il limite di risultare chiusi dal punto di vista architetturale e di essere caratterizzati da una bassa interoperabilità e migrabilità di dati e contenuti. Essi offrono all’utente le possibilità di navigazione ipertestuale e di limitata personalizzazione dei percorsi formativi. Fine anni ’90 - oggi: sistemi di terza generazione – Tali sistemi sono in linea con la generale tendenza registrata nel settore ICT di adottare un approccio modulare (basato su componenti) nella progettazione e realizzazione di sistemi informativi complessi. L’approccio a componenti nella costruzione delle piattaforme e-Learning consente di ottimizzarne i singoli moduli sulla base delle specializzazioni dei singoli prodotti/fornitori e di integrare, manutenere e aggiornare moduli e contenuti aggiuntivi, salvaguardando gli investimenti sostenuti e permettendo una maggiore efficacia delle soluzioni tecnologiche adottate. I sistemi e-Learning di terza generazione propongono sistemi in cui l’interoperabilità dei contenuti e dei servizi diventa la componente tecnica prioritaria. Una volta garantita tale interoperabilità si potranno selezionare i prodotti ed i fornitori che danno la risposta migliore per la singola funzione o contenuto che si desidera integrare, valorizzandone così le caratteristiche specifiche. In momenti successivi si potranno poi cambiare e sostituire quelle componenti non rispondenti all’utilizzo specifico e alle esigenze eventualmente mutate. Una conseguenza della diffusione dell’e-Learning è stata quella di dare vita anche al mercato delle tecnologie per l’e-training, un mercato che è in rapida e continua espansione e che vede l’affermarsi a livello mondiale di alcuni importanti vendor di piattaforme di Learning Management System (LMS). Queste piattaforme costituiscono la soluzione tecnologica che, insieme all’affermarsi dello standard web e al significativo miglioramento della connettività, abilitano e supportano l’e-Learning. Una piattaforma LMS allarga la copertura del processo formativo oltre il delivery dei contenuti e porta in primo piano la componente di management: consente, infatti, di gestire in maniera integrata e coordinata, su rete Intranet o Internet, anche il sistema di analisi, sviluppo e valutazione delle competenze, la pianificazione e l’organizzazione dei curricula e dei percorsi formativi, l’intera offerta formativa (tradizionale e non), la strutturazione dei ruoli e delle classi virtuali, il tracking dei processi, la valutazione dei risultati, fornendo un ampio e articolato sistema di reporting [3]. In più di dieci anni gli LMS si sono qualificati come la struttura base, la piattaforma dell’e-Learning. Mentre ancora dieci anni fa aveva senso usare anche la posta elettronica per fare formazione a distanza, oggi lo scambio di e-mail rappresenta, in un contesto di e-Learning, un fattore negativo. Gli LMS rappresentano quindi un punto di non ritorno dell’e-Learning, una logica irrinunciabile per la gestione di un corso a distanza: come aggregatore-accumulatore di conoscenza e saperi; come sistema di interazione e scambio “all-in-one”; come canale personalizzato di distribuzione di contenuti anche “pesanti”; come sistema di monitoraggio completo e sofisticato. Quattro buone ragioni, ma non le sole, per cui tutte le organizzazioni che hanno investito su un sistema LMS, semplice o complesso che sia, proprietario o open source, non vedano oggi possibile invertire questa tendenza e recederne dal loro utilizzo [4]. A ben vedere i cambiamenti in atto ci sono e sono molti. In questi anni però il panorama del web, dal quale l’e-Learning trae la materia prima su cui lavorare, è profondamente cambiato. Se è innegabile l’aumento della popolazione connessa in rete, è tuttavia vero che sempre più persone si accostano MoodleMoot Italia 2012 2 alla comunicazione nel web tramite reti sociali, servizi di acquisito, servizi di informazione e di comunicazione. Che moltissimi servizi ormai prevedono la personalizzazione e la selezione dell’informazione. Quanto detto ci fa capire che l’evoluzione dei sistemi di e-Learning non può avvenire a prescindere dagli investimenti già fatti e pertanto ogni ulteriore integrazione e sviluppo, tanto più radicale quando di “nuova generazione” si parla, debba necessariamente avvenire nell’ambito di una evoluzione marcata dei sistemi LMS. Le ragioni di questa evoluzione vanno ricercate proprio nelle insufficienze e nelle rigidità che gli LMS di oggi fanno registrare, e sulle nuove istanze che si stanno consolidando sia nel campo dell’e-Learning che in quello del web. La composizione di un ambiente di apprendimento coinvolge utenti, ruoli e risorse, che possono essere differenziate sia in risorse di apprendimento che in risorse di calcolo. La personalizzazione delle risorse rappresenta una funzione centrale per i framework che costituiscono gli ambienti di apprendimento. Maggiore è la disponibilità delle risorse esistenti da cui poter scegliere, tanto più personalizzato sarà l’ambiente di apprendimento che si sta componendo. Questa possibilità viene garantita se e solo se i diversi framework per ambienti di apprendimento possono tra loro comunicare. In altri termini questo significa richiedere l’interoperabilità dei componenti costituenti i diversi framework. Un approccio basato sul Grid Computing consente di virtualizzare le risorse in servizi ondemand [5]. Il Grid Computing trae le proprie origini dalla definizione di calcolo distribuito su vasta scala, e si estende per realizzare un’ampia, flessibile e sicura condivisione delle risorse, coordinandola tra collezioni dinamiche di individui, istituzioni e risorse. Queste caratteristiche costituiscono un contesto ideale per realizzare e soddisfare gli esigenti requisiti per la definizione di ambienti di apprendimento collaborativi, fornendo loro importanti vantaggi come un’estesa distribuzione geografica delle risorse, l’utilizzo di amministrazioni multiple per le diverse organizzazioni, l’accesso trasparente alle risorse, e così via. Per questo motivo viene introdotto il termine infrastruttura service-oriented, al fine di definire la gestione delle risorse ed i relativi meccanismi di erogazione utilizzati per soddisfare gli obiettivi di qualità del servizio, sia per i componenti che per le applicazioni. I servizi di Grid sono servizi essenzialmente Web, con la caratteristica fondamentale di possedere specifiche estensioni e ben determinate al fine di poter essere operativi in un ambiente di virtualizzazione delle risorse [6]. Il Cloud Computing rappresenta un’evoluzione che raccoglie ed armonizza in un’unica infrastruttura / piattaforma tutti questi aspetti tecnologici. Questa evoluzione architetturale è coincisa essenzialmente con la nascita di tre fenomeni principali dei sistemi e-Learning: l’elevata produzione di learning object; l’affermazione di tecnologie informatiche per lo scambio di dati tra sistemi e per l’interoperabilità tra i servizi delle applicazioni software sul web; la definizione di specifiche e di standard di interoperabilità per il settore e-Learning, riconosciuti e condivisi su scala internazionale. In pratica, oggi non ha più senso identificare un sistema e-Learning in una singola piattaforma monolitica e omnicomprensiva. Tale sistema va piuttosto concepito come un insieme costituito da più componenti e sottocomponenti software interoperabili (grazie all’adozione di specifiche e modelli di riferimento internazionali) ed ottimizzato per gestire razionalmente le attività eterogenee che un processo formativo in modalità e-Learning può sottendere [2]. In questo modo ci avviamo verso una quarta generazione di sistemi e-Learning, basati principalmente sui paradigmi del Cloud Computing, il quale eredita sicuramente alcuni dei più importanti concetti nati in seno al Grid Computing nell’ultimo decennio [7]. Tali concetti sono sviluppati ed integrati a tal punto da poter considerare – almeno sotto certi aspetti – il Cloud Computing come un fenomeno evolutivo del Grid. Seppur un vero consenso sulla definizione di Cloud Computing non sia stato ancora raggiunto, vi è una generica convergenza [8] sulla possibilità di definire tre principali livelli di visione della nuvola: Application as a Service (AaaS, o anche SaaS): è il livello delle applicazioni in-Cloud. Punto di forza di queste applicazioni è che la loro scalabilità risiede esclusivamente nella struttura di accesso e nella capacità di manipolare grandi moli di dati non necessariamente in relazione tra loro. Platform as a Service (PaaS): è il livello delle piattaforme in-Cloud, sviluppo più recente del Cloud Computing. La caratteristica principale di questo tipo di nuvola è quella di fornire delle interfacce per la programmazione delle applicazioni (API) specifiche secondo le quali MoodleMoot Italia 2012 3 sviluppare applicazioni orientate ad essere usufruite come servizi via web ed un’interfaccia web per ottenere l’installazione di tali applicazioni sulle risorse computazionali della Cloud in modo che il livello di risorse necessarie per mantenere una qualità di servizio definita possa essere deciso, fornito e gestito dalla Cloud stessa. Infrastructure as a Service (IaaS): è il livello dell’infrastruttura in-Cloud. In questo caso, il gestore della Cloud possiede solo l’infrastruttura di calcolo e non pone alcun vincolo né sul tipo di applicazione che l’utente eseguirà, né sulla tecnologia da lui utilizzata per sviluppare tale applicazione. In questa situazione la virtualizzazione ha un ruolo chiave. Con il Cloud Computing, quindi, si tende a dare una grande rilevanza ad un’interfaccia semplice e basata su tecnologie web (cioè Cloud Interface), attraverso cui è possibile accedere ed utilizzare delle risorse computazionali organizzate in una “nuvola” di calcolo. Il Cloud può essere considerato rivoluzionario per quanto riguarda il modello di business: sebbene si basi su uno schema esistente in ambito economico-finanziario, tale schema non è mai stato adottato prima per “vendere” distributed computing. Il modello è quello delle utility di larga scala dove, data un’infrastruttura in produzione, l’incremento del numero di utenti ha un costo quasi nullo ma moltiplica enormemente i profitti e al contempo contribuisce alla riduzione dei costi. Al contrario, il modello di business alla base del Grid Computing è community-based. Quando un’istituzione decide di unirsi a una Grid cede l’accesso esclusivo alle risorse di calcolo condivise ma, al contempo, acquisisce la possibilità di accedere ad un numero di risorse potenzialmente molto più alto [9]. Una caratteristica importante del Cloud Computing è il pagamento in base all’utilizzo dei servizi: l’utente può sfruttare i servizi cloud su richiesta, scegliendo il fornitore ed i servizi che ritiene opportuno a seconda delle proprie necessità, e può richiedere l’utilizzo delle risorse solo quando necessarie e solo per il tempo necessario. L’utente verrà poi addebitato dai fornitori di servizi solamente in base all’effettivo sfruttamento delle risorse stesse. Questa caratteristica permette all’utente un notevole risparmio sulle risorse ICT, in quanto può ridurre la quantità di risorse elaborative presenti presso le sue strutture e conseguentemente il personale per la loro gestione, trasferendo al fornitore di servizi il rischio di inutilizzo delle stesse. Le applicazioni di Cloud Computing per l’educazione saranno il futuro delle infrastrutture ICT per la didattica e l’insegnamento, includendo in questo anche lo studio richiesto per lo sviluppo di ambienti software ed ambienti hardware opportunamente definiti per ampliare sempre di più le risorse che la “nuvola” mette a disposizione [10]. 2 CLOUD COMPUTING ED E-LEARNING Negli ultimi anni, l’impiego di tecnologie e-Learning è aumentato considerevolmente, introducendo nuove metodologie di apprendimento basate principalmente su piattaforme software sempre più personalizzabili. Per quanto concerne l’erogazione dei contenuti multimediali di cui tali corsi sono costituiti, l’elevata richiesta di storage e di capacità computazionale, affiancate spesso a problematiche economiche inerenti i budget disponibili, hanno portato all’adozione, sempre più frequente, di soluzioni esternalizzate. Il Cloud Computing rappresenta, pertanto, un nuovo approccio per la fornitura di risorse ICT sotto forma di servizi accessibili via rete. In pratica, oggi non ha più senso identificare un sistema e-Learning in una singola piattaforma monolitica e omnicomprensiva. Tale sistema va piuttosto concepito come un insieme costituito da più componenti e sottocomponenti software interoperabili (grazie all’adozione di specifiche e modelli di riferimento internazionali) ed ottimizzato per gestire razionalmente le attività eterogenee che un processo formativo in modalità eLearning può sottendere. La formazione a distanza rappresenta ormai una risorsa strategica per le aziende. Si tratta di un mercato esigente che richiede flessibilità, qualità elevata e tempi di realizzazione quanto più possibile brevi. Le soluzioni Cloud consentono di erogare in modo continuativo servizi e-Learning di alto profilo tecnologico godendo di un risparmio economico davvero elevato. Attraverso la tecnologia di Cloud Computing le risorse hardware e software vengono fornite come servizio, tipicamente scalabile e in modalità real-time. La fase di passaggio verso il Cloud Computing sta delineando nuove categorie di servizi ICT che consentono di creare applicazioni, database e servizi Web di qualunque genere, garantendo storage, backup, data replication, data protection, security, etc. Grazie all’impiego di esse è possibile evitare ingenti costi infrastrutturali per l’acquisto, la manutenzione, il supporto e/o l’aggiornamento delle stesse infrastrutture informatiche. Il Computing nella “nuvola” è giustificato dal fatto che, poiché le risorse di software e di hardware diventano obsolete nel corso di un breve periodo MoodleMoot Italia 2012 4 di tempo, l’uso di piattaforme computazionali di terzi rappresenti la soluzione ideale per i problemi delle infrastrutture. Per utilizzare i loro sistemi l’utente non ha bisogno di risorse di calcolo di alto livello, né software né hardware, riducendo così il costo dell’acquisto dei macchinari. Nel settore educativo l’utilizzo della tecnologia cloud è giustificata quindi dal fatto che alle informazioni si può accedere da qualsiasi luogo, disponendo così dell’elasticità delle risorse e di un ampio accesso tramite i nuovi dispositivi presenti sul mercato come notebook, netbook, personal computer, smartphone, tablet o PDA. I principali vantaggi di una migrazione al Cloud Computing sono dunque legati al taglio dei costi di sviluppo, nonché alle diverse prestazioni [11, 12]: Interoperabilità – capacità di sviluppare con diverse piattaforme software; Elevata capacità di calcolo – capacità di HPC (elevata elaborazione di calcolo); Dati in cloud – sicurezza e capacità di storage enorme sui server; Riduzione dei costi, tramite il pay per use (senza l’utilizzo delle licenze); Rapida implementazione del sistema, per adattarlo velocemente o modificandolo del tutto; Possibilità di tagliare i costi fissi, consentendo il loro cambiamento in costi variabili. Pertanto, dopo aver visto una seppur semplicistica conoscenza del principio e delle caratteristiche del Cloud Computing, possiamo facilmente riassumere i benefici che ne scaturiscono per gli ambienti di apprendimento [13]: Sicurezza, il Cloud Computing offre uno storage per i data-center più affidabile e sicuro. Gli utenti non devono preoccuparsi della perdita dei dati, degli attacchi dei virus e di altri problemi. La “nuvola” gestisce le informazioni con l’ausilio di team formati da professionisti. Inoltre, una rigorosa strategia sulla gestione dei diritti può aiutare a condividere questi dati. Convenienza, perché richiede un costo minimo per i dispositivi terminali degli utenti. Che inoltre sono più facili e comodi da usare. Non è necessario scaricare software e dati, o aggiornare dinamicamente nel lato della “nuvola”. È possibile accedere ai servizi cloud in qualsiasi momento e ovunque solo con un dispositivo che si connette a Internet. Efficienza economica. Non si ha più bisogno di acquistare hardware costoso, ma solo di affittare le attrezzature per il Cloud Computing. E poi, la piattaforma di formazione potrebbe essere stabilita facilmente. Massimizzare l’efficienza di hardware e software può essere un obiettivo di facile portata. Calcolo ad alte prestazioni. Migliaia di computer connessi per formare un super server di servizi cloud, che fornisce gli utenti di una notevole potenza di calcolo e di una grande elaborazione dei dati, e che risultano difficili da realizzare per un semplice personal computer. Un vantaggio di tale approccio è innegabilmente anche quello di poter disporre (lato utente) di un sistema sempre aggiornato dal punto di vista tecnologico, e di poter rallentare la necessità di rinnovare il parco macchine interno, per essere al passo con la tecnologia e le esigenze di calcolo. Ovviamente tale approccio presenta anche dei “lati oscuri”. Alcuni fautori dei sistemi aperti [14] vedono nel Cloud Computing un ritorno al passato verso ambienti chiusi e proprietari, che a lungo termine porteranno al fenomeno del lock-in degli utenti su una specifica piattaforma proprietaria: possibili rischi riguardano, ad esempio, la perdita di controllo sui dati sensibili memorizzati nell’infrastruttura di un fornitore di Cloud Computing, la concentrazione dei servizi di Cloud Computing nelle mani di pochi grossi player, i disservizi, in alcuni casi già sperimentati dai grossi utenti di alcune attuali piattaforme, fatti che hanno contribuito a creare un certo scetticismo sull’affidabilità delle attuali soluzioni [15]. Risulta opportuno, inoltre, chiarire alcune idee sbagliate e puntualizzare cosa il Cloud Computing non è: Non è la “prossima generazione” e neppure un’alternativa ad Internet, ma un insieme di funzionalità che la complementano; Non è una fonte gratuita di illimitate risorse virtuali, ed il suo utilizzo dipende dall’adozione di determinate politiche, responsabilità, gestioni e costi; MoodleMoot Italia 2012 5 3 Esso “non conquisterà il mondo” e non renderà gli attuali data-center obsoleti: forse le aziende piccole e medie imprese avranno data-center ridondanti, ma le grandi organizzazioni e le istituzioni di insegnamento continueranno a lavorare grazie ad essi, in un’operazione congiunta con il Cloud Computing; L’interoperabilità tra le nuvole diverse non è ancora possibile, e la migrazione da una nuvola all’altra non è una semplice operazione, in quanto la tecnologia è ancora relativamente recente ed ha bisogno di evolvere; Non è possibile “chiudere un data-center di oggi” e “svegliarsi domani on the cloud”, poiché c’è un processo di migrazione che deve essere pianificato ed eseguito con cautela. I vantaggi rendono utile questa operazione ma resta ancora un’operazione di migrazione da un ambiente all’altro. MODELLI DI CLOUD COMPUTING PER L’E-LEARNING Il NIST (National Institute of Standards and Technology) [16] definisce il Cloud Computing come un “modello per l’abilitazione di accesso in maniera onnipresente, conveniente e on-demand ad una rete formata da un insieme di depositi condivisi di risorse di calcolo configurabili (ad esempio, reti, server, storage, applicazioni e servizi) che possono essere rapidamente sostituiti e forniti con uno sforzo minimo del gestore o del fornitore dei servizi di interazione. Questo modello di cloud promuove la disponibilità ed è composta da cinque caratteristiche essenziali, tre modelli di servizio e quattro modelli di distribuzione”. Le cinque caratteristiche essenziali sono: on-demand self-service, dove un consumatore può unilateralmente utilizzare la capacità di calcolo messa a disposizione in base alle proprie esigenze in maniera automatica e senza richiedere l’interazione umana con il fornitore del servizio; accesso ad una rete ampia, dove le funzionalità sono disponibili all’interno della rete e sono accessibili attraverso meccanismi standard, grazie all’uso di piattaforme eterogenee e client variegati, come telefoni cellulari, computer portatili e PDA; depositi di risorse, in cui sono raggruppate le risorse di calcolo del provider per servire più consumatori utilizzando un modello multi-tenant, con diverse risorse fisiche e virtuali assegnate in modo dinamico e riassegnate secondo le esigenze dei consumatori; rapida elasticità, in cui le capacità possono essere rapidamente ed elasticamente fornite, in alcuni casi automaticamente, e rapidamente rilasciate per scalare velocemente; servizio misurato, in cui i fornitori di servizi cloud possono controllare il funzionamento dell’infrastruttura in modo automatico, ottimizzando l’uso delle risorse, sfruttando una capacità di misurazione con un livello di astrazione appropriato per il tipo di servizio. I tre modelli di servizio sono, come abbiamo già visto: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) e Software as a Service (SaaS). Con IaaS, il consumatore, in base alle proprie esigenze, può effettuare il provisioning di elaborazione, di storage, dell’utilizzo di reti e di altre risorse informatiche, in modo che il consumatore sia in grado di distribuire, eseguire e controllare il software arbitrario (inclusi i sistemi operativi e le applicazioni), con un controllo eventualmente limitato alla selezione dei componenti di rete (ad esempio, firewall, host). Con PaaS, il consumatore può implementare sulla infrastruttura cloud creata sia le applicazioni sviluppate utilizzando i linguaggi di programmazione sia gli strumenti supportati dal provider cloud, in modo che il consumatore disponga del controllo sulle applicazioni distribuite e, eventualmente, sulle configurazioni dell’ambiente di hosting. Con SaaS, le applicazioni software del provider sono accessibili da parte del consumatore da vari dispositivi client attraverso un’interfaccia thin client come ad esempio un browser web, in cui il consumatore può eventualmente avere il controllo sulle impostazioni delle applicazioni utente con limitazioni specifiche di configurazione. Infine, i quattro modelli di distribuzione per il Cloud Computing: cloud privato, cloud comunitario, cloud pubblico e cloud ibrido. Quando l’infrastruttura cloud è di proprietà esclusiva di una organizzazione, che fornisce i servizi hosted ad un numero limitato di persone, si parla di un cloud privato, che può essere anche chiamato cloud interno o cloud aziendale. Ma quando l’infrastruttura cloud è condivisa da diverse organizzazioni, sostenendo una specifica comunità che ne condivide le diverse politiche (ad esempio, i requisiti di sicurezza o le considerazioni di conformità), allora questa si chiama cloud comunitario. Entrambi questi tipi di cloud possono essere gestiti dalle organizzazioni o da terze parti. Dall’altra parte, il cloud pubblico mette la sua infrastruttura cloud a disposizione del pubblico in generale, o di un grande gruppo, ed è di proprietà dell’organizzazione la vendita dei servizi cloud, che è quindi anche chiamato cloud esterno. Il cloud ibrido, infine, è una composizione di due o MoodleMoot Italia 2012 6 più modelli di cloud (privato, comunitario o pubblico) che rimangono entità uniche, ma che sono tenuti insieme dalla tecnologia standardizzata o di proprietà, consentendo la portabilità dei dati e delle applicazioni. In base a questi parametri risulta dunque opportuno iniziare a formalizzare dei modelli di Cloud Computing per l’insegnamento e la formazione: Modello Cloud Cube Model (CCM) proposto dal Jericho Forum [17]: questo modello si basa su 4 criteri (ovvero, dimensioni) per differenziare i diversi ambiti della formazione on cloud gli uni dagli altri, e le diverse modalità della loro disposizione. Il CCM utilizza 4 facce di un cubo (Figura 1), con due facce lasciate vuote e che non rappresentano alcun criterio. Questo elimina la simmetria del cubo e può creare confusione, quando si devono classificare i servizi cloud utilizzando la rappresentazione grafica di tale modello. Figura 1 – Il modello CCM proposto dal Jericho Forum Modello Complete Cloud Computing Formation (C3F) [18]: per preservare l’uso di un cubo con la sua simmetria, in cui ogni coppia di facce opposte rappresenta lo stesso criterio, il numero dei criteri è stato ridotto a tre (Figura 2). La riduzione consiste semplicemente nel ridurre due criteri del CCM originale in uno, con un conseguente nuovo modello di cloud computing, che può essere chiamato Complete Computing Cloud Formation (C3F). Come in CCM, altri attributi come “offshore” e “onshore”, anche se rilevanti, non sono stati considerati. Questo modello è basato su tre livelli, ognuno caratterizzato da diversi attributi. Figura 2 – Il modello C3F proposto da Alabbadi M.M. Grazie al supporto del Cloud Computing, gli elementi di base degli ambienti di apprendimento personali, quali testo, audio, video, test, e così via possono essere organizzati mediante il controllo e la gestione dei servizi cloud. Abbiamo solo bisogno di collegarci tramite il browser in maniera semplice e senza vincoli per creare un ambiente di apprendimento personalizzato con aule virtuali on-site, insegnanti e studenti connessi attraverso la rete in qualsiasi momento, che possono comunicare in qualsiasi luogo. Per la scuola, o per il generico ente di formazione, l’accesso a questi servizi di Cloud MoodleMoot Italia 2012 7 Computing diventa più semplice, senza la necessità di dover investire enormi risorse economiche per acquistare la licenza commerciale del software, l’onere degli aggiornamenti frequenti ed i relativi costi di manutenzione. Di conseguenza, la tecnologia dell’informazione nel settore dei servizi educativi deve essere anche nella direzione della diversificazione. La piattaforma di Cloud Computing permette di soddisfare le esigenze di questa diversità. 4 UN ESEMPIO DI MOODLE Illustriamo ora brevemente un esempio pratico di Moodle in grado di sfruttare le specifiche del Cloud Computing. Tale esempio, che predilige l’aspetto tecnologico, è stato sviluppato in Brasile grazie all’utilizzo di un’infrastruttura proprietaria, la quale offre la piattaforma tecnologica che gestisce i servizi. Nel corso degli anni si è assistito alla realizzazione di soluzioni che permettono a Moodle di diventare “distribuito”. Il primo scenario che può essere preso in considerazione è quello fornito da Moodle Network (MNet) [19], parte integrante di Moodle, che consente di creare un collegamento tra una data piattaforma Moodle ed un’altra, e permette agli utenti della seconda piattaforma di accedere alle risorse presenti sulla prima. Una seconda soluzione è quella che prevede l’uso di Shibboleth [20], ovvero di un framework open source basato su SAML (Security Assertion Markup Language), uno standard costruito su XML e finalizzato allo scambio di informazioni di autenticazione ed autorizzazione tra organizzazioni. Moodle prevede nativamente un plugin di autenticazione in grado di comunicare con la installazione del framework Shibboleth. 4.1 Moodle 2 Azure Si tratta di un esperimento sviluppato dall’LTIA (Laboratorio di Informatica Applicata) del Dipartimento di Computer Science della State University of Sao Paolo, in Brasile. Consiste nello sviluppo di applicazioni open source per la migrazione di Moodle al Cloud Computing [9]. L’obiettivo è quello di utilizzare i benefici derivanti dall’utilizzo del Cloud Computing per le tecnologie dell’Informazione e della Comunicazione per l’educazione e la formazione. Due vantaggi molto importanti ed evidenti riguardano, da un lato la libertà e la flessibilità che le istituzioni responsabili dell’insegnamento possono guadagnare dall’essere “scollegati” dal mondo fisico dei loro data-center ed essere invece connessi in un mondo virtuale / logico, dove tutto è possibile grazie alle varie opzioni di attuazione della strategie di Cloud Computing; e dall’altro l’interoperabilità, ovvero la capacità di integrazione dei diversi sistemi della piattaforma (Windows e Linux, Linux e Windows), una qualità intrinseca dei servizi cloud relativi alle piattaforme. L’interoperabilità garantisce maggiore libertà alle organizzazioni. Il controllo di accesso differenziato richiesto tra studenti e professori può essere implementato facilmente su un framework Software as a Service, che non dipende dalle applicazioni client e, soprattutto, può essere installato, gestito, riconfigurato e modificato senza difficoltà, in modo centralizzato, a migliaia di studenti in tutto il paese. E, cosa molto importante, in questo modo non vengono consumati inutilmente hardware e risorse che generalmente rappresentano una barriera significativa per i centri di formazione, con una grave sproporzione tra il numero degli studenti ed il numero di professori. Un’altra questione da considerare è che in situazioni di utilizzo medio, migliaia di utenti che accedono ad Internet operano su centinaia di siti diversi, distribuendo statisticamente il traffico sulla rete e il carico sui server che ospitano i servizi. Un’attività educativa, utilizzando un ambiente virtuale che ospita un sistema di e-Learning, presuppone un diverso comportamento, con centinaia di utenti che accedono allo stesso sito, allo stesso tempo, causando un problema di “ingorgo” e di congestione. Questo problema può essere risolto attraverso il Cloud Computing, dato che la gestione del traffico diventa una responsabilità della società incaricata del trattamento del Cloud Computing. Il LTIA (Laboratorio di Informatica Applicata di UNESP, Sao Paolo, Brasile) ha sviluppato, nel corso degli ultimi anni, un’applicazione di interoperabilità e Cloud Computing. Il suo principale risultato è stato lo sviluppo di diversi plugin open source che permettono a Moodle 2.0 di funzionare in un ambiente Microsoft Windows Azure, a dimostrazione della flessibilità della soluzione Azure e della sua facilità di applicazione in materia di educazione. Windows Azure [21] è il nome di un sistema operativo Microsoft, variante di Windows Server 2008, sviluppato per supportare Windows Azure Platform. Annunciato con il nome Windows Cloud, è basato su Windows Server, con caratteristiche quali geo replication e network management modeled (un modello SOA). I sorgenti e tutta la documentazione a riguardo sono disponibili sul sito Microsoft Codeplex, all’indirizzo ufficiale http://moodle2azure.codeplex.com/ MoodleMoot Italia 2012 8 Riferimenti bibliografici [1] Wang B., Xing HY. (2011), The Application of Cloud Computing in Education Informatization, in “International Conference on Computer Science and Service System (CSSS) 2011”, ISBN: 978-14244-9763-8/11 © 2011 IEEE [2] Centro Nazionale per l’Informatica nella Pubblica Amministrazione (2007), n. 32, pp. 102-103 [3] Garbolino F. (1998), Scenari e tendenze della formazione on line, Isvor New Media, in “Professionalità”, n. 64, pp. 53-54 [4] Giacomantonio M. (2009), LMS: i sistemi di eLearning di terza generazione (ovvero: dove vanno le piattaforme?), sul portale “Il Giornale dell’E-Learning”, disponibile online: http://www.wbt.it/ index.php?pagina=638 [5] Allison C., Nicoll R., Purdie S.D.J., Eisenstadt M., Komzak J., Denham C. (2007), Grid Enabled th Collaborative Learning, in 7 IEEE International Conference on Advanced Learning Technologies (ICALT 2007), 0-7695-2916-X/07 © 2007 IEEE [6] Caballé S. (2007), On the Advantages of Using Web & Grid Services for the Development of st Collaborative Learning Management Systems, in Proceedings on the 1 International Conference on Complex, Intelligent and Software Intensive Systems (CISIS 2007), 0-7695-2823-6/07 © 2007 IEEE [7] Ruthkoski T.L. (2010), Exploratory project: State of the cloud, from University of Michigan and nd beyond, in “Proceedings of the 2 IEEE International Conference on Cloud Computing Technology and Science (CloudCom 2010)”, Indianapolis IN, USA [8] Armbrust M., Fox A., Griffith R., Joseph A.D., Katz R., Konwinski A., Lee G., Patterson D., Rabkin A., Stoica I., Zaharia M. (2009), Above the Clouds: A Berkeley View of Cloud Computing, in “Electrical Engineering and Computer Sciences”, University of California at Berkeley, Technical Report n. UCB/EECS-2009-28, disponibile online: http://www.eecs.berkeley.edu/Pubs/ TechRpts/2009/EECS-2009-28.html [9] Migliardi M., Podestà R. (2010), Cloud Computing, evoluzionario e rivoluzionario, in “Mondo Digitale”, n. 1, pp. 22-23 [10] Yanfei S. (2010), Cloud computing applications in the network learning, in “China Outside School (Basic Education Edition), June 2010 [11] Martins Morgado E. (2011), An exploratory essay on Cloud Computing and its Impcact on the use of Information and Communication Technologies in Education, in “Education in a technological world: communicating current and emerging research and technological efforts”, A. Mendez-Vilas Ed. © 2011 Formatex [12] Polze A. (2009), A comparative Analysis of Cloud Computing Environments, University of Potsdam, Germany [13] Zhang Z., Wu W. (2010), Based on cloud computing platform of educational informatization, China Distance Education (General Edition) [14] Stallman R. M. (2010), Is digital inclusion a good thing? How can we make sure it is?, in Communications Magazine, IEEE, pp. 112-118, disponibile online: http://dx.doi.org/10.1109/ MCOM.2010.5402673 [15] Manzalini A., Moiso C., Morandin E. (2009), Cloud Computing: stato dell’arte e opportunità, in “Notiziario Tecnico Telecom Italia”, anno 18 n. 2, pp. 77-78 MoodleMoot Italia 2012 9 [16] Mell P., Grance T. (2011), The NIST definition of cloud computing (Draft): Recomandations of the National Institute of Standards and Technology, in NIST Special Publication 800-145 (Draft), January 2011, Computer Security Division, Information Technology Laboratory (ITL), National Institute of Standards and Technology (NIST), U.S. Department of Commerce [17] Jerocho Forum (2009), Cloud cube model: selecting cloud formations for secure collaboration, version 1.0, April 2009, San Francisco CA, USA: The Open Group, disponibile online: http://www.opengroup.org/jericho/cloud_cube_model_v1.0.pdf [18] Alabbadi M.M. (2011), Cloud Computing for Education and Learning: Education and Learning as a th Service (ELaaS), in 14 International Conference on Interactive Collaborative Learning (ICL2011), ISBN: 978-1-4577-1747-5/11 © 2011 IEEE [19] MNet – documentazione online: http://docs.moodle.org/23/en/MNet [20] Shibboleth – documentazione online: http://docs.moodle.org/23/en/Shibboleth [21] Windows Azure – documentazione online: http://www.windowsazure.com/en-us/develop/overview/ MoodleMoot Italia 2012 10