# Fog computing

L’IoT, l’[Internet of Things](https://www.ionos.it/digitalguide/siti-web/diritto-informatico/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.

## 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](https://www.ionos.it/digitalguide/server/know-how/cose-un-data-center/) privato ([cloud privato](https://www.ionos.it/digitalguide/server/know-how/private-cloud/)).

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:

[![Immagine: Rappresentazione schematica di un’architettura IoT con livelli edge, fog e cloud](https://www.ionos.it/digitalguide/fileadmin/_processed_/a/d/csm_cloud-fog-layer_15df8d1916.webp "Rappresentazione schematica di un’architettura IoT con livelli edge, fog e cloud")](https://www.ionos.it/digitalguide/fileadmin/DigitalGuide/Schaubilder/cloud-fog-layer.png) Nel fog computing, le risorse per l’archiviazione e la pre-elaborazione dei dati sono esternalizzate dal cloud pubblico o da un data center centrale e per mezzo dei nodi fog vengono fornite a un livello intermedio decentralizzato della rete. - **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](https://www.iiconsortium.org/pdf/OpenFog_Reference_Architecture_2_09_17.pdf "Architettura di riferimento per sistemi fog"). Altri white paper sono disponibili sul [sito web dell’IIC](https://www.iiconsortium.org/fog-and-edge-white-papers/ "The IIC Guides Best Practices in Edge Computing").

### 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](https://www.ionos.it/digitalguide/siti-web/creare-siti/cose-un-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](https://www.ionos.it/digitalguide/server/know-how/cose-la-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**](https://www.ionos.it/digitalguide/server/know-how/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:

1. **Minor traffico in rete**: il fog computing riduce il traffico tra dispositivi IoT e il cloud.
2. **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.
3. **Disponibilità offline**: i dispositivi IoT di un’architettura fog computing sono disponibili anche offline.
4. **Riduzione del tempo di latenza**: il fog computing riduce i percorsi di comunicazione e quindi accelera i processi decisionali e di analisi automatica.
5. **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:

1. **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.
2. **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.
3. **Ulteriori requisiti di sicurezza di rete**: il fog computing è esposto ad attacchi man in the middle.


This is a markdown version of: [https://www.ionos.it/digitalguide/server/know-how/fog-computing/](https://www.ionos.it/digitalguide/server/know-how/fog-computing/) for AI/LLM consumption.