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.
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.

