Cos’è e quando utilizzare il Function as a server (FaaS)

0
541
Function as a server

Sebbene serverless e Function as a Server (FaaS) siano spesso usati in modo intercambiabile, in realtà portano due definizioni diverse.

Serverless si riferisce a qualsiasi categoria di software in cui il server è completamente astratto dall’utente, ma FaaS è un sottoinsieme dell’elaborazione serverless. In questo modello, la funzione come servizio può essere attivata da eventi o richieste e, una volta implementata, risponde alla domanda e scala automaticamente in modo dinamico in base al carico.

Ciò rende FaaS ideale per le applicazioni che richiedono la gestione di eventi in tempo reale come la chat dal vivo. Ti consente inoltre di pagare solo per le risorse utilizzate dalla tua applicazione e quindi ti fa risparmiare denaro.

La relazione tra Iaas, PaaS e Faas

Nel mondo del cloud computing, ci sono tre livelli principali di infrastruttura: infrastruttura come servizio (IaaS), piattaforma come servizio (PaaS) e funzione come servizio (FaaS). La relazione tra questi strati può essere intesa come segue:

Lo IaaS fornisce risorse virtualizzate di base astratte dall’hardware fisico, come volumi di archiviazione, interfacce di rete e macchine virtuali. Queste risorse possono essere utilizzate per creare applicazioni direttamente su di esse. Poiché IaaS è basato su hardware fisico, ha requisiti di prestazioni elevate in termini di velocità effettiva e latenza. Le applicazioni create utilizzando IaaS di solito richiedono linguaggi di alto livello come Java o Python perché devono interagire direttamente con il sistema operativo.

Il PaaS fornisce un ambiente in cui gli sviluppatori possono creare le proprie applicazioni senza doversi preoccupare della gestione dell’infrastruttura sottostante. Negli ambienti PaaS, gli sviluppatori hanno accesso a librerie e framework che li aiutano a creare applicazioni rapidamente senza preoccuparsi di dettagli di basso livello come la configurazione dei server o la gestione dei database.

Il FaaS (Function as a Service) fa un ulteriore passo avanti agli sviluppatori di creare applicazioni senza dell’infrastruttura sottostante. Scrivono semplicemente il codice e lo distribuiscono nel cloud dove viene eseguito in risposta a eventi come richieste HTTP o query di database.

Come funziona il FaaS

Functions as a Service (FaaS) è uno stile di architettura che consente di creare applicazioni utilizzando piccole funzioni monouso che funzionano insieme. Il vantaggio principale di questo approccio è che consente all’applicazione di essere ridimensionata orizzontalmente più facilmente aggiungendo più istanze.

Con FaaS, non hai una singola esecuzione; invece, hai molte esecuzioni più piccole che vengono eseguite in modo indipendente e possono essere gestite separatamente. Ciò significa che se uno di loro fallisce, non influenzerà gli altri. Significa anche che puoi ridimensionare orizzontalmente aggiungendo più istanze.

Le prime applicazioni venivano in genere scritte utilizzando un’architettura monolitica. Ciò significava che l’applicazione era strutturata come un’unica esecuzione che doveva essere attivata tutta in una volta. Nel tempo, gli sviluppatori sono passati sempre più all’uso dei microservizi. I microservizi sono piccoli servizi impacchettati come contenitori che comunicano tra loro tramite API su socket HTTP o TCP/IP. Ogni microservizio può essere costituito da più funzioni come chiamate API o funzioni di logica aziendale.

Per concludere

C’è chiaramente molto potenziale da esplorare con questa nuova tecnologia e con i molti modi in cui interagiamo con i nostri computer e altri dispositivi digitali che ci circondano. Siamo ancora nelle prime fasi, poiché l’utilizzo è esploso di recente. Gli sviluppatori stanno ancora escogitando idee nuove e innovative su come utilizzarla e non c’è dubbio che abbiamo solo scalfito la superficie di come questa tecnologia può essere applicata.