Tag: Amazon S3


Mobile Backend as a Service Patrón de Arquitectura

Introducción

Mobile Backend as a Service o simplemente MBaaS, es un modelo de arquitectura donde recursos de backend que soportan aplicaciones móviles son aprovisionados y operados como servicio administrado. En este modelo, todo el detalle interno de mantener alta disponibilidad de los servicios, escalar la capacidad de acuerdo con la demanda y adaptarse respondiendo a fallas de componentes de infraestructura, son realizados de forma transparente por AWS. Al liberar el equipo técnico de todo el trabajo de mantener una infraestructura de operaciones, las empresas pueden dedicar más tiempo y esfuerzo en los aspectos que más diferencian su aplicación de las otras existentes, como por ejemplo, creación de nuevas funcionalidades, interfaces y detalles en la usabilidad. Además de esto, el modelo permite una fácil reutilización de componentes de backend porque ellos generalmente cuentan con APIs para una fácil integración con otros módulos de la misma aplicación (ejemplo: interface web) o hasta aplicaciones distintas que necesitan del mismo servicio.

Este artículo está estructurado de la siguiente forma: inicialmente describiremos los servicios de AWS que pueden ser utilizados para soportar una arquitectura MBaaS; en seguida detallaremos cómo estos servicios pueden ser integrados de forma que podamos montar un patrón de arquitectura que soporta aplicaciones semejantes; para facilitar la lectura de esta estructura, junto con el arquitecto de AWS Fabio Silva, montamos un ejemplo de aplicación y destacamos algunos segmentos de código para demostrar detalles de la implementación de la solución y por último, revisaremos los principales conceptos, puntos de atención de la solución y listaremos algunos productos más que pueden ser usados para complementar la arquitectura presentada aquí.

Se asume que los lectores conocen y tienen experiencia con desarrollo para dispositivos móviles. El artículo no abordará informaciones sobre tecnologías y estructuras de arquitectura de aplicación (client side). A pesar que tenemos algunos ejemplos de código para la plataforma Android, el foco es estudiar lo que ocurre del lado del backend de estas aplicaciones.

(more…)