FaaS: Cos’è, Come funziona, Vantaggi, Casi d’uso ed Esempi
- Home
- Blog
- Tecnologie e concetti IT
- FaaS: Cos’è, Come funziona, Vantaggi, Casi d’uso ed Esempi

In un’era dominata dal cloud computing e dalle architetture serverless, il servizio FaaS (Function as a Service) rappresenta una tecnologia in grado di proporre funzionalità estremamente scalabili e flessibili. Il FaaS, infatti, offre un modello di sviluppo ed esecuzione del codice capace di garantire numerosi vantaggi alle imprese moderne.
Ma cos’è esattamente il FaaS? Scopriamo tutto ciò che dovresti sapere.
Indice dei contenuti
Il Function as a Service (FaaS), è una tipologia di servizio di cloud computing serverless che consente l’esecuzione di un’applicazione mediante funzioni, nel momento in cui si verifica un evento. L’esecuzione viene chiusa quando l’evento ha termine, in modo che non vi sia l’esigenza di mantenere un’infrastruttura persistente.
Gli utenti, quindi, possono sviluppare ed eseguire un’applicazione di proprietà senza dover configurare e creare l’infrastruttura informatica sottostante. Ciò gli permette di concentrarsi sullo sviluppo, evitando l’esigenza di dedicarsi alla creazione e preparazione degli ambienti infrastrutturali.
Il FaaS fonda le sue basi su container stateless. Le funzioni vengono eseguite in risposta a determinati eventi. Una delle caratteristiche e dei vantaggi degli ambienti FaaS è la loro alta scalabilità.
Con FaaS, gli sviluppatori possono eseguire applicazioni web in risposta a un evento, senza dover gestire i server. L’infrastruttura FaaS viene generalmente misurata dal provider dei servizi, grazie a un modello di esecuzione basato su eventi. In tal modo, il servizio può essere utilizzato al bisogno senza necessità di eseguire in modo costante i processi server in background (come avviene per il modello PaaS, Platform as a Service).
Le funzioni FaaS vengono incapsulate in container stateless, software leggeri e autosufficienti, avviati dal fornitore nel momento in cui è richiesta una funzione. Il fornitore avvia ed esegue il container sino al termine dell’elaborazione. In ultimo, il container viene eliminato automaticamente in modo da liberare risorse e permettere un’elevata scalabilità.
FaaS rappresenta uno strumento prezioso, soprattutto per chi desidera migrare le applicazioni nel cloud. FaaS offre i seguenti vantaggi:
Trattandosi di un’architettura in grado di ridimensionare e isolare facilmente le transazioni, il FaaS si configura come soluzione efficace per carichi di lavoro paralleli ad alto volume. I casi di utilizzo del FaaS sono differenti e variegati: per la creazione di sistemi di backend, per l’elaborazione dei dati, la codifica o aggregazione dei dati, lo streaming video, l’esecuzione di script programmati, la gestione delle code, la conversione di formato o anche per creare chatbot online o backend per dispositivi IoT.
Vediamo alcuni esempi concreti di utilizzo del FaaS:
Serverless e FaaS vengono spesso confusi: in realtà, FaaS è un sottoinsieme di serverless, un modello di serverless compunting. Quest’ultimo termine include qualsiasi categoria di servizio (database, archiviazione, elaborazione, messaggistica, gateway API e altro) che prevede processi di configurazione, gestione e fatturazione dei server non visibili per l’utente.
FaaS, nonostante sia la tecnologia portante delle architetture serverless, si fonda su un paradigma di elaborazione orientato agli eventi, nel quale i contenitori (o il codice di applicazione) vengono eseguiti in risposta a delle richieste. Gli sviluppatori possono gestire funzioni senza doversi preoccupare dell’infrastruttura.
Non tutti i modelli serverless sono FaaS: alcuni, come ad esempio il PaaS, offrono un ambiente totalmente diverso. Scopriamo di più.
FaaS e PaaS sono entrambe modelli di cloud computing. Entrambe offrono un ambiente di sviluppo ed esecuzione del codice che non prevede l’esigenza di gestire infrastrutture o server. Nonostante le caratteristiche comuni, FaaS e PaaS si differenziano in modo sostanziale.
Mentre il FaaS si concentra sull’esecuzione di funzioni stateless (ovvero blocchi di codice indipendenti, che non conservano lo stato tra le invocazioni), il PaaS offre una piattaforma completa per lo sviluppo, la gestione e l’esecuzione di applicazioni con stato.
FaaS rappresenta la migliore scelta per l’esecuzione di task semplici e brevi, come l’elaborazione di dati o l’invio di notifiche. Inoltre, offre un’elevata scalabilità automatica e un comodo modello di pagamento pay-per-use. Necessita di un’accurata progettazione della funzione per la gestione di dati e dipendenze esterne.
PaaS, invece, include servizi come database, strumenti di sviluppo, middleware e ambienti di staging. PaaS offre la possibilità di utilizzare macchine virtuali per l’esecuzione di applicazioni con stato complesse. Garantisce un’elevata flessibilità e il completo controllo sulla configurazione dell’ambiente di esecuzione. Può essere più oneroso del FaaS in quanto il modello di pagamento in genere si basa su risorse prenotate.
Ulteriori differenze tra FaaS e PaaS risultano chiare se si considerano i casi d’uso:
Come scegliere il modello più appropriato? È bene considerare i seguenti fattori nella scelta tra FaaS e PaaS:












