Fog computing
L’IoT, l’Internet of Things, sta cambiando il panorama informatico mondiale ed è già considerato una tecnologia chiave in molti progetti futuri. Tuttavia, l’architettura classica dell’IoT, che prevede la raccolta e l’elaborazione dei dati a livello centrale, non può essere scalata all’infinito a causa, tra l’altro, dei limiti della larghezza di banda. Il fog computing viene utilizzato per sviluppare soluzioni a queste problematiche con l’implementazione dell’IoT.
- vCPU estremamente vantaggiose e potenti core dedicati
- Massima flessibilità senza periodo contrattuale minimo
- Servizio di assistenza tecnica 24 ore su 24, 7 giorni su 7
Che cos’è il fog computing? Una definizione
Il fog computing è una tecnologia cloud in cui i dati generati dai dispositivi non vengono caricati direttamente nel cloud, ma vengono prima pre-elaborati in mini data center decentralizzati (chiamati “nodi fog”). Tale sistema richiede una struttura che si estende dai confini esterni della rete, in cui i dati vengono generati da dispositivi IoT, fino all’endpoint centrale dei dati nel cloud pubblico o in un data center privato (cloud privato).
L’obiettivo del cosiddetto “fogging” è quello di accorciare i percorsi di comunicazione e ridurre il flusso di dati attraverso reti esterne. I nodi fog creano un livello intermedio della rete in cui i dati vengono selezionati per essere elaborati a livello locale, mente altri vengono inoltrati al cloud o a un data center centrale per ulteriori analisi o elaborazioni.
Il grafico seguente rappresenta schematicamente i tre livelli (layer) di un’architettura fog computing:
- Livello edge (Edge Layer): il livello edge comprende tutti i dispositivi “intelligenti” (dispositivi edge) di un’architettura IoT. A questo livello, i dati generati vengono elaborati direttamente dal dispositivo o trasmessi tramite server (nodo fog) nel livello fog.
- Livello fog (Fog Layer): il livello fog comprende un insieme di server potenti che ricevono i dati dal livello edge, li pre-elaborano e li caricano nel cloud laddove necessario.
- Livello cloud (Cloud Layer): il livello cloud è l’endpoint centrale dei dati di un’architettura di fog computing.
L’OpenFog Consortium (ora IIC, Industry IoT Consortium) ha sviluppato un’architettura di riferimento per i sistemi fog. Altri white paper sono disponibili sul sito web dell’IIC.
Distinzione dal cloud computing
Il fog computing si distingue dal cloud computing soprattutto per il luogo in cui vengono fornite le risorse ed elaborati i dati. Il cloud computing avviene di norma in data center centralizzati. Risorse come la potenza di calcolo e la memoria sono raggruppate e rese disponibili da server back end per essere utilizzate dai client in rete. La comunicazione tra due o più terminali avviene sempre tramite un server in background.
Questo tipo di architettura dimostra i propri limiti in progetti come quello della “fabbrica intelligente”, in cui avviene uno scambio continuo di dati tra innumerevoli dispositivi finali. Il fog computing si basa su un’elaborazione a livello intermedio in prossimità della sorgente dati per ridurre il flusso dei dati verso il data center.
Distinzione dall’edge computing
Non è soltanto il volume di dati delle grandi architetture IoT a far sì che il cloud computing raggiunga i propri limiti. Un problema ulteriore è posto dal tempo di latenza. L’elaborazione centralizzata dei dati comporta in molti casi un ritardo dovuto a lunghi percorsi di trasmissione. I terminali e i sensori, infatti, devono necessariamente collegarsi al server del data center per poter comunicare e attendere sia l’elaborazione esterna della richiesta sia la risposta. I tempi di latenza di questo tipo rappresentano un problema, ad esempio, nei processi di produzione supportati da IoT, dove è indispensabile un’elaborazione delle informazioni in tempo reale in modo tale che le macchine possano reagire immediatamente a eventuali incidenti.
Un approccio che punta a risolvere il problema della latenza è l’Edge Computing, concetto che deriva dal fog computing, dove l’elaborazione dei dati non viene soltanto decentralizzata, ma effettuata direttamente dal dispositivo finale e dunque al confine (“edge”) della rete. In questo caso ogni “dispositivo intelligente” viene dotato di un proprio microcontrollore che consente l’elaborazione dei dati principali e la comunicazione con altri dispositivi e sensori nell’IoT. In questo modo non solo si riduce la latenza, ma anche la velocità di trasmissione dei dati presso il data center centrale.
Il fog computing e l’edge computing sono strettamente correlati, ma non sono la stessa cosa. La differenza fondamentale è dove e quando i dati vengono elaborati. Nell’edge computing, i dati generati vengono elaborati direttamente alla fonte e di solito inviati direttamente. Nel fog computing, invece, i dati grezzi provenienti da diverse fonti vengono raccolti ed elaborati in un data center intermedio. Ciò consente di evitare l’inoltro di dati o risultati irrilevanti al data center centrale. Se la soluzione migliore sia l’edge o il fog computing (o una combinazione dei due) dipende quindi in larga misura dal singolo settore di applicazione.
I vantaggi del fog computing
Il fog computing offre approcci risolutivi per diversi problemi in infrastrutture IT basate su cloud. Fondamentalmente tali sistemi consentono di abbreviare i percorsi di comunicazione e di ridurre al minimo il caricamento nel cloud. Di seguito trovi una lista con i vantaggi più importanti:
- Minor traffico in rete: il fog computing riduce il traffico tra dispositivi IoT e il cloud.
- Risparmio sui costi quando si utilizzano reti esterne: i gestori si fanno ben pagare gli upload veloci nel cloud, ma con il fog computing questi costi possono essere evitati.
- Disponibilità offline: i dispositivi IoT di un’architettura fog computing sono disponibili anche offline.
- Riduzione del tempo di latenza: il fog computing riduce i percorsi di comunicazione e quindi accelera i processi decisionali e di analisi automatica.
- Sicurezza dei dati: nel fogging i dati del dispositivo vengono spesso già pre-elaborati nella rete locale. Ciò consente un’implementazione per cui i dati sensibili vengono conservati all’interno dell’azienda o possono essere criptati o resi anonimi prima del caricamento nel cloud.
Gli svantaggi nel fog computing
L’elaborazione decentralizzata ai margini della rete presenta anche degli svantaggi, che derivano principalmente dalle spese di manutenzione e amministrazione di un sistema distribuito. Gli svantaggi dei sistemi di fog computing sono:
- Maggiori costi hardware: i terminali e i sensori dell’IoT nell’architettura di fog computing devono essere dotati di un’unità di calcolo supplementare per consentire un’elaborazione locale dei dati e la comunicazione tra un dispositivo e l’altro.
- Necessità di manutenzione maggiore: un’elaborazione decentralizzata dei dati ha esigenze di manutenzione più elevate in quanto i dispositivi di pre-elaborazione e gli elementi di archiviazione sono distribuiti sull’intera rete e, a differenza delle soluzioni cloud, non possono essere gestiti o amministrati a livello centralizzato.
- Ulteriori requisiti di sicurezza di rete: il fog computing è esposto ad attacchi man in the middle.