Caratteristiche e differenza tra Serverless Computing e Edge Computing in informatica

Caratteristiche e differenza tra Serverless Computing e Edge Computing in informatica

Introduzione al serverless e all’edge computing

Il serverless computing si riferisce a un processo in cui i servizi vengono forniti agli sviluppatori dai fornitori in base alla necessità di utilizzo. Gli sviluppatori noleggiano una funzione su un server quando è in uso. Uno sviluppatore non deve preoccuparsi dell’infrastruttura necessaria in un ambiente informatico serverless. Il serverless computing fornisce funzionalità di scalabilità automatica assenti nel cloud computing tradizionale.

L’edge computing si riferisce all’esecuzione di calcoli nel punto in cui hanno origine i dati, ovvero al confine della rete. Questa vicinanza della capacità di elaborazione alla fonte dei dati crea opportunità per fornire insight più approfonditi, tempi di risposta migliorati ed esperienze migliori. Con il gran numero di dispositivi IoT disponibili oggi, l’edge computing può aiutare a sbloccare l’enorme potenziale nascosto nei dati generati da tali dispositivi.

Perché il serverless computing è importante?

Nonostante il nome suggerisca che tale elaborazione non includerà l’uso di server, l’elaborazione serverless elimina solo la necessità di disporre di un’enorme infrastruttura per l’elaborazione e la distribuzione dei codici. Tali requisiti sono soddisfatti dai fornitori che affittano i server agli sviluppatori. La differenza rispetto al cloud computing tradizionale è la sua capacità di gestire i picchi di traffico per le applicazioni ed eliminare la necessità di avere spazio sul server riservato per tali eventi.

I principali vantaggi del serverless computing sono:

  • Costi inferiori: il computing serverless è più conveniente rispetto ai cloud tradizionali poiché gli sviluppatori non devono pagare per la potenza di calcolo o lo spazio.
  • Facile scalabilità: gli sviluppatori non devono preoccuparsi della scalabilità poiché il fornitore se ne occupa in base alle richieste.
  • Tempi di commercializzazione più brevi: il calcolo serverless può ridurre i tempi di commercializzazione di un prodotto poiché l’implementazione di correzioni di bug e nuove funzionalità è più semplice.
  • Supporto backend: l’architettura serverless può aiutare con il supporto backend fornendo FaaS ( Function as a Service ).

Il problema aziendale principale che il serverless sta risolvendo:

  • Gli sviluppatori non hanno bisogno di gestire server o infrastrutture reali e possono concentrarsi sul proprio codice.
  • Grazie ai costi inferiori, anche le piccole imprese possono passare al cloud.

Perché l’Edge Computing è importante?

L’edge computing è un’architettura informatica distribuita che porta la capacità di elaborazione il più vicino possibile agli utenti dove vengono generati i dati.

Alcuni dei principali vantaggi dell’Edge Computing sono:

  • Riduce la latenza: poiché non c’è quasi nessuna distanza tra i punti in cui i dati vengono generati ed elaborati, la latenza è quasi trascurabile per Edge.
  • Riduce la larghezza di banda: collocando la potenza di calcolo nel punto in cui vengono generati i dati, l’edge consente ai dispositivi di operare su larghezze di banda più piccole in modo più efficiente.
  • Elaborazione e analisi in tempo reale: grazie alla latenza estremamente bassa , i dispositivi Edge sono in grado di fornire le analisi tanto necessarie in tempo reale.
  • Riduce la congestione: i dispositivi Edge filtrano i dati che devono inviare ai server per ulteriori analisi, riducendo così la congestione dei dati su Internet.

Il problema principale che Edge può risolvere:

  • Con l’Edge computing che fornisce analisi in tempo reale con tempi di risposta rapidi, settori come quello edile, manifatturiero, minerario, petrolifero e del gas stanno diventando più sicuri.
  • Edge consente alla tecnologia legacy di ottenere i livelli tanto necessari rendendola più sicura e più facile da usare.

Caratteristiche e differenza tra Serverless Computing e Edge Computing in informatica

Casi d’uso per Serverless ed Edge Computing

Casi d’uso ed esempi di elaborazione serverless:

  • Applicazioni mobili e Web: le applicazioni convenzionali utilizzano l’elaborazione serverless per ragioni di convenienza e scalabilità.
  • Servizi di trasmissione/streaming video in diretta: l’elaborazione serverless è adatta per gestire l’elaborazione di immagini e flussi di dati che utilizzano funzioni ripetitive.
  • Chatbot: Serverless è ideale per sistemi basati su attività come i chatbot e può ridurre i costi operativi.

Casi ed esempi di utilizzo dell’edge computing:

  • Produzione: Edge viene utilizzato per monitorare le apparecchiature di produzione consentendo analisi in tempo reale e migliorando la qualità del prodotto (o identificando prodotti difettosi).
  • Auto a guida autonoma: con le auto a guida autonoma, diventa imperativo prendere decisioni basate su analisi in tempo reale per la sicurezza dei passeggeri e degli altri.
  • Dispositivi sanitari: l’utilizzo dell’IoT e dell’edge computing può ridurre i tempi di risposta, identificazione e risoluzione di un’emergenza medica molto più rapidamente e potrebbe essere in grado di salvare vite umane. Un esempio del genere può essere un dispositivo di monitoraggio del diabete che spinge automaticamente i farmaci.

Le sfide affrontate dal serverless e dall’edge computing

Proprio come la maggior parte delle tecnologie, anche Serverless e Edge devono affrontare sfide. Entrambe queste architetture informatiche aprono possibilità per dinamiche completamente nuove nell’analisi e nello sviluppo di software.

Sfide affrontate dal serverless computing:

  • Aumento dell’avvio a freddo (Cold Start): è il tempo impiegato dall’ambiente di un’applicazione serverless per diventare operativo quando viene utilizzato per la prima volta. Poiché il serverless arresta una funzione se è inattiva, il tempo per un avvio a freddo aumenta in modo significativo.
  • Difficoltà nel debug: il debug riga per riga è limitato in un ambiente senza server. È difficile tenere traccia delle varie funzioni e servizi in esecuzione su diverse piattaforme cloud, rendendo così l’osservabilità del codice un grosso ostacolo.
  • Rischi per la sicurezza: poiché i fornitori di servizi cloud ci mettono a disposizione un’ampia raccolta di configurazioni, è facile che si verifichi un errore di configurazione e una successiva distribuzione prematura. Ciò potrebbe portare a perdite o violazioni dei dati.
  • Accesso di terze parti non sicuro: Serverless di solito esegue FaaS (Functions as a Service), quindi spesso questi servizi devono dipendere da pacchetti software di terze parti, servizi Web richiamati tramite API, ecc. Ciò può avere implicazioni sulla sicurezza poiché le dipendenze di terze parti possono lasciare la rete vulnerabile agli attacchi informatici.

Le sfide affrontate dall’Edge Computing:

  • Complessità logistica: poiché l’Edge computing incoraggia un’architettura decentralizzata, diventa un compito complesso creare e mantenere un simile ecosistema IT in più posizioni geografiche, soprattutto quando si eseguono molti microservizi per ciascun cluster di contenitori.
  • Capacità e scalabilità limitate: il problema più evidente con la tecnologia edge è la capacità di elaborazione limitata che il serverless potrebbe fornire. La sua incapacità di scalare la propria infrastruttura significa che Edge non è in grado di gestire enormi carichi di lavoro basati sui dati.
  • Collo di bottiglia della larghezza di banda: con il progresso dei dispositivi IoT e Edge, si prevede che produrranno una grande quantità di dati che richiedono una larghezza di banda maggiore (dagli endpoint ai data center). Ciò potrebbe creare una mancanza di larghezza di banda.
  • Sicurezza dei dati: con l’edge computing è diventato difficile mantenere gli stessi livelli di sicurezza fisica e informatica offerti dal cloud computing tradizionale o dal serverless computing. Con una struttura decentralizzata con più dispositivi, punti di ingresso e frequenti spostamenti di dati, è più suscettibile agli attacchi.

Conclusioni

Possiamo concludere dicendo che, il serverless e l’edge computing vengono creati per scopi diversi con idee diverse. L’architettura serverless è centralizzata per fornire soluzioni accessibili, efficaci ed economiche come FaaS (Function as a Service) affinché gli sviluppatori possano eseguire i propri codici senza preoccuparsi della pesante infrastruttura necessaria. Allo stesso tempo, Edge eccelle laddove è necessario elaborare e fornire analisi e soluzioni basate sui dati per un’attività specifica il prima possibile, senza preoccuparsi della latenza. È essenziale comprendere le esigenze e impiegare di conseguenza la tecnologia necessaria per godere appieno dei servizi e delle capacità che queste tecnologie possono offrire.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *