Che cos'è il computing serverless? | Definizione di serverless

Il computing serverless è un metodo di fornire servizi di backend su base "as-used". Si usano ancora i server, ma un'impresa che acquista servizi backend da un vendor serverless riceve un addebito sulla base dell'uso e non su un valore fisso di larghezza di banda o di numero di server.

Share facebook icon linkedin icon twitter icon email icon

serverless

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Definire il computing serverless
  • Delineare i vantaggi dell'utilizzare un'architettura serverless

Cos'è il computing serverless?

Il computing serverless è un metodo di fornire servizi di backend su base "as-used". Un'architettura serverless consente agli utenti di scrivere e implementare codice senza doversi preoccupare dell'infrastruttura sottostante. Un'impresa che acquista servizi backend da un vendor serverless riceve un addebito sulla base delle elaborazioni e non deve prefissare né pagare per una determinata larghezza di banda o un determinato numero di server, dato che il servizio è scalabile automaticamente. Si prega di notare che anche se si chiama serverless, vengono comunque ancora usati server fisici, ma è un aspetto che non tocca gli sviluppatori.

All'inizio del Web, chiunque volesse creare un'applicazione Web doveva possedere l'hardware fisico necessario per far eseguire un server, cosa che è costosa e farraginosa.

Poi arrivò il cloud, in cui un determinato numero di server o spazio su server poteva essere noleggiato remotamente. Gli sviluppatori e le imprese che noleggiano tale spazio nei server a unità fisse, in genere ne acquistano in eccesso per garantire che eventuali picchi di traffico o attività non superino i limiti mensili o rompano le loro applicazioni. Questo voleva dire che la maggior parte dello spazio su server che veniva acquistato in genere andava sprecato. I provider cloud hanno introdotto dei modelli automaticamente scalabili per affrontare la questione, ma anche così, un picco indesiderato di attività, come un attacco DDoS, potrebbe risultare molto costoso.

Vantaggi serverless

Il computing serverless consente agli sviluppatori di acquistare servizi backend su base "pay-as-you-go" flessibile, e cioè gli sviluppatori pagano solo per i servizi che usano. È come passare da un abbonamento per il cellulare a tariffa fissa e limite fisso mensili, a uno che ti addebita solo ogni byte di dati che usi davvero.

Il termine "serverless" è un po' fuorviante perché si usano comunque dei server per fornire questi servizi backend, ma tutto lo spazio nei server e tutto ciò che concerne l'infrastruttura è gestito dal provider. Serverless significa che gli sviluppatori possono lavorare senza doversi preoccupare dei server.

Cosa sono i servizi backend? Qual è la differenza tra frontend e backend?

Lo sviluppo delle applicazioni in genere si divide in due realtà: frontend e backend. Il frontend è la parte dell'applicazione che vedono e con cui interagiscono gli utenti, come ad esempio il layout visivo. Il backend è la parte che gli utenti non vedono; include il server in cui vivono i file dell'applicazione e il database in cui persistono i dati utente e la logica settoriale.

Differenze tra frontend e backend di un'applicazione

Ad esempio, immaginiamo un sito Web che venda biglietti per i concerti. Quando un utente digita una richiesta nella finestra del browser, quest'ultimo invia una richiesta al server di backend, il quale risponde con i dati del sito Web. L'utente quindi vedrà il frontend del sito Web, che includerà testo, immagini e campi che potrà riempire. L'utente quindi può interagire con uno dei campi del frontend per cercare uno dei suoi musicisti preferiti. Quando l'utente fa clic su "Invia", questo innesca una nuova richiesta al backend. Il codice del backend controlla il database per vedere se esiste un musicista con quel nome e, se così fosse, quand'è il suo prossimo concerto e quanti biglietti sono disponibili. Il backend quindi passa questi dati al frontend, il quale li visualizza in un modo che ha senso per l'utente. Allo stesso modo, quando l'utente crea un account e immette le informazioni finanziare per acquistare i biglietti, si verifica un'altra conversazione tra il frontend e il backend.

Che tipi di servizi backend può fornire il computing serverless?

La maggior parte dei provider serverless offre servizi di database e archiviazione, e molti hanno anche delle piattaforme Function-as-a-Service (FaaS), come Cloudflare Workers. Queste piattaforme possono eseguire pezzi di codice sul perimetro senza archiviare dati.

Quali sono i vantaggi del computing serverless?

  • Costi minori: il computing serverless è generalmente molto conveniente, dato che con i provider cloud classici di servizi backend (allocazione di server) spesso l'utente finisce per pagare per spazio non utilizzato o per periodi di CPU inattiva.
  • Scalabilità semplificata: gli sviluppatori che usano l'architettura serverless non devono preoccuparsi delle politiche per una scalabilità in crescita del codice. Il provider serverless si occupa di tutta la scalabilità su richiesta.
  • Codice backend semplificato: con FaaS gli sviluppatori possono creare funzioni semplici che eseguono indipendentemente uno scopo singolo, come eseguire una chiamata API.
  • Tempistiche velocizzate: l'architettura serverless può ridurre in modo significativo il tempo di commercializzazione. Invece di aver bisogno di un processo complicato di implementazione per rilasciare correzioni di bug e nuove funzioni, gli sviluppatori possono aggiungere e modificare il codice in modo frammentario.