¿Qué sucede si falla el service de datos en la nube de Parse?

Estoy considerando utilizar el service de datos en la nube Parse para mi aplicación mobile iOS / Android.

Por lo que veo en la documentation , mi aplicación estaría muy acoplada al SDK de Parse, que a su vez usa la API Parse REST (supongo).

¿Qué medidas se pueden tomar para networkingirigir la aplicación a otro service si Parse está inactivo o si ya no quiero usar Parse?

Lo ideal sería que le diga al SDK de Parse que use mi propio dominio y lo networkingirija a los serveres de Parse (¿cómo?). Si Parse falla, puedo cambiar mi DNS a otro lugar e intentar replicar la API REST de Parse (¿cómo?). ¿Esto es posible ahora? ¿Hay una mejor manera de prepararse para este escenario?

parse.com parece estar abajo en este momento y solo estaba buscando en línea random y encontré esta publicación. Dado que no puedo trabajar en mi proyecto ahora debido a la interrupción, pondré mis 2 centavos por este tema.

En primer lugar, definitivamente no estoy contento si mi proveedor de services subyacente baja, sin importar parse.com, AWS, rackspace o cualquier otra cosa. Sin embargo, esa es exactamente la compensación que firmamos y, a cambio, disfrutamos la facilidad de desarrollo y acortamos nuestro ciclo de desarrollo de 1 año a algo así como un par de meses.

Es peligroso para las startups en la primera etapa pasar demasiado time y energía concentrándose en temas que no son los más importantes en el momento dado. Personalmente, no me preocuparé de que parse.com esté inactivo mientras no pueda permitirse el time y los resources para build y mantener mi propio cluster de bases de datos. Obviamente, es bajo la suposition de que parse.com seguirá funcionando la mayor parte del time, algo así como 99.9% 🙂

El equipo de soporte y ventas de Parse se puso en contacto conmigo sobre esto. Lamentablemente, optaron por no tener una discusión pública, así que parafrasearé lo que me dijeron.

  • Actualmente no es posible cambiar la URL del server del SDK. No están seguros de si esta es una function que quieren o no. (Cabe señalar que la URL del server está expuesta en JavaScript SDK y puede modificarse fácilmente; busque api.parse.com ).
  • Usando Cloud Code , puedes crear tu propia API de server en la parte superior de Parse. El SDK de Parse tiene un PFCloud que se puede usar para hablar con el código de la nube, pero aún no he podido encontrar ningún ejemplo de uso en la documentation. Esto es similar a la respuesta de toadzki, pero debería ser mucho más simple de implementar.
  • También ofrecen instalaciones personalizadas de serveres de Parse.

Para tomar la vista opuesta …

¿Qué tan grande es su aplicación y compañía? Si eres un guardabosques solitario o un pequeño equipo que trabaja en una aplicación pequeña a media, la respuesta más probable es "No te molestes". Sí, en teoría podría configurar un sistema para que su aplicación (o alguna infraestructura en algún lugar) se networkingireccione a un service en la nube diferente, pero el time y esfuerzo necesarios para hacerlo y hacerlo bien es significativo. Tenga en count que, incluso si cree que ha implementado dicho sistema, tendrá que probar que funciona. No es realmente una tarea simple.

Duplicar la API de Parse y luego reenviar sonidos simples, pero el demonio está en los detalles. Especialmente para algo como esto.

Además, la adición de su propio server de reenvío agregará un punto de falla que casi seguramente será el eslabón más débil de la cadena. En resumen, ¡no te molestes!

Como una solución alternativa a la solución toadzky, podría hacer una interfaz con todos los methods de análisis en el dispositivo, por lo que podría cambiar fácilmente el Parse sdk con su propia implementación personalizada. En resumen, crea envoltorios para todas las llamadas de análisis.

Dicho esto, el análisis sintáctico es muy confiable y una gran parte de la funcionalidad también funciona en modo sin connection. También obtendrá respuestas de error que puede manejar de la manera que considere conveniente.

Si desea enrutar las requestes a través de su propio server, hágalo. Haga que su server ejecute el SDK de Parse, no el dispositivo. Haga sus pedidos a través de su propia API personalizada y vuelva a empaquetar la request y envíela a Parse. De esta manera, si decide cambiar los proveedores de la nube, su aplicación aún puede funcionar sin una actualización.