# Backend as a service

Backend come un servizio (in inglese "backend as a service" o in sigla BaaS), noto anche come "mobile backend as a service" (mBaaS), è un modello per fornire a sviluppatori di app web o mobili un modo per collegare le loro applicazioni a un backend cloud storage e API (interfacce di programmazione di un'applicazione) esposte da applicazioni backend, fornendo allo stesso tempo funzioni quali la gestione degli utenti, le notifiche push, e l'integrazione con servizi di rete sociale. Questi servizi sono forniti attraverso l'uso di kit di sviluppo software personalizzato (SDK) e interfacce di programmazione delle applicazioni (APIs). Baas è uno sviluppo relativamente recente nel cloud computing, con la maggior parte delle startup Baas risalente dal 2011 in poi. Anche se è un settore piuttosto nascente, le tendenze indicano che questi servizi stanno guadagnando rilevanza e popolarità con i consumatori aziendali.
Il mercato globale BaaS nel 2012 aveva un valore stimato di 216,5 milioni di dollari e un valore previsto entro il 2017 fino a 7,7 miliardi di dollari. Alcuni esempi di fornitori di backend di consumo sono Parse (acquisita da Facebook), Apigee, Backendless, Baasbox, Kii, built.io e Firebase. Fornitori di backend aziendali includono Encore.io, Appear Networks, Appcelerator, AnyPresence, Kidozen, Kinvey, e FeedHenry. Syncano è un esempio di un fornitore di backend che funziona sia con consumatori e clienti aziendali. Alcuni dei più grandi fornitori di tecnologia stanno cercando di riempire il divario tra i due.

## Scopo

Applicazioni web e mobile richiedono un analogo insieme di funzionalità sul backend, comprese le notifiche push, l'integrazione con le reti sociali e il cloud storage. Ognuno di questi servizi ha la propria API che deve essere incorporate singolarmente in una app, un processo complicato che può richiedere molto tempo per gli sviluppatori di applicazioni. I provider di BaaS formano un ponte tra il frontend di un'applicazione e vari cloud-based backend tramite una API unificata e SDK (pacchetto di sviluppo per applicazioni). Fornire un metodo costante e coerente per gestire i dati di backend significa che gli sviluppatori non hanno bisogno di sviluppare più volte il proprio backend per ciascuno dei servizi che le loro applicazioni hanno bisogno di accedere, potenzialmente risparmiando tempo e denaro. Anche se è simile ad altri strumenti di sviluppo di cloud computing, come il ‘software as a service’ (SaaS),' Infrastructure as a Service' (IaaS) e ‘Platform as a Service’ (PaaS), Baas si distingue da questi altri servizi poiché riguarda in particolare le esigenze del cloud computing di sviluppatori di applicazioni web e mobile, fornendo uno strumento unificato per collegare le loro applicazioni ai servizi cloud.

## I fornitori di servizi

Ogni fornitore BaaS offre una serie leggermente diversa di strumenti di backend e di risorse. Tra i servizi più comuni offerti ci sono le notifiche push, l'archiviazione e la condivisione di file, l'integrazione con i social network, servizi di localizzazione, funzioni di messaggistica e di chat, la gestione degli utenti, esecuzione di logica di business e strumenti di analisi di utilizzo.
I fornitori Baas hanno un centro di attenzione molto ampio, fornendo SDK e le APIs che lavorano per lo sviluppo di applicazioni su più piattaforme, come iOS, Android, Blackberry, Windows Phone, HTML5, e altri. I fornitori possono anche offrire collegamenti a diverse opzioni di storage backend, come Microsoft Azure, Rackspace e Amazon EC2.

### Modello di business

I fornitori BaaS generano un ricavato dai loro servizi in vari modi, utilizzando spesso un modello freemium. Secondo questo modello, un cliente riceve un certo numero di utenti attivi liberi o chiamate API al mese, e paga una tariffa per ogni utente o chiamata oltre questo limite. In alternativa, i clienti possono pagare una tariffa fissa per un pacchetto che consente un maggior numero di chiamate o di utenti attivi al mese.