Топ-100

Fog computing

Il Fog computing è unarchitettura orizzontale, a livello di sistema, utile a distribuire senza soluzione di continuità risorse e servizi di calcolo, immagazzinamento di dati, controllo e funzionalità di rete sullinfrastruttura che connette il Cloud allInternet delle Cose.
Il Fog rappresenta al tempo stesso unestensione e un miglioramento del paradigma Cloud in supporto ad applicazioni IoT che debbano rispettare precisi parametri di Qualità di Servizio QoS per essere processati, quali latenza e banda disponibili per una certa connessione.

1. Motivazione
Come previsto da Mark Weiser nel 1991, la tecnologia sta scomparendo, confondendosi nel tessuto stesso della nostra quotidianità fino a divenire indistiguibile da essa. Entro il 2020, CISCO prevede la presenza di oltre 50 miliardi di dispositivi connessi, con una media di 7 per persona. Ciascuno di questi dispositivi, continuativamente raccogliendo dati, andrà ad accrescere la quantità di informazione da immagazzinare nei datacenter, in attesa di una successiva elaborazione.
Se da un lato la quantità di dati raccolti continua ad aumentare Big Data, così come la capacità di calcolo necessaria per processarli, dallaltro la connettività disponibile per trasportare linformazione dallIoT verso i datacenter non si rivela sempre adeguata allo scopo. In particolare, applicazioni con requisiti stringenti in termini di tempo di risposta o sicurezza non sono supportate al meglio dallattuale paradigma Cloud che richiede lo spostamento dei dati dai confini della rete verso strutture di elaborazione centralizzate. Si pensi ad esempio a sistemi di controllo per impianti industriali o edifici pubblici, a dispositivi medici connessi, a infrastrutture per la gestione efficiente del traffico veicolare.
Il Fog computing, sfruttando capacità di calcolo, immagazzinamento dati e rete fisicamente vicini allIoT e altamente distribuiti, si propone di risolvere questi problemi. I nodi Fog, nel duplice ruolo di capacità di calcolo e filtri da e verso il Cloud, renderanno possibile il supporto ad applicazioni time-sensitive, con elevato consumo di banda o con particolari requisiti di sicurezza informatica che non consentono di spostare i dati sullinfrastruttura Cloud pubblica.

2. Definizioni
Nonostante lo spostamento paradigmatico e tecnologico verso il Fog si renda sempre più necessario, una definizione precisa e condivisa di Fog computing deve ancora essere data. Si tenta, in questa sede, di illustrare il dibattito scientifico corrente riportando criticamente alcune delle definizioni messe a punto sinora.
Il primo tentativo di definizione di Fog computing risale al 2012 e si deve a Flavio Bonomi et al.:
Il Fog computing è una piattaforma altamente virtualizzata che offre capacità di calcolo, immagazzinamento dati e servizi di rete tra i dispositivi terminali e i tradizionali datacentre del Cloud computing. Tutto ciò, in genere, ma non esclusivamente è offerto al limitare Edge della rete.
Gli autori sottolineano inoltre che la piattaforma Fog debba godere di una distribuzione geografica capillare e debba essere organizzata gerarchicamente per garantire che lanalisi immediata o di medio termine dellinformazione raccolta avvenga quanto più possibile vicino alle sorgenti IoT, mentre lanalisi storica dei dati possa essere eseguita a livello Cloud. Secondo Bonomi, Le caratteristiche del Fog includono: consapevolezza della posizione geografica location awareness, basse latenze, distribuzione capillare dellinfrastruttura, elevato numero e mobilità dei nodi Fog, interazione in tempo reale, predominanza dellaccesso wireless alla rete, interoperabilità e federazione tra gestori diversi. In generale, questa prima definizione è in linea con quella data da CISCO nello stesso anno:
Il Fog estende il Cloud per essere più vicino a sensori e attuatori dellIoT. I nodi Fog possono essere installati dovunque ci sia connettività a Internet per supportare funzioni di base della rete o nuovi servizi e applicazioni che eseguono in un ambiente sandbox.
Inoltre, secondo Vaquero et al., gli utenti possono cedere parte dei loro dispositivi per ospitare tali servizi in cambio di incentivi alla condivisione. Questa ampia definizione rivela di più sul potenziale del Fog come paradigma in cui gli utenti della rete e i loro dispositivi sono parte fondante e integrante nella profferta di servizi agli utenti stessi. Nella stessa direzione "umano-centrica" vanno i sostenitori dell Edge-centric computing, secondo i quali il Fog dovrebbe incoraggiare la partecipazione umana, cogliendo al balzo lopportunità mancata di utilizzare lenorme quantità di risorse inutilizzate sui moderni dispositivi personali. In linea con le precedenti è la definizione proposta da Mung Chiang nel 2016:
Il Fog è unarchitettura che usa uno o molti dispositivi utente, o situati vicini allutente al limitare della rete, per eseguire una quantità sostanziale di operazioni di immagazzinamento dati, comunicazione e gestione.
Chiang sottolinea chiaramente la transizione paradigmatica dal Cloud fino o il più vicino possibile allutente finale. Laddove limmagazzinamento dati è prerogativa dei datacentre, la comunicazione avviene attraverso la rete dorsale e la gestione è eseguita dai gateway, il Fog si propone di distribuirla su dispositivi cooperanti nella Rete. Infine, la definizione data da OpenFog Consortium, fondato nel 2015 sembra ad oggi la più generale:
Unarchitettura orizzontale, a livello di sistema, che distribuisce risorse e servizi di calcolo, immagazzinamento dati, controllo e funzioni di rete dovunque tra il Cloud e lIoT, al fine di accelerare il processo di decision making. Le architetture Fog supportano uno specifico sottoinsieme di applicativi che non possono essere implementati utilizzando le sole architetture Cloud o unicamente i dispositivi intelligenti al limitare della rete.

applicazioni, Tecniche Nuove, 2010. Chrome OS Cloud storage Edge computing Fog computing Grid computing OnLive Virtual private cloud Microsoft Azure Google Drive