Software per il cloud computing

Un nuovo linguaggio di programmazione migliorerà le funzionalità on line

di Erica Naone

Il cloud computing promette una potenza di elaborazione e memorizzazione virtualmente illimitata, disponendo di enormi centri dati gestiti da aziende come Amazon e Google. Ma i programmatori non sanno come sfruttare appieno queste potenzialità.

Finora, molti sviluppatori stanno convertendo i programmi esistenti per renderli operativi sulle «nuvole», invece di creare nuovi tipi di applicazioni che non funzionerebbero da nessun’altra parte. Inoltre, stanno affrontando serie difficoltà a tenere sotto controllo i dati e ad avere un’idea precisa di quanto accade all’interno della nuvola. Se i programmatori riuscissero a risolvere questi problemi, potrebbero mettere a frutto tutte le potenzialità del cloud computing. Per esempio, chi vende musica on line potrebbe monitorare i feeds più popolari dei media sociali. Se una canzone diventa la più ascoltata del momento, si potrebbero immediatamente riconfigurare gli annunci pubblicitari e le offerte speciali sul sito del venditore per suscitare il massimo interesse.

All’Università della California, a Berkeley, Joseph Hellerstein sta cercando di rendere più semplice la scrittura di applicazioni complesse per il cloud computing, sviluppando un software che si fa carico del lavoro di controllo dei dati e di registrazione dei diversi movimenti. La sua idea innovativa è di modificare i linguaggi di programmazione dei database in modo da poterli utilizzare per realizzare rapidamente qualsiasi tipo di applicazione per la nuvola, per esempio reti sociali, strumenti di comunicazione, giochi e altro. Questi linguaggi sono stati perfezionati nel corso degli anni per limitare la complessità degli spostamenti dell’informazione a e da i grandi database. Se si disponesse di un linguaggio cloud friendly, i programmatori potrebbero concentrarsi solo sui loro obiettivi, senza perdere tempo nella gestione ordinaria dei dati.

Il problema è che questi linguaggi elaborano i dati in lotti statici. Non sono in grado di processare dati in costante cambiamento, come la lettura da una rete di sensori. La soluzione, spiega Hellerstein, è incorporare nel linguaggio la nozione che i dati possono essere dinamici e modificarsi in via di elaborazione. Questa consapevolezza del passaggio temporale permette a un programma di fare previsioni su dati che potrebbero arrivare in ritardo o addirittura non arrivare mai.

Il risultato si chiama Bloom. Finora, il gruppo di Hellerstein ha utilizzato il linguaggio Bloom e i suoi predecessori per riorganizzare rapidamente e aggiungere caratteristiche significative a strumenti per il cloud computing popolari come Hadoop, una piattaforma che serve per manipolare quantità considerevoli di dati. Riducendo le barriere della complessità, questi linguaggi dovrebbero incrementare il numero di sviluppatori impegnati ad affrontare le difficoltà della programmazione per il cloud computing, apportando di conseguenza un flusso di nuove idee per una varietà di potenti applicazioni.

Il gruppo di Hellerstein sta finendo di mettere a punto Bloom per la presentazione, prevista per la fine del 2010. Insieme ad altri, Hellerstein è impegnato anche a dimostrare come queste tecniche si possano utilizzare per le applicazioni in tempo reale, come i giochi on line multiutente, o per registrare i segni premonitori di un terremoto o di uno tsunami.

Related Posts
Total
0
Share