Backend as a service (BaaS), también conocido como “mobile backend as a service”,[1][2][3] es un modelo para proporcionar a los desarrolladores web y de aplicaciones móviles una forma de vincular estas aplicaciones al almacenamiento en nube (cloud storage), servicios analíticos y/o otras características tales como la gestión de usuarios, la posibilidad de enviar notificaciones push y la integración con servicios de redes sociales.[4] Estos servicios se prestan a través de la utilización de kits personalizados de desarrollo de software (SDK) y las interfaces de programación de aplicaciones (API). BaaS es un modelo relativamente reciente en la computación en la nube,[5] donde la mayoría de empresas datan del 2011 o posterior.[6]
Las aplicaciones web y móviles requieren un conjunto similar de características en su backend, incluyendo notificaciones push, analíticas, integración con redes sociales y almacenamiento en la nube.[7] Cada uno de estos servicios tiene su propia API que debe de ser incorporada individualmente a una aplicación, proceso que puede ser largo y complicado para los desarrolladores de aplicaciones. Los proveedores BaaS forman un puente entre el frontend de una aplicación y varios servicios backend en la nube a través de una API y SDK unificada.
Proporcionar una forma coherente para gestionar los datos del backend significa para los desarrolladores no tener que desarrollar su propio backend para cada uno de los servicios que sus aplicaciones necesitan acceder, ahorrando potencialmente tiempo y dinero.
Aunque es similar a otras herramientas de desarrollo web de computación en la nube, como el software como servicio (SaaS), infraestructura como servicio (IaaS) y plataforma como servicio (PaaS), BaaS se distingue de estos otros servicios ya que está específicamente dirigido a las necesidades de la computación en la nube de la web y de los desarrolladores de aplicaciones móviles, proporcionando un medio unificado de conectar sus aplicaciones a servicios en la nube.[8][9]
Los proveedores de BaaS generan ingresos de sus servicios de diversas maneras, a menudo utilizando un modelo freemium. Bajo este modelo, un cliente recibe un determinado número de usuarios o llamadas API al mes y paga una cuota por cada usuario o llamada que excede este límite. Como alternativa, los clientes pueden pagar una cuota fija por un paquete que permita un mayor número de llamadas o usuarios activos por mes.
La finalidad de un mBaaS es facilitarnos el desarrollo de aplicaciones móviles. Por lo tanto, algunas de las herramientas básicas que debe ofrecer un proveedor son: