Skip to main content

Ho già scritto in questa rubrica di cloud computing nei suoi aspetti salienti: orientamento ai servizi, flessibilità dell’offerta dovuta all’uso della tecnologia di virtualizzazione, estrema scalabilità. Questo mese vorrei approfondire il legame tra applicazioni mobili e cloud.

Sono parecchie ormai le app di largo consumo che funzionano solo in modalità online perché richiedono l’accesso a servizi remoti per inviare o ottenere dati. È il caso, per esempio, di tutte le app che utilizzano le mappe di Google, o di quelle per la gestione della dieta personale, che accedono a database enormi che non potrebbero essere ospitati sul dispositivo mobile. Questi servizi remoti sono sempre più spesso ospitati sulle nuvole informatiche che, a ben vedere, possono offrire molto di più di questo semplice hosting di servizi e dati.
La tecnologia detta mobile cloud consente di spostare l’esecuzione stessa di una app, o di parte di essa, da un dispositivo mobile alla nuvola. Ad esempio, se la batteria del dispositivo si sta scaricando ma è necessario che l’esecuzione dell’applicazione non si interrompa, il mobile cloud offre soluzioni molto interessanti. Inoltre, una serie di applicazioni innovative (nell’ambito dei social network mobili e della global ambient intelligence, per citarne alcuni) possono essere realizzate sfruttando proprio questa tecnologia.
Il processo di trasferimento dell’esecuzione dal dispositivo mobile alla nuvola informatica prende il nome di offloading. A seconda della granularità di quest’ultimo si possono avere diverse forme di mobile cloud. La più semplice prende il nome di augmented execution (esecuzione estesa, ndr) e richiede la creazione di uno o più cloni del dispositivo mobile all’interno della nuvola. Il clone deve replicare il sistema operativo e le applicazioni del dispositivo mobile, ma ha una dotazione hardware (virtuale) molto maggiore. Quando il contesto lo richiede, l’esecuzione delle applicazioni viene spostata dal dispositivo mobile all’ambiente clonato, in modo che le risorse del primo non vadano sprecate. L’utente ha così la sensazione che il proprio dispositivo sia più potente e consumi di meno. Un’altra forma di mobile cloud è quella delle elastically partitioned application (applicazioni frazionate in modo elastico, ndr) in base alla quale alcune applicazioni, molto modulari, vengono solo in parte replicate nella nuvola. Esiste poi l’approccio chiamato spontaneous mobile cloud (mobile cloud cooperativo, ndr), in cui pezzi di applicazione vengono replicati tra dispositivi mobili amici, per suddividere l’onere computazionale o di memorizzazione dati. Quest’ultimo potrebbe essere facilitato dalla presenza della nuvola vera e propria, in un ruolo di supporto, qualora i dispositivi mobili non fossero tutti compatibili e fosse necessario fornire versioni diverse dello stesso modulo applicativo.