Una Serverless Web Application non è un'applicazione Web che può fare a meno di un server per il suo funzionamento, ma una soluzione basata sul Serverless computing (o elaborazione serverless), approccio che permette di realizzare progetti orientati ad Internet, eseguire App e Web service senza la necessità di dover gestire direttamente un server. Ma quali sono i vantaggi di questa metodologia?
Sostanzialmente grazie al Serverless computing vengono meno le operazioni di allocazione e gestione server, tale caratteristica riguarda anche i software, i servizi e i runtime che non devono più essere installati e gestiti ma sono disponibili da subito a livello di ambiente di produzione. Liberandosi dalle problematiche inerenti l'infrastruttura, lo sviluppatore può quindi concentrarsi maggiormente sul codice e sull'implementazione delle funzionalità fornite attraverso la propria applicazione.
Un esempio a riguardo potrebbero essere gli oneri in termini di tempo e investimenti legati alla configurazione di soluzioni per la fault tolerance (tolleranza ai guasti) e la built-in availability (disponibilità del servizio); queste ultime non dovranno essere integrate in fase di deployment in quanto erogate automaticamente. Nello stesso modo l'elaborazione serverless consente di ottimizzare l'impiego delle risorse che vengono utilizzate pienamente in quanto fornite sulla base del carico di lavoro generato da un'applicazione.
Nel caso in cui una Serverless Web Application non produca il traffico previsto non vi saranno risorse inutilizzate da pagare, basti pensare alle esigenze legate allo storage e all'elaborazione per le quali non saranno necessari investimenti a priori. Il Serverless computing prevede infatti che il servizio fornito sia in grado di scalare sulla base del carico corrente, questo perché il calcolo delle risorse avviene sulla base di unità di memoria o di throughput (capacità di trasmissione) e non per server utilizzati.
I vantaggi di un approccio Serverless si riassumono quindi in particolar modo nella riduzione degli oneri di gestione, con l'eliminazione più o meno completa del provisioning. Si tratta però di una soluzione sempre preferibile rispetto alle tradizionali metodologie basate sull'amministrazione server? Non necessariamente, perché quest'ultimo approccio garantisce ancora un maggior controllo su un progetto. L'ideale è come sempre testare tutte le alternative disponibili per capire quale sia la più adatta al proprio lavoro.
Via Savaram Ravindra