¿Cuál debería ser la arquitectura de mi servidor de aplicaciones para una aplicación móvil que muestra una fuente de datos?

Los datos del back-end se almacenarán en Riak (una base de datos NoSQL), con AWS S3 como almacenamiento de objetos.

¿Cuál es la mejor manera para mí de diseñar el servidor de aplicaciones entre la base de datos y las aplicaciones del cliente? ¿Debería desarrollar un servicio REST basado en Django al que los clientes móviles se conectan directamente? O hay un mejor camino…? Definitivamente quiero asegurarme de que la solución sea escalable, independientemente del trabajo requerido o la tecnología utilizada. Antes estaba pensando en desarrollar el servidor (y una aplicación web opcional, aún no decidido) usando Node.js, y luego encapsular las vistas web dentro de los clientes iOS y Android, pero no estoy seguro de que sea un enfoque escalable …

Además, si ayuda a almacenar en caché los datos, también estoy dispuesto a evaluar Redis / Memcached para servir como almacenamiento en memoria además de Riak para reducir las latencias.