¿Qué backend debo usar si mi aplicación móvil (Android, iOS y WP) manejará miles de solicitudes de manera consistente? ¿Debo considerar a Parse como una posible solución?

Hola,

Sugeriría mirar a Elixir y Phoenix. Es una solución bastante nueva en comparación con Ruby, por ejemplo, pero está construida en Erlang Virtual Machine, que es un lenguaje probado en batalla utilizado para desarrollar WhatsApp, por ejemplo. El equipo de desarrollo detrás de WhatsApp pudo lograr más de 2 millones de clientes de mensajería en un solo servidor con menos de 1 segundo de tiempo de transmisión gracias a Erlang.

Elixir y Phoenix es:

Tolerante a fallas: evita que las fallas del sistema operativo y del hardware interfieran con la operación,

Altamente concurrente: todo se carga simultáneamente sin esperar a que se completen otros cálculos,

Fácilmente escalable: preparado para alto tráfico y futuras mejoras,

Más rápido: en el punto final de la API JSON de una de nuestras aplicaciones, obtuvimos un rendimiento un 300% mejor en comparación con el marco de trabajo de Rails, y aún mantenemos una utilización de recursos mucho menor.

Desde nuestra experiencia, va a cambiar las tendencias en el mundo de los desarrolladores. Hemos logrado ejecutar 3 proyectos exitosos con Elixir y Phoenix, y el resultado es que nuestro equipo de back-end es durante la transición a Elixir y Phoenix.

Espero que esta breve información te ayude un poco.

Parse fue una gran solución, pero fue cerrada por Facebook. Existen varias soluciones disponibles en el mercado y debe considerar los siguientes aspectos para determinar su decisión. La mejor opción depende del tipo de aplicación que desarrolle, pero al menos los siguientes aspectos deben ser evaluados:

Acceso al código fuente: la pregunta clave que debe hacerse al seleccionar un proveedor de BaaS es si el código fuente está abierto y disponible para el usuario final. La mayoría de las compañías de BaaS no proporcionan acceso al código fuente de la aplicación y los desarrolladores están bloqueados
siempre en la plataforma. Parse (Parse) apagado representa claramente cómo el software
Los ingenieros dependen de los proveedores de BaaS y dependen de ellos. Porque
La decisión de Facebook de cerrar la plataforma Parse, miles de desarrolladores tienen una
gran problema para migrar las aplicaciones a un nuevo proveedor. A menos que los usuarios hayan completado
acceso a los datos y al código fuente, cuanto más crece la empresa, más dependiente
estarán en un proveedor de BaaS. Este factor solo puede verse como un riesgo para
Los fundadores, ejecutivos e inversores de startups. Es extremadamente importante para el
El equipo técnico tendrá acceso continuo al código fuente generado por BaaS
proveedor y flexibilidad para alojar el servicio donde sea más adecuado. Nuevo
Los reproductores BaaS, como Back4app ( http://www.back4app.com ) tienen un nuevo enfoque y permiten a los desarrolladores un acceso completo al código fuente
e integración con repositorios Git.

Costos: cuanto más crezca una aplicación, mayor será el cargo de BaaS por el servicio prestado. Las métricas más importantes para cargar una startup son las solicitudes de API y el almacenamiento total. Algunos sitios web de BaaS son bastante confusos y es un verdadero desafío comprender cuánto será el cargo total a fin de mes. Algunas startups no tienen en cuenta los costos recurrentes y crecientes del proveedor de BaaS. Recomiendo encarecidamente comprender claramente cómo se cobra el servicio antes de usar cualquier proveedor de BaaS y también simular al menos una simulación de un año para
proyecte cómo se verá la estructura de costos.

Confiabilidad: tan pronto como el inicio comience a hacerse más complejo, la aplicación se volverá. Considerando que BaaS es un mercado relativamente nuevo, no todos los proveedores de BaaS están preparados para este nivel de complejidad y gran cantidad de usuarios. Por lo tanto, el servicio de alojamiento BaaS se vuelve inestable o pone en peligro lentamente el negocio de inicio. Este riesgo puede mitigarse con una investigación inicial de qué proveedores son más confiables y adecuados para los planes de inicio a largo plazo.

Mucho depende del tipo de datos que necesita servir. Es solo una consulta de búsqueda que recibiría, entonces cualquier servicio de par de valores de clave de baja latencia con una caché distribuida entregaría lo bueno.
Si las consultas necesitan algo de cálculo previo y requieren un uso intensivo de cómputo, debe generar una vista y almacenar los resultados nuevamente en la memoria caché con frente.

Debe responder preguntas como si necesita consistencia o disponibilidad. ¿Cuál es la proporción de lectura vs escritura? Esta es una pregunta muy genérica, y podría haber toneladas de soluciones correctas e igualmente incorrectas.

Cuando dice miles de solicitudes, ¿quiere decir concurrente? Si es así, es posible que necesite alguna partición horizontal.

Complete los detalles y brinde un breve resumen de los datos, tipo de consultas (No necesita los detalles del negocio, puede mantener su confidencialidad)

Depende de lo que estés haciendo. Algunos podrían sugerir genéricamente marcos asincrónicos que manejan bien la concurrencia. Node.js es un supuesto obvio. Incluso podría usar un marco de Python asíncrono como Tornado.

Parse habría sido una buena opción, pero ya no están disponibles. Cuando Facebook (si no recuerdo mal) los compró, lo tomaron en privado y cortaron a todos.

Busque backend como servicio (BaaS). En el mundo del juego me gusta PlayFab. Aunque realmente no hay ninguna razón por la que no admitiría también juegos que no sean juegos.

PlayFab y cualquier BaaS legítimo pueden manejar millones de usuarios concurrentes: PlayFab estaba probando la carga a 9 millones, creo que era el número.