Edge Computing e Cloud Computing: qual è la differenza?

Oggi, la maggior parte delle persone ha in qualche modo familiarità con il Cloud Computing. Dal 2010, il concetto di Cloud Computing nell’industria del software si è sviluppato ulteriormente ed è diventato un termine comune nella vita di tutti i giorni.

Negli ultimi anni, il cloud è diventato mainstream grazie al suo fascino e alla sua promessa di far risparmiare tempo e denaro alle aziende. È presto diventato uno dei fattori più importanti nell’ambiente IT aziendale odierno, perché migliora l’agilità e la scalabilità ed elimina la necessità per gli sviluppatori di mantenere l’hardware in sede. Nelle architetture Cloud, l’archiviazione e l’elaborazione dei dati vengono generalmente spostate in data center centralizzati fuori sede, lontano da dove si accede ai dati e soprattutto da dove i dati vengono generati.

Tuttavia, con il numero crescente di richieste di applicazioni urgenti e critiche, oggi il Cloud Computing tradizionale non è sempre la scelta migliore per le aziende. Per ottenere performance superiori e una migliore integrazione, le aziende stanno spostando le applicazioni al campo, all’Edge, fisicamente più vicino all’utente o al dispositivo.

La nascita dell’Edge Computing risale alle prime reti di distribuzione di contenuti negli anni ’90. Da allora, il concetto di Edge è stato principalmente dominio dei tecnici del settore.

L’Edge Computing è recentemente diventato un concetto importante nel nuovo mondo del calcolo distribuito. Poiché le risorse perimetrali sono fisicamente più vicine agli utenti, le applicazioni possono offrire tempi di risposta più rapidi. Sfruttando la potenza delle funzionalità perimetrali, è possibile scalare rapidamente un’applicazione pre-elaborando i dati sul campo prima che raggiungano il server centrale, riducendo i costi di gestione del server. La decentralizzazione dell’Edge consente inoltre una gestione più intelligente dei big data e una maggiore sicurezza di sistema.

Vediamo come funziona l’Edge Computing ed esploriamo alcuni dei suoi casi d’uso in modo più dettagliato.

Contenuti

Cos’è l’Edge Computing?

Il concetto di Edge riguarda la distanza fisica. Il suo obiettivo primario è ridurre al minimo la latenza e massimizzare le prestazioni, eliminando il più possibile i tempi di viaggio delle informazioni. L’Edge Computing raggiunge questo obiettivo in due modi, spesso complementari: i dati grezzi raccolti dal campo non vengono raccolti in maniera centralizzata, ma vengono prima pre-elaborati in location fisicamente vicine al campo; inoltre, in un sistema Edge Computing le connessioni di rete vengono automaticamente instradate al nodo di elaborazione più vicino alla posizione fisica dell’utente finale. In altre parole, l’Edge Computing si concentra sull’esecuzione di codice su risorse hardware il più vicino possibile a dove i dati vengono prodotti e utilizzati.

Poiché i nodi di Edge Computing sono molto più numerosi dei server o dei data center, le applicazioni che utilizzano l’Edge Computing possono fornire un aumento significativo delle prestazioni per applicazioni esigenti che richiedono velocità ed efficienza. Spesso, i nodi di Edge Computing assumono la forma di macchine virtuali (VM) e container in esecuzione su server strategicamente posizionati, scelti per la loro vicinanza alle concentrazioni di utenti finali.

 

Cos’è il Cloud Computing?

Per comprendere meglio l’Edge Computing, analizziamo prima un po’ come funziona il Cloud Computing.

Una tipica architettura di Cloud Computing archivia, elabora e analizza i dati in una posizione centrale (solitamente un data center). Le richieste dalle applicazioni client vengono inviate al cloud, dove vengono elaborate e i risultati vengono inviati al dispositivo che ha generato la richiesta.

Il cloud computing viene fornito attraverso una combinazione di servizi e modelli di consegna. Di solito, una terza parte, il provider, gestisce tutto o parte del cloud. In poche parole, i quattro modelli principali di cloud computing sono:

  • Infrastructure as a Service (IaaS): un provider cloud include componenti dell’infrastruttura che in genere fanno parte di un data center on-premise, come server e storage. Gli utenti possono accedervi da remoto se necessario.
  • Platform as a Service (PaaS): un provider cloud ospita e gestisce l’infrastruttura e il software per conto dell’utente e fornisce una piattaforma end-to-end per la creazione e l’esecuzione di applicazioni. I database cloud sono una forma di PaaS.
  • Software as a Service (SaaS): un provider cloud ospita e gestisce il software a cui gli utenti possono accedere, di solito in abbonamento.
  • Function as a Service (FaaS): i provider cloud consentono di eseguire codice in risposta a eventi senza doversi preoccupare del provisioning dell’infrastruttura, della creazione e dell’avvio di applicazioni.

Queste opzioni offrono un notevole controllo all’utente per quanto riguarda disponibilità, scalabilità e prestazioni. Tutti i modelli citati qui sopra hanno guadagnato popolarità negli ultimi anni grazie ai numerosi vantaggi che offrono, primi fra tutti i costi bassi per l’acquisto e la manutenzione. Quando si utilizza il modello di cloud computing, questa responsabilità ricade sul provider di servizi cloud. Ciò riduce il tempo, lo sforzo e i costi di esecuzione, manutenzione e patch del sistema, consentendo agli sviluppatori di dedicare più tempo allo sviluppo dell’applicazione. Inoltre, il provider di servizi cloud esegue attività di manutenzione continua come patch e aggiornamenti software.

 

Differenze tra Edge Computing e Cloud Computing

Come si può vedere, c’è ancora una certa sovrapposizione tra i concetti di Edge e Cloud Computing. Entrambe le idee implicano l’utilizzo di risorse informatiche distribuite remotamente per fare delle operazioni ed eseguire codice, ma nonostante i concetti simili, alla base di entrambe le tecnologie informatiche ci sono alcune differenze chiave, come la posizione, che è una delle differenze più importanti.

Nel Cloud Computing, l’hardware utilizzato per l’archiviazione e l’elaborazione dei dati si trova nei data center, distribuiti a livello globale ma centralizzati nel cuore della rete. Nell’Edge Computing, l’elaborazione dei dati viene eseguita più vicino alla fonte e una richiesta dell’utente viene instradata su una complessa rete di dispositivi di rete inclusi router, switch e altre apparecchiature, raggiungendo infine un punto di presenza (PoP o Point of Presence) lungo il percorso. Il PoP si trova in un ambiente fisico al di fuori di un data center e posizionato intenzionalmente il più vicino possibile all’utente.

Ci sono due ragioni principali per spostare l’elaborzione dei dati verso la periferia, l’Edge:

  • Requisiti di tempo: le applicazioni time-sensitive, in cui il tempo è un fattore critico, devono rispondere e prendere decisioni molto rapidamente e immediatamente. In un Cloud, prima che la decisione venga restituita, i dati vengono raccolti, trasmessi al cloud centrale in forma grezza ed elaborati; questo processo potrebbe richiedere del tempo. Man mano che le attività di elaborazione dei dati si avvicinano al punto in cui vengono generati i dati, le nuove richieste di dati possono essere elaborate con una latenza molto inferiore e le periferiche possono memorizzare nella cache i risultati per un accesso più rapido ai dati.
  • Carichi di lavoro: le capacità di elaborazione, archiviazione e analisi che una volta erano disponibili solo su server cloud di grandi dimensioni sono ora possibili su dispositivi con un ingombro molto più ridotto. Senza Edge, vengono raccolti troppi dati da inviare al Cloud. L’Edge Computing riduce la necessità di trasferire i dati nel cloud e può fornire al cloud dati “puliti” già pre-elaborati.

 

Identificare soluzioni efficaci di raccolta ed elaborazione dati

Sebbene ci siano differenze fondamentali tra i due, i concetti di Edge e Cloud Computing non si escludono a vicenda. Sono stati sviluppati per scopi diversi, ma insieme possono fungere da base per la prossima generazione di applicazioni.

Se usati insieme, possono ottimizzare le prestazioni nelle applicazioni aziendali, soprattutto in ambito industriale manifatturiero, dove ci sono potenzialmente davvero tanti dati da raccogliere e da analizzare relativi alle macchine e al processo produttivo. In generale, le attività ad alte prestazioni e sensibili alla latenza si eseguono nei nodi perimetrali, mentre il lavoro meno impegnativo e l’archiviazione dei dati pre-elaborati si svolge altrove nel cloud.

Quando si creano queste applicazioni Edge-to-Cloud, una buona analisi e un notevole livello di astrazione sono fondamentali per creare soluzioni su misura perfettamente integrate, che sfruttano risorse perimetrali eterogenee ed elaborano e forniscono dati a diversi livelli dall’Edge al Cloud. In genere, nella nostra esperienza in quanto sviluppatori e fornitori di soluzioni tecnologiche integrate su misura, è sempre necessario sviluppare soluzioni o funzionalità su richiesta.

Contattaci per descriverci le tue esigenze: insieme possiamo sviluppare la tua soluzione Edge Computing integrata.