Backend as a Service, conocido por su siglas BasS, es un modelo que permite a los desarrolladores web y desarrolladores mobile una serie de servicios permitiendo prescindir totalmente de una api personalizada. El tipo de servicios que se ofrecen pueden ser tales como:
- Almacenamiento en la nube
- Servicios de analítica
- Autenticación
- Notificaciones push
- Realtime
Dicho así suena algo abstracto, pero seguro que si te hablo de Firebase, Parse o Backendless te puedes hacer una idea. Este concepto ha nacido relativamente hace poco, aproximadamente en 2011, y permite a las empresas prescindir de un desarrollo a medida que ofrezca servicios concretos, ya que puede ser un proceso y largo para el objetivo de tu aplicación. Se podría traducir que en que los provedores BaaS crean el puente entre el lado frontend de una aplicación y los servicios backend a través de una api unificada.
En general este tipo de proveedores tienen un modelo de negocio ofreciendo un modelo freemium y cobrándote a partir de una cuota de usuarios o llamadas a su API. Esto también es beneficioso para el cliente ya que solo pagará en función de las necesidades generando un consumo totalmente elástico y adaptado a la necesidad. Esto permite a startups crear sus productos y probar su idea de negocio sin realizar una gran inversión de desarrollo en el lado back.
Este modelo nace a empujado a través de modelos primos hermanos como SaaS, IaaS o Paas. Ejemplos de ello son proveedores que ofrecen este tipo de servicios son Amazon, Azure o Google Cloud que están promoviendo este modelo como un plus a los servicios que ya ofrecen.
Beneficios de utilizar una plataforma “Backend as a Service”
- Ofrecen un sistema de almacenamiento en la nube, por lo que prescindes de un mantenimiento y optimización de base de datos, solo debes adaptarte al servicio que se ofrezca.
- No requieres de costes de un servidor de aplicaciones, ya que no tienes que invertir en infraestructura y en ingeniería para realizar una gran arquitectura.
- Los principales servicios BaaS tienen librerías tanto del lado cliente como del lado servidor, por lo que se facilita bastante la integración
- Estos servicios suelen proporcionar un dashboard de administración bastante usables y cómodos para que cualquiera pueda gestionarlos, además de ofrecer estadísticas e información útil del consumo de tu app.
- Algunos proveedores ofrecen funcionalidades realtime para proporcionar su información, por lo que podemos desarrollar sencillamente funcionalidades como chats, videojuegos.
- Algunas plataformas permiten ejecutar código de backend que extiende sus características básicas, ofreciéndote libertad y abriendo un mundo de posibilidades.
Plataformas “Backend as a Service”
Hasta Enero de este año el servicio Baas mas famoso era Parse, pero anunciaron que cerrarían y han dejado libre el código. A día de hoy de los servicios más conocidos son Firebase de Google o Backendless. Tengo la impresión de que este modelo va a seguir creciendo y nacerán nuevos proveedores, signo de esto es que por ejemplo Google ha deprecado su sistema de mensajería push “Google Cloud Message” y ahora todas las notificaciones móviles van a través de su servicio Firebase. También otro grande como Amazon ha presentado su servicio BaaS integrado con su ya conocido AWS. Su plataforma se llama AWS Mobile.
¡Si tienes una idea de aplicación móvil y no quieres realizar un gran esfuerzo empieza a utilizar este tipo de plataformas!
Bonus: Si estás interesados en profundizar más sobre este tema, os recomiendo leer también el siguiente post de Antonio Fernández ¡Muy recomendado!