La mayoría de aplicaciones móviles, orientadas a usuarios empresariales o finales, disponen de un mobile backend que es básicamente una plataforma que ofrece una serie de servicios, ya sea en común a múltiples aplicaciones o la medida de cada requerimiento particular.
Concepto
Un backend suele ofrecer servicios comunes como: mensajería de correo electrónico, almacenamiento de ficheros, "push" notifications, autenticación de usuarios, entre otros. Es lo que soporta la operación del frontend de una aplicación que es con quien interactúan los usuarios.
Los desarrolladores pueden desarrollar por su propia cuenta el backend de una o varias aplicaciones móviles en servidores ubicados dentro de infraestructura en la nube o privada, dependiendo del alcance de la aplicación.
No obstante el mantenimiento de un backend suele ser complicado y aleja al desarrollador de los objetivos propios de la aplicación ya que eventualmente tendrá que preocuparse por actualizar, extender, corregir, escalar y versionar continuamente este backend.
BaaS
Como respuesta nace la figura de BaaS (Backend as a Service). Su propósito es entregar estos servicios comunes a los desarrolladores de aplicaciones móviles, bajo el modelo de software as a service, abstrayendo su operación.
Si bien es cierto existen múltiples BaaS operando desde hace algunos años, como el bien conocido Parse recientemente adquirido por Facebook y basado en la nube de Amazon, su modelo de costo podría no ser apto para aplicaciones y tiene algunas restricciones de flexibilidad.
Existen también BaaS bajo el modelo de código abierto como BaasBox donde el desarrollador puede disponer de mayor flexibilidad en la funcionalidad del backend y los datos, no resuelve el problema de escalabilidad y la operación de su infraestructura.
AWS Mobile
Recientemente Amazon lanzó AWS Mobile Services, una plataforma que opera dentro de la nube de Amazon orientada a servicios de backend para aplicaciones móviles.
AWS Mobile Services, además de entregar la funcionalidad común a los distintos servicios de backend, ofrece toda su infraestructura y flexibilidad en la nube para soportar la operación de la plataforma.
Por otro lado, dispone de lo que Amazon denomina Lambda Functions, que son procedimientos a la medida del desarrollador, disparados ante la ocurrencia de un evento en los servicios que componen la plataforma de la aplicación móvil.
Esta presentación de Jinesh Varia y Tara Walker durante el último AWS Summit describe mejor la operación de esta nueva plataforma de servicios para aplicaciones móviles.