Site icon Ing. Silvio Lanza

Quali sono i vantaggi per il business e gli sviluppatori del serverless computing

Serverless o function-as-a-service (Faas) è una tipologia di servizi cloud che unisce modalità originali di design e di sviluppo software con superiori livelli di flessibilità nell’uso e calcolo dei costi

Tra le buzzword più recenti del mondo IT, il serverless computing, talvolta chiamato anche FaaS da “function as a service”, accompagna un nuovo interessante approccio nella realizzazione del software applicativo che si sposa molto bene con la natura dei servizi cloud.

Con serverless computing si intende un modello di sviluppo cloud nativo che permette agli sviluppatori di creare e rendere eseguibili le applicazioni senza gestire i server, o meglio, i server vengono utilizzati ma sono astratti dallo sviluppo delle app. In pratica, con il serverless computing si delega a un vendor l’esecuzione del codice lato server.

Le applicazioni del serverless/Faas hanno oggi un grandepotenziale nell’integrazione di molti servizi periferici o cloud laddove, per esempio, ci siano da elaborare le segnalazioni automatiche da sistemi IoT

Serverless rappresenta un passo avanti nel campo dei servizi cloud perché riesce a velocizzare il rilascio delle applicazioni laddove sono richieste alte potenze d’elaborazione “on demand” al verificarsi di specifiche condizioni.

Esempi di serverless computing sono oggi forniti da Amazon AWS Lambda, Google Cloud Foundation, Microsoft Azure Functions, Fx OpenWisk oltre che da progetti open source come Riff.

Lo sviluppatore non dove preoccuparsi del provisioning, dei server o delle configurazioni dell’infrastruttura, ma solo di creare funzioni che possano operare in modo indipendente dalle applicazioni (l’interazione è mediata da API o toolkit di sviluppo).

Poiché la logica d’esecuzione non dipende dallo stato dei sistemi, è possibile avviare un gran numero di istanze in parallelo; ogni servizio serverless si avvia e si arresta automaticamente a richiesta, usando la potenza elaborativa di cui ha bisogno in modo trasparente agli sviluppatori. 

L’esecuzione, isolata dal resto, per essere utile, dev’essere integrata nelle applicazioni d’impresa esistenti e con altri servizi che leggono e scrivono dati. Gli eventi costituiscono il punto di collegamento e insieme il linguaggio d’interazione che è caratteristico della logica serverless.

Il modo migliore per sperimentare il serverless computing è nel public cloud, cercando tra le offerte Faas dei provider con cui si hanno già rapporti oppure scegliendo in base alla disponibilità dei supporti utili per la gestione eventi. Altro aspetto importante è la selezione del progetto più adatto per essere prototipato come servizio serverless. Per questo conviene partire da IoT, software che supporta carichi di lavoro di scala molto variabile o applicazioni distribuite che devono reggere un numero imprevedibile di richieste utenti. Il serverless computing può rivelarsi l’opzione più economica per far girare job episodici di tipo batch. In vista dello sviluppo futuro delle procedure serverless potrà essere vantaggioso inserire fin da subito le capacità di generare eventi nelle applicazioni già in sviluppo con modalità tradizionali.

Exit mobile version