Che cos’è l’elaborazione serverless?

L'elaborazione serverless è un pratica per fornire servizi back-end su base As-used.

Un provider serverless permette agli utenti di scrivere e distribuire contenuti senza doversi preoccupare dell’infrastruttura sottostante.

Una società che utilizza servizi di back-end paga in base all’uso dei server remoti senza la necessità di doversi garantire un numero minimo di server o una quantità minima di banda in quanto il servizio generalmente è auto-scaling. Tieni presente che, se anche questo servizio è chiamato serverless (senza server), i server fisici ci sono, ma l’utilizzatore non se ne occupa.

Agli albori del Web, chiunque volesse costruire un’applicazione Web doveva possedere l’hardware fisico necessario, che di fatto costituiva il server; questo risultava estremamente costoso e richiedeva l’utilizzo di uno spazio fisico, oltre ad una connessione di rete adeguata.

Con l’arrivo del Cloud i server, o la quantità di spazio utilizzato, potevano essere noleggiati e utilizzati da remoto. Gli sviluppatori e le aziende che utilizzano queste porzioni di server in genere acquistano spazio e traffico in abbondanza per evitare l’interruzione del servizio o un blocco delle applicazioni. Questo significa che gran parte dello spazio server pagato va’ sprecato.

Pertanto i fornitori di servizi Cloud hanno cominciato ad introdurre modelli con ridimensionamento automatico e con l’auto-scaling, ma anche con questa pratica un picco di attività, come un attacco DDoS, potrebbe risultare molto rischioso.

Vantaggi del serverless

L’elaborazione serverless permette agli sviluppatori di acquisire servizi di back-end su base flessibile in modalità “pay-as-you-go“, il che significa che pagano solo per i servizi realmente utilizzati. Questo equivale al passaggio da un piano dati, ad esempio di uno smart phone, con un limite fisso mensile a uno con addebito per ogni byte dati effettivamente utilizzato.

Dunque va ribadito che il termine serverless può risultare fuorviante, in quanto, nei fatti, i server che forniscono i servizi di back-end ci sono, ma la differenza è che tutti i problemi di infrastruttura, spazio e manutenzione del server vengono gestiti direttamente dal fornitore.

Serverless significa che gli utilizzatori possono fare il loro lavoro in tutta tranquillità senza doversi minimamente preoccupare del server e delle sue problematiche.

Cosa sono i servizi di back-end? Qual è la differenza tra front-end e back-end?

Lo sviluppo di applicazioni è generalmente suddiviso in due ambiti:

il front-end e il back-end.

  • Il front-end è la parte dell’applicazione che gli utenti vedono e con la quale interagiscono, ad esempio il layout visivo di un sito web.
  • Il back-end è la parte che l’utente non vede, come i file dell’applicazione e il database dove vengono conservati i dati dell’utente e la logica del sistema.

Il Front-end Vs il Back-end rispetto ad un'applicazione

Immaginiamo un sito Web che vende biglietti per concerti.

Quando l’utente digita un indirizzo nella finestra del browser, il browser invia la richiesta al server back-end, che risponde con i dati del sito Web mostrando le relative pagine.

L’utente vedrà quindi il front-end del sito Web, che includerà testo, immagini e campi del modulo da compilare.

L’utente quindi interagisce con uno dei campi del modulo sul front-end per cercare l’evento musicale preferito.

Quando l’utente fa clic su’ INVIA’, questo attiva un’altra richiesta al back-end. La procedura del back-end controlla il database per verificare se esiste l’evento cercato e, in caso affermativo, quando sarà disponibile e il numero di biglietti acquistabili. Il back-end quindi passerà i dati al front-end e il front-end permetterà la visualizzazione dei risultati in un modo che questi abbiano un senso per l’utente.

Analogamente, quando l’utente crea un account e immette delle informazioni per acquistare i biglietti, si verificherà di nuovo una comunicazione tra front-end e back-end.

Che tipo di servizi di back-end fornisce il Computing Serverless?

La maggior parte dei provider serverless offre servizi di database e di archiviazione, altri dispongono anche di piattaforme di tipo Function-As-a-Service (FaaS), tipico degli operatori CloudFlare.

Queste piattaforme possono eseguire anche solo pezzi di codice senza archiviare dati.

Quali sono i vantaggi dell'elaborazione serverless?

  • L’elaborazione serverless è molto conveniente in termini di riduzione dei costi, in quanto i provider di servizi di back-end tradizionali (noleggio di Server) spesso determinano il pagamento sulla base dello spazio complessivo, compreso quello inutilizzato o sulla base del tempo di CPU riservato, anche se non impiegato.
  • Simplified scalability: gli sviluppatori che utilizzano l’architettura serverless non si devono preoccupare degli aggiornamenti. Il fornitore serverless, normalmente, gestisce gli aggiornamenti in automatico o su richiesta.
  • Il codice del back-end (semplificato con FaaS), consente agli utenti di creare delle funzioni che svolgono in modo indipendente una procedura, come ad esempio una chiamata API.

Condividi questo articolo

Condividi su facebook
Condividi su linkedin
Condividi su twitter
Condividi su email