Cos'è il Function-as-a-Service (FaaS)?

FaaS è un servizio di back-end serverless che consente agli sviluppatori di scrivere al volo parti di codice modulari che possono essere eseguite in risposta a determinati eventi.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Definire FaaS
  • Scoprire i vantaggi e gli svantaggi di FaaS
  • Descrivere perché una rete perimetrale di grandi dimensioni è essenziale per le prestazioni delle applicazioni FaaS

Argomenti correlati


Vuoi saperne di più?

Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.

Fai riferimento all'Informativa sulla privacy di Cloudflare per scoprire come raccogliamo ed elaboriamo i tuoi dati personali.

Copia link dell'articolo

Cos'è il Function-as-a-Service?

Il Function-as-a-Service (FaaS) è un modo serverless per eseguire parti di codice modulari sul perimetro. FaaS consente agli sviluppatori di scrivere e aggiornare al volo un pezzo di codice, che può poi essere eseguito in risposta a un evento, ad esempio il clic di un utente su un elemento in un'applicazione Web. Ciò semplifica la scalabilità del codice e rappresenta un modo conveniente per implementare i microservizi.

Cosa sono i microservizi?

Se un'applicazione Web fosse un'opera d'arte visiva, utilizzare un'architettura a microservizi sarebbe come creare un'opera d'arte da una serie di tessere di mosaico. L'artista può facilmente aggiungere, sostituire e riparare una tessera alla volta. Un'architettura monolitica sarebbe invece come dipingere l'intera opera su un unico pezzo di tela.

Architettura di microservizi e architettura monolitica

Questo approccio di creazione di un'applicazione da un insieme di componenti modulari è noto come architettura di microservizi. Per gli sviluppatori, suddividere un'applicazione in microservizi è interessante perché consente loro di creare e modificare piccoli pezzi di codice che possono essere facilmente implementati nelle loro basi di codice. Ciò è in contrasto con l'architettura monolitica, in cui tutto il codice è intrecciato in un unico grande sistema. Nel caso di sistemi monolitici di grandi dimensioni, anche una modifica minore all'applicazione richiede un processo di distribuzione impegnativo. FaaS elimina questa complessità di distribuzione.

Utilizzando codice serverless come FaaS, gli sviluppatori Web possono concentrarsi sulla scrittura del codice applicativo, mentre il provider serverless si occupa dell'allocazione del server e dei servizi di backend.

Quali sono i vantaggi dell'utilizzo di FaaS?

Maggiore velocità degli sviluppatori

Con FaaS, gli sviluppatori possono dedicare più tempo a scrivere la logica dell'applicazione e meno tempo a preoccuparsi dei server e delle distribuzioni. Ciò si traduce solitamente in uno sviluppo molto più rapido.

Scalabilità integrata

Poiché il codice FaaS è intrinsecamente scalabile, gli sviluppatori non devono preoccuparsi di creare situazioni di emergenza in caso di traffico elevato o utilizzo intenso. Il provider serverless gestirà tutti i problemi di scalabilità.

Efficienza dei costi

A differenza dei fornitori di servizi cloud tradizionali, i provider FaaS serverless non addebitano ai propri clienti alcun costo per i tempi di elaborazione inattivi. Per questo motivo, i clienti pagano solo per il tempo di elaborazione effettivamente utilizzato, senza dover sprecare denaro in un provisioning eccessivo di risorse cloud.

Quali sono gli svantaggi di FaaS?

Meno controllo del sistema

Affidare la gestione di una parte dell'infrastruttura a una terza parte complica la comprensione dell'intero sistema e aggiunge difficoltà di debug.

Maggiore complessità richiesta per i test

Può essere molto difficile integrare il codice FaaS in un ambiente di test locale, rendendo il test approfondito di un'applicazione un'attività più impegnativa.

Come iniziare con FaaS

Per abilitare la funzionalità FaaS per un'applicazione Web, gli sviluppatori devono stabilire una relazione con un provider serverless. Poiché l'integrazione FaaS implica che parte del codice applicativo verrà distribuito dal perimetro, la disponibilità e la distribuzione geografica dei server perimetrali sono considerazioni importanti. Un utente in Italia che accede a un sito che si basa sul codice edge FaaS servito da un datacenter sovraccarico in Brasile riscontrerà il tipo di ritardo che porta a elevati tassi di rimbalzo. Cloudflare Workers è una soluzione FaaS che sfrutta la rete globale di Cloudflare con datacenter in oltre 335 città, rendendola una scelta popolare.