Sviluppare un back end personalizzato con il Backend as a Service

Il Software as a Service o SaaS è un elemento già comune nel cloud computing. Il Saas indica un software che può essere utilizzato tramite una connessione Internet senza la necessità di una versione locale. I nuovi servizi nel cloud sono in aumento anche in settori come lo sviluppo web. In questo articolo, diamo uno sguardo più da vicino a uno di questi ambiti: il Backend as a Service.

Cos’è il Backend as a Service (BaaS)?

Il Backend as a Service è un’area del cloud computing che fa riferimento a un’infrastruttura ospitata di back end sulla base della quale gli sviluppatori possono impostare rapidamente e facilmente un back end. Il vantaggio è che, grazie al BaaS, gli sviluppatori non hanno bisogno di programmare l’intera infrastruttura per un’applicazione web e possono concentrarsi invece sulla progettazione del front end. Gli sviluppatori del front end possono anche impostare un server funzionale in pochi passi.

Fatto

Tra i fondamenti dello sviluppo di applicazioni basate sul web, si fa distinzione tra il front end e il back end, i quali forniscono diverse funzionalità per creare un’applicazione. Nel front end, gli utenti vedono l’interfaccia dell’applicazione, ad esempio, sotto forma di menu, tabelle, grafica e testo su una pagina web. Nel back end, invece, vengono definite le funzioni di questi elementi e le configurazioni del server. Il front end stesso è progettato nel back end. Usando l’esempio di un sistema di gestione dei contenuti, i moduli di testo-grafica vengono definiti nel back end in modo che gli utenti possano poi compilare i contenuti per le pagine web attraverso testo e immagini nel front end. In questo modo, l’interazione tra back end e front end si traduce in un’applicazione web finita, come applicazioni o negozi online.

Le soluzioni BaaS contengono una serie di funzioni diverse come gli aggiornamenti automatici del back end, i database gestiti, l’autenticazione degli utenti e i login dei social.

Un altro esempio di cloud computing, oltre al BaaS e al Saas, è il Function as a Service (FaaS).

Come funziona il Backend as a Service?

Il modo in cui questa versione di back end funziona è simile all’hosting di un sito web. Il fornitore BaaS fornisce l’applicazione con diverse funzioni in modo che gli sviluppatori possano combinare i dati disponibili per creare un back end individuale. Gli sviluppatori accedono quindi alla configurazione del back end tramite interfacce rilasciate dal fornitore di servizi tramite API o un’interfaccia REST e progettano l’architettura dell’applicazione web desiderata come richiesto.

Per i provider più grandi, basta semplicemente registrarsi per poter iniziare con un pacchetto iniziale gratuito. A seconda del provider scelto, potreste essere in grado di registrarvi usando il vostro account Facebook o Google. I passaggi di registrazione generici includono la selezione della prima applicazione e la piattaforma di destinazione desiderata, ad esempio, HTML5, iOS o Android. La soluzione BaaS genera poi le chiavi API e, a seconda del provider, vengono create delle librerie JavaScript e vengono definite ulteriori funzioni standard.

Generalmente gli sviluppatori più esperti non avranno bisogno di alcuna formazione per configurare il back end. Impostare il back end tramite BaaS è facile e veloce.

Quali sono i pro e contro del BaaS?

Il Backend as a Service può semplificare e accelerare lo sviluppo delle app, ma non è necessariamente la scelta giusta per tutti gli scenari.

Vantaggi del Backend as a Service

  • Il vantaggio principale della soluzione offerta dal BaaS è dato dalla configurazione semplice del back end. In pochi clic, è possibile creare, ad esempio, modelli di tabelle. Qui ci si occupa anche delle connessioni al database.
  • Un altro vantaggio è la manutenzione del back end che è responsabilità del fornitore di servizi.
  • Le soluzioni BaaS possono essere basate sul cloud, il che significa che le infrastrutture possono essere gestite indipendentemente dalla vostra ubicazione o dalla posizione geografica del server.
  • Allo stesso tempo, gli sviluppatori designati per il back end non sono più necessari, il che rende obsoleta la comunicazione, spesso dispendiosa in termini di tempo, tra front end e back end, riuscendo a risparmiare sia tempo che denaro.
  • Poiché i modelli BaaS sono prevalentemente basati sul credito, gli utenti pagano solo per i contingenti di cui hanno bisogno. I fornitori tendono ad offrire diversi livelli di pacchetti (simili ai pacchetti di hosting) in modo che gli utenti abbiano una panoramica dei costi in anticipo. La possibilità di gestire i diversi contingenti rende le soluzioni Backend as a Service adatte anche alle piccole aziende che non sono in grado di implementare lo sviluppo di un proprio back end a causa delle risorse limitate.
  • La scalabilità è un fattore decisivo quando si tratta di applicazioni web e può incidere notevolmente sui costi. A prima vista, il Backend as a Service offre un vantaggio, poiché la scalabilità e la gestione sono responsabilità del fornitore BaaS o sono specificate dal fornitore e possono essere eseguite automaticamente. Questo significa che il server non ha bisogno di essere aggiornato o migrato manualmente. A seconda del tipo e delle dimensioni, i pacchetti possono includere funzioni standard, come l’invio di messaggi push, la copertura di iOS e Android e l’accesso alle funzioni dei social media di Facebook o Twitter.

Svantaggi del Backend as a Service

  • Come conseguenza di quanto anticipato nel paragrafo precedente, a causa della scalabilità automatica possono sorgere costi imprevisti se, ad esempio, il numero di richieste in arrivo e le quantità di immagazzinamento dati necessarie sono sconosciute o superano di molto i valori stimati. Al contrario, le capacità e i prezzi associati sono noti in anticipo con i server dedicati. I costi del BaaS al di là del pacchetto di base sono più difficili da anticipare, rendendo difficile un confronto tra costi.
  • Gli aspetti di sicurezza, ad esempio sottoforma di archiviazione regolare dei dati del server, variano da un fornitore all’altro. Gli utenti dovrebbero capire bene in anticipo quali sono i cicli di archiviazione del fornitore BaaS per assicurarsi che i dati vengano salvati negli intervalli richiesti. Questo include anche i backup nel caso di un guasto al server. Conviene dunque verificare in anticipo con il fornitore quanto tempo dopo un guasto un server è di nuovo utilizzabile e quali dati vengono salvati in caso di guasto. Quando i dati degli utenti vengono raccolti ed elaborati, la protezione dei dati sensibili deve essere una priorità assoluta.
  • Un altro svantaggio si presenta quando si passa da un fornitore di Backend as a Service a un nuovo fornitore del servizio. Questo perché i provider utilizzano la propria interfaccia server e i propri kit di sviluppo software, memorizzando così le API, i driver o i protocolli di rete in luoghi separati. In questo caso, non è sufficiente cambiare un indirizzo del server o reindirizzare le richieste in entrata. Inoltre, gli sviluppatori possono preferire diversi approcci di implementazione. Di conseguenza, spesso un back end deve essere re-implementato quando si cambia fornitore.
  • Le ubicazioni dei server tendono a differire a seconda del provider. Questo può ostacolare le vostre ambizioni nei confronti del BaaS o ridurre la vostra scelta di potenziali provider se, ad esempio, l’ubicazione dei server nell’UE è un criterio importante per voi.