FaaS consente agli sviluppatori di scrivere e aggiornare una parte di codice al volo, che può quindi essere eseguita in risposta a un evento, ad esempio un utente che fa clic su un elemento in un'applicazione Web. Ciò semplifica la scalabilità del codice ed è un modo conveniente per implementare i microservizi.
Cosa sono i microservizi?
Se un'applicazione Web fosse un mosaico, utilizzare l'architettura dei microservizi sarebbe come creare l'arte da una collezione di tessere di mosaico: l'artista può facilmente aggiungere, sostituire e riparare una tessera alla volta. Questa si differenzia dalla classica architettura monolitica che sarebbe come dipingere l'intera opera su un unico pezzo di tela.
Microservizi vs architettura monolitica
Questo approccio alla creazione di un'applicazione da un set di componenti modulari è noto come architettura di microservizi. Dividere un'applicazione in microservizi è interessante per gli sviluppatori perché significa che possono 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. Con grandi sistemi monolitici, anche modifiche minori all'applicazione richiedono un pesante processo di distribuzione. FaaS elimina questa complessità di distribuzione.
Nadezhda Kozhedub / iStock via Getty Images Plus
Utilizzando un codice serverless come FaaS, gli sviluppatori Web possono concentrarsi sulla scrittura del codice dell'applicazione, mentre il provider serverless si occupa dell'allocazione del server e dei servizi di back-end.
Quali sono i vantaggi dell'utilizzo di FaaS?
Velocità dello sviluppatore migliorata
Con FaaS, gli sviluppatori possono dedicare più tempo alla scrittura della logica dell'applicazione e meno tempo a preoccuparsi di server e distribuzioni. Questo in genere significa un'inversione di tendenza dello sviluppo molto più rapida.
Scalabilità integrata
Poiché il codice FaaS è intrinsecamente scalabile, gli sviluppatori non devono preoccuparsi di creare contingenze per traffico elevato o uso intenso. Il provider serverless gestirà tutti i problemi di ridimensionamento.
Efficienza dei costi
A differenza dei fornitori di servizi cloud tradizionali, i fornitori FaaS senza server non addebitano ai propri clienti i tempi di elaborazione inattivi. Per questo motivo, i clienti pagano solo per il tempo di calcolo che utilizzano e non devono sprecare denaro per l'overprovisioning delle risorse cloud.
gorodenkoff / iStock via Getty Images Plus
Quali sono gli svantaggi di FaaS?
Meno controllo del sistema
Avere una terza parte che gestisce parte dell'infrastruttura rende difficile la comprensione dell'intero sistema e aggiunge problemi di debug.
Maggiore complessità richiesta per i test
Può essere molto difficile incorporare il codice FaaS in un ambiente di test locale e questo rende il test approfondito di un'applicazione un'attività più impegnativa.
Come iniziare con FaaS?
Gli sviluppatori devono creare una relazione con un provider serverless per abilitare la funzionalità FaaS per un'applicazione web. Poiché l'integrazione FaaS significa che parte del codice dell’applicazione verrà distribuito dall'edge, la disponibilità e la distribuzione geografica dei server edge è una considerazione importante. Un utente in Italia che accede a un sito che si affida al codice edge FaaS servito da un data center sovraccarico in Brasile incontrerà il tipo di ritardo che porta a frequenze di rimbalzo elevate.