Quiero construir un backend móvil iOS. ¿Cuáles son las ventajas y desventajas de hacerlo en Parse vs. Bluemix vs. App Engine?

Fuera de Parse, Bluemix y App Engine, solo he usado Parse y detallaré los beneficios de usarlo.

Parse es una gran opción porque es de código abierto, tiene una fuerte comunidad de desarrolladores para respaldar la tecnología y no tiene que recurrir a ningún proveedor.

Parse es extremadamente fácil de usar , es una tecnología consolidada que funciona de maravilla y le permite escalar aplicaciones sin problemas de infraestructura. Con Parse, podrás:

  • Implemente aplicaciones de forma rápida y previsible.
  • Implemente nuevas funciones de la aplicación sin inconvenientes y reduzca el código de la placa de la caldera.
  • Escale sus aplicaciones sin problemas.

Parse es un backend como servicio que es bastante conveniente para acelerar el desarrollo de aplicaciones porque las aplicaciones web y móviles requieren un conjunto de características análogas en el backend. Por ejemplo, notificación por correo electrónico, integraciones de redes sociales, notificaciones push, almacenamiento en la nube, etc. Cada uno de estos servicios tiene su propia API que debe incorporarse por separado en una aplicación. Esta es una práctica que requiere mucho tiempo, un proceso que puede llevar mucho tiempo y ser complicado para las aplicaciones y puede automatizarse usando Parse.

Las principales razones para usar Parse se destacan a continuación:

Costo de desarrollo: los proyectos de software suelen ser muy caros y requieren mucho tiempo. La razón principal es porque la mayor parte del desarrollo no está automatizado y está hecho a medida para cada cliente. Uno de los propósitos principales de Parse es automatizar tareas repetitivas y evitar asignar ingenieros de software para realizar actividades de bajo valor agregado. Al hacerlo, se asignan menos horas de desarrollo al proyecto y el costo total del proyecto es mucho menor.

Velocidad: según el tipo de aplicación, el desarrollo del backend se puede acelerar hasta 4 veces. Permite a las grandes empresas cambiar más rápidamente a las necesidades del mercado (no lleva meses implementar una solicitud de cambio) y a las nuevas empresas tener su MVP: producto mínimo viable listo más rápido.

Experiencia del desarrollador: la curva de aprendizaje para usar un Parse es muy baja y exige muy poco esfuerzo para que un desarrollador use este tipo de plataforma. Esto significa que un desarrollador front-end o un desarrollador móvil puede construir un proyecto de software completo solo sin (para proyectos pequeños) la intervención de un desarrollador back-end a tiempo completo. Para proyectos grandes, el desarrollador de back-end puede enfocar su tiempo en tareas de alto valor en lugar de asignar tiempo de desarrollo en actividades repetitivas.

Si le gusta el concepto detrás de Parse, debería mirar también en Back4app, que es el servicio de alojamiento de Parse más utilizado y ha fortalecido a Parse y ha agregado nuevas funciones en la parte superior. Puede ver los detalles en el siguiente enlace:

Un nuevo enfoque para el mercado de backend como servicio – Hacker Noon

Descargo de responsabilidad, soy fundador de Back4app.

De los 3, solo he usado App Engine ampliamente, por lo que este análisis se basa en lo que pude encontrar en la documentación, no en el uso real. Además, aunque preguntó específicamente sobre App Engine, debe considerar toda la plataforma Google Cloud, ya que incluye Container Engine, que es más comparable a Bluemix.

Almacenamiento y puntos finales
Las 3 soluciones ofrecen bases de datos NoSQL. Bluemix se integra directamente con Core Data, mientras que Parse también ofrece una solución de almacenamiento fuera de línea para sincronizar con su base de datos en la nube. App Engine no tiene ninguna API especial para sincronizar directamente con Core Data, y tendrá que administrar su propia capa de red y capa de datos a través de Google Cloud Endpoints y el Datastore. Parece que Bluemix y Parse han extraído más de la base de datos que App Engine, lo que le permite consultarlo directamente desde el código de iOS. Sin embargo, el motor de la aplicación tiene una API RESTful para su almacén de datos si así lo desea. Parece que Bluemix tiene servicios dedicados exclusivamente para iOS, pero no parece ofrecer nada multiplataforma. Si le interesan otras plataformas, probablemente sería más fácil extender su aplicación a Android en App Engine o Parse, ya que han incorporado soluciones móviles para iOS y Android

Notificaciones
Bluemix y Parse han incorporado SDK de notificación. Aunque no forma parte directamente de App Engine, Google ofrece Google Cloud Messaging. Las notificaciones deberían ser lo suficientemente fáciles en cualquier plataforma.

Precios y escalabilidad:
Las 3 soluciones ofrecen niveles gratuitos con opciones de pago por uso. Según sus preguntas frecuentes, Parse no tiene una función de autoescalado. En general, esto significa que es más difícil escalar si su aplicación se vuelve popular, y la aplicación simplemente fallará si no está pagando por esas solicitudes. Bluemix y App Engine escalarán según lo necesite, luego le cobrarán por lo que está usando.

Vigilancia
Los 3 tienen monitoreo y análisis automáticos. App Engine es probablemente el más fuerte aquí debido a su adquisición de Stackdriver.

Infraestructura subyacente y confiabilidad
El argumento de marketing para PaaS es que no necesita preocuparse por la infraestructura. Si bien es cierto que no necesita administrar su infraestructura, debe preocuparse por su rendimiento y confiabilidad. App Engine tiene un SLA (Acuerdo de nivel de servicio) del 99.95% de tiempo de actividad mensual. No pude encontrar SLA para Parse o Bluemix. Puede comparar sus estados con estas páginas:

1. Página de estado de análisis: estado de análisis
2. Página de estado de App Engine: Estado del sistema de Google App Engine
3. No pude encontrar una página de estado de Bluemix. No es una buena señal si realmente no tienen uno.