Function as a service

Function as a service (FaaS) è una categoria di servizi di cloud computing che fornisce una piattaforma che consente ai clienti di sviluppare, eseguire e gestire funzionalità di un'applicazione senza la complessità di dover creare e mantenere l'infrastruttura tipicamente associata allo sviluppo e al lancio di un'app.[1]

Lo sviluppo di un'applicazione secondo questo modello permette di ottenere un'architettura serverless e viene tipicamente utilizzata quando si creano applicazioni costituite da microservizi.

FaaS inizialmente veniva offerto da varie start-up intorno al 2010, come PiCloud.[2]

AWS Lambda è stata la prima offerta FaaS da parte di un grande fornitore di cloud pubblico, seguita da Google Cloud Functions, Microsoft Azure Functions, OpenWhisk (open source) di IBM/Apache nel 2016 e Oracle Cloud Fn (open source).[3]

Le FaaS spesso si basano su piattaforme e framework proprietari dei fornitori di servizi cloud. Ciò può limitare la flessibilità e la portabilità, poiché la migrazione a un altro fornitore o l'integrazione con i sistemi esistenti potrebbe diventare complessa.[4]

Casi d'uso modifica

I casi di utilizzo di FaaS sono associati ad una funzionalità "on demand" che consente di spegnere l'infrastruttura di supporto e di non sostenere alcuna spesa quando non è in uso.

Le principali funzioni riguardano la trasformazioni dei dati come[5]:

Confronto con i servizi di hosting di applicazioni PaaS modifica

I servizi di hosting di applicazioni Platform as a service (PaaS) sono simili a FaaS in quanto permettono agli sviluppatori di non dover configurare e gestire l'infrastruttura server; tuttavia, tali servizi hanno in genere sempre almeno un processo server in esecuzione che riceve richieste esterne ma sono gestiti in maniera automatizzata dal servizio.[6]

FaaS non richiede l'esecuzione costante di alcun processo del server. La gestione di una richiesta iniziale può richiedere più tempo rispetto ad una piattaforma di hosting di applicazioni (fino a diversi secondi), la cache però può consentire la gestione di richieste successive entro millisecondi.[7] Poiché gli sviluppatori pagano solo per il tempo di esecuzione delle funzioni - e nessun tempo di inattività del processo - si possono ottenere costi più bassi con una maggiore scalabilità a costo della latenza.

Note modifica

  1. ^ martinfowler.com, http://martinfowler.com/articles/serverless.html#unpacking-faas. URL consultato il 26 January 2018.
  2. ^ https://techcrunch.com/2010/07/19/picloud-launches-serverless-computing-platform-to-the-public/.
  3. ^ Amazon Web Service, https://aws.amazon.com/releasenotes/AWS-Lambda/8269001345899110. URL consultato il 26 February 2017.
  4. ^ Cloud computing: Architetture serverless e delle funzioni FaaS, su https://appuntisulblog.it/, 20 dicembre 2023. URL consultato il 3 gennaio 2024.
  5. ^ (EN) Amazon Web Services, Inc., https://aws.amazon.com/lambda/. URL consultato il 4 maggio 2018.
  6. ^ infoq.com, https://www.infoq.com/news/2016/06/faas-serverless-architecture.
  7. ^ medium.com, https://medium.com/thundra/dealing-with-cold-starts-in-aws-lambda-a5e3aa8f532.

Voci correlate modifica