¿Cuáles son los pros y los contras de usar un back-end como servicio?

Bueno, eso depende de la escala a la que apunta.

Si su objetivo es ser una startup móvil que estará presente en el mercado durante unos meses o como máximo un año y medio, entonces BaaS es una buena opción. La razón principal es que no desea comprar un VPS de Linux, escribir código de fondo (en Ruby, Python, Java, lo que sea), no desea elegir un DB (mysql, pgsql, mongo, etc.) y no desea configurar un dominio permanente y URL para sus puntos finales de comunicación.

Estas son tareas considerablemente desordenadas. La mayoría de los proveedores de servicios de fondo promocionan varios puntos en sus páginas de inicio:

  • Facilidad de uso
  • Creación rápida de prototipos
  • SDK móviles listos para usar
  • Seguridad de datos

Si evalúa estas características en función de sus necesidades, verá que están destinadas principalmente a aplicaciones a pequeña escala. Ninguna aplicación seria depende de los proveedores de BaaS y probablemente no lo harán en el futuro cercano. Incluso la seguridad y la privacidad de servicios como Dropbox, EC2 son cuestionables en estos días, por lo que no esperaría que las aplicaciones a gran escala confíen en algún servicio de middleware. Si está haciendo un desarrollo móvil serio, entonces no necesitará el SDK móvil de BaaS y no necesitará la creación rápida de prototipos, etc.

El mercado de BaaS es una categoría relativamente nueva de servicios, creo que la Plataforma Parse (backend en la nube) acaba de aparecer el año pasado (o hace ~ 11 meses) y hoy en día hay tantos proveedores de servicios similares que ocuparon su lugar en el mercado. En este punto, si está planeando un proyecto a largo plazo, debe preguntar cuál de estos proveedores seguirá en el mercado y será rentable (en sus propios términos) en los próximos años. Porque cortésmente cerrarán su servicio si se quedan sin el dinero que recaudaron y usted enfrentará un montón de tareas de exportación e importación de datos y una nueva integración de servicios.

Por lo general, los proyectos a corto plazo parecen ser juegos móviles, aplicaciones de funcionalidad del lado del cliente y es entonces cuando puede evitar escribir su propio backend y usar un BaaS.

En mi opinión, no tiene que usar BaaS si planea lanzar varias aplicaciones web y móviles en un futuro próximo. Podrías alquilar un VPS, un dominio, instalar una base de datos y estás casi listo para usar cualquier aplicación rápidamente. Cuando esté considerando usar un servicio similar, siempre haga la pregunta: ¿Cuánto gana este servicio de clientes como yo? Si un servicio de BaaS tiene principalmente clientes corporativos que pagan cada uno decenas de miles de dólares mensuales, entonces los clientes de pequeña escala podrán obtener mucho menos soporte.

BaaS – Descripción general de Backend as a Service

La mejor manera de comprender el concepto detrás de BaaS es visualizar un puente que conecta el backend con la interfaz de una aplicación. BaaS ayuda a los desarrolladores a acelerar el desarrollo de software y simplificar la creación de API. En lugar de codificar, todo el desarrollador de back-end utilizará un BaaS para crear las API y vincularlas a las aplicaciones. La siguiente tabla proporciona una vista clara y detalla las diferencias entre varios servicios de nube.

Wikipedia también proporciona una buena visión general de lo que es un backend como servicio y vea más detalles en el siguiente enlace:

https://en.wikipedia.org/wiki/Mo

Resumen de vendedores

El jugador principal de este mercado es un Parse. Tienen más de 1 millón de aplicaciones alojadas en su plataforma y más de 600,000 usuarios. Parse fue adquirido por Facebook hace unos años, pero a principios de 2016 Facebook decidió cerrar la plataforma en 2017. Hará que millones de aplicaciones migren a proveedores alternativos. La siguiente lista proporciona una descripción general del proveedor:

Back4app: ayuda a los desarrolladores y las empresas a crear y alojar API de Parse para web, dispositivos móviles e IoTApps. Sitio: http://www.backforapp.com

Firebase : Firebase puede potenciar el back-end de su aplicación, incluido el almacenamiento de datos, la autenticación de usuarios, el alojamiento estático y más. Concéntrese en crear experiencias de usuario extraordinarias.

Accengage : proporciona tecnología de interacción con la aplicación móvil para notificaciones push, mensajes en la aplicación y re-orientación móvil.

Cloud Boust : ofrece capacidades de almacenamiento, búsqueda y tiempo real para sus aplicaciones. Es perfecto para crear aplicaciones y servicios intensivos en datos.

BackAnd : una plataforma que le permite crear un backend listo para AngularJS para su aplicación. Es realmente bueno que esté trabajando en aplicaciones web AngularJS y sus datos se almacenan en Amazon RDS.

RapidAPI : plataforma Abackend que permite guardar datos e integrar API. Se basa en bloques, por lo que cada acción básica está representada por un bloque.

Stamplay: cree aplicaciones de fondo en su navegador sin codificar utilizando API como bloques de Lego. Reúne características integradas como gestión de usuarios, inicio de sesión social, almacenamiento de datos en la nube, base de datos, generación automática de API, SDK, alojamiento respaldado por CDN e integraciones con cualquier API de terceros.

Vea a continuación un enlace de Github con una lista completa de BaaS para reemplazar (migrar) Parse.

ParsePlatform / parse-server

¿Por qué usar un BaaS?

Las aplicaciones web y móviles exigen 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 con un BaaS. Las principales razones por las que se utiliza un BaaS 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 BaaS 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. El costo de un proyecto de software se puede reducir hasta un 80% con aBaaS.

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 BaaS suele ser muy baja y requiere muy poco esfuerzo para que un desarrollador utilice 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.

Visión general del mercado

El mercado de BaaS –Backend as a Service está creciendo muy rápido y alcanzará los US $ 30 mil millones en 2019. Habrá más de 25 millones de desarrolladores de software para 2020. Por lo tanto, BaaS se convierte en uno de los mercados más populares en tecnología y respaldará a los más rápidos. creciente segmento profesional en el mundo. Los desarrolladores se distribuirán entre 140 K nuevas empresas, 230 K agencias de desarrollo de software y varios otros segmentos de empresas.

Ventajas y desventajas

PROS

Proveedores : el mercado es relativamente maduro y hay varios proveedores disponibles para todo tipo de necesidades. Encuentre a continuación un par de vendedores.

Esfuerzo de desarrollo : un desarrollador puede ahorrar semanas en términos de desarrollo de back-end. Por lo general, el desarrollo de back-end es una actividad repetitiva que es bastante monótona para los desarrolladores. BaaSvendors se muestra como una muy buena alternativa para acelerar el desarrollo de software.

Monetización: considerando que el esfuerzo para crear una aplicación es mucho menor, el MVP del producto se puede lanzar más rápido y comenzar a generar ingresos antes. ¡Es especialmente importante para Startups!

Desarrollo front-end: los desarrolladores pueden centrarse en el desarrollo front-end y adaptarlo de manera muy rápida en función de las necesidades del mercado.

Escalable: la cantidad total de usuarios puede crecer muy rápido sin tiempo de inactividad o disminución del rendimiento.

Seguridad: la mayoría de los BaaSvendors proporcionan protocolos de seguridad realmente buenos.

CONTRAS

Control: a los desarrolladores generalmente les gusta tener un control completo sobre el código fuente y la mayoría del acceso de BaaSrestrict al código fuente del backend.

Bloqueo del proveedor: el usuario debe leer detenidamente los términos de uso de cada proveedor y evaluar si hay un bloqueo del proveedor o si los datos / la fuente pueden migrarse si es necesario.

Descargo de responsabilidad: soy parte del equipo Back4app.

Palabras clave: BaaS, API, Backend, Back end, Parse, Parse, Firebase, Parse Migration, ParseAlternative.

Pros y contras del desarrollo de aplicaciones basadas en la nube con servicios BaaS

Pros

+ El panel de control de almacenamiento de datos.

+ Precio de uso. Muchos servicios en la nube proporcionan el servicio de período de prueba o un conjunto básico de funcionalidades de forma gratuita. Por ejemplo, puede tener una cantidad limitada de memoria en el servidor u otras limitaciones. Cuando compra una cuenta paga, obtiene acceso a funciones más avanzadas.

+ Precio para desarrollo. Le sorprenderá gratamente descubrir el costo final de su solicitud. Esto se debe a que el uso de BaaS promueve la reducción significativa de los costos de desarrollo. Ocurre debido al hecho de que este tipo de desarrollo de nube móvil requiere menos tiempo.

+ Alta velocidad. Las aplicaciones creadas de esta manera tienen una mayor velocidad de desarrollo. Esto se debe al desarrollo de servicios en la nube, que proporcionan el VPS (Servicio privado virtual) para una canción.

+ Simplicidad. Aprender a trabajar con el entorno de desarrollo en la nube es bastante simple. Son fáciles de aprender e inteligibles de usar.

+ Fácil de escalar. Los proyectos creados con el desarrollo de la computación en la nube son mucho más fáciles de escalar.

Contras

– El riesgo de dañar el código.

– Restricciones Algunos servicios de BaaS implican un cierto número de restricciones para el desarrollo de aplicaciones en la nube.

– El riesgo de pérdida de datos.

– Dificultades en las pruebas.

-No es apto para grandes proyectos. La mejor solución, en este caso, es utilizar servicios como AWS (Amazon Web Services) o Microsoft Azure, por ejemplo.

Para obtener más información, lea esto: Cómo construir aplicaciones móviles basadas en la nube.
Después de leer este artículo, comprenderá cómo desarrollar una aplicación en la nube, si la necesita y cuáles son los riesgos de usar el desarrollo de aplicaciones basadas en la nube con BaaS.

Divulgación completa: soy un empleado de Kinvey, un proveedor de backend como servicio, pero espero que encuentre que he respondido su pregunta de manera completa y objetiva. En última instancia, un backend como servicio te permite concentrarte en crear el front-end de tu aplicación al ocuparte de toda la plomería compleja del backend. Le importa la experiencia del usuario, no el backend, ese no es el diferenciador en su aplicación, por lo que BaaS minimiza las complicaciones de conectarse a múltiples servidores y API para configurar ese backend. Aquí hay algunos pros y contras más específicos:

Pros:

  • Ahorre tiempo: lo que serían horas o días dedicados a poner sus datos en funcionamiento en la infraestructura de la nube son solo unos minutos.
  • Ahorre dinero: no tiene que pagar a un desarrollador de back-end, a quien necesitaría durante todo el ciclo de vida de la aplicación para mantener su código, ni tampoco tiene que pagar para usar un proveedor de la nube como Amazon.
  • Aplicaciones más ricas: se le proporciona un conjunto básico de funciones móviles, como geolocalización, redes sociales, push, almacenamiento de datos, administración de usuarios, análisis, versiones y almacenamiento de archivos blob.
  • Más productividad: debe centrarse en lo que hace que su aplicación sea única y diferente, lo que la distingue de la competencia. Un backend no es un diferenciador. Es un componente esencial, pero a su usuario final no le importa dónde o cómo se almacenan los datos. Se preocupan por la experiencia del usuario. Por lo tanto, el backend como servicio le permite concentrarse en eso, en la interfaz, mientras se ocupan del backend.
  • Liberación de datos: además de las características principales de BaaS, Kinvey también ofrece la capacidad de conectarse con cualquier API REST de terceros a través de una interfaz unificada. Esto significa que solo necesita aprender una API de back-end, y puede cambiar entre proveedores de datos con solo hacer clic en un botón. Sin un BaaS, esto requeriría aprender múltiples API: más tiempo, menos productividad.

Contras:

  • No tiene un control completo de la infraestructura y la pila de software en la que se encuentra su back-end. Usted solo tiene el control total de sus datos y las funciones que utiliza.
  • Si la plataforma Backend as a Service se encuentra en un solo centro de datos o plataforma en la nube, es posible que tenga problemas de latencia si los usuarios de su aplicación están al otro lado del mundo.
  • El proveedor de BaaS puede quebrar. Así que asegúrese de elegir la compañía correcta que tenga poder de permanencia a largo plazo.

Para desarrollar el lado del servidor, uno tiene que lidiar desde la configuración de la base de datos hasta el servidor que alojará su script. También hay que lidiar con muchos problemas de configuración del sistema, como la configuración del firewall y hacer que el servidor sea escalable. Para desarrollar una arquitectura REST, estos son los requisitos previos que el desarrollador debe cuidar. La seguridad REST es otra cosa desafiante que consume mucho tiempo en la configuración del sistema desde cero.

Hay proveedores de IaaS y PaaS en el mercado que puede considerar al implementarlo; sin embargo, en su caso, puede buscar proveedores de BaaS que ofrezcan API back-end preparada para plataformas nativas como iOS / Android / BB / y otras plataformas famosas. Puede usar ShepHertz Cloud API ( http://api.shephertz.com ) para tener un back-end como servicio en su aplicación. Tiene una amplia gama de API, incluidos servicios comerciales y técnicos, y cubre casi todas las plataformas de destino famosas.

Por otro lado, la desventaja de usar BaaS incluye, perder el control total de sus datos, bloquear proveedores, etc.

Como vemos con el fiasco de Facebook / Parse, conlleva un gran riesgo. Es mucho más inteligente desarrollar sus propias capacidades de back-end.

Protéjase del Facebook / Parse Fiasco – Tecnología perfeccionada

Facebook anunció su decisión de suspender Parse, una plataforma de desarrollo de aplicaciones móviles. Esto deja a muchos propietarios y desarrolladores de aplicaciones luchando por encontrar alternativas. Aunque Parse tiene una herramienta de migración y un período de “relajación” para ayudar a las personas en la transición, los efectos son inmediatos y dejan a las personas furiosas. ¿Qué podemos aprender de esto? ¿Cómo pueden los desarrolladores y los CIO realizar inversiones y decisiones empresariales sólidas sin arriesgarse a que ocurra lo mismo con otras plataformas de desarrollo de aplicaciones móviles?

Primero, hablemos de lo que Parse es (o era). Parse tuvo muchos beneficios para los desarrolladores, incluyendo ser extremadamente barato y fácil de usar, con poca necesidad de conocimiento del servidor por parte del desarrollador. Parse era una plataforma de desarrollo de aplicaciones móviles con un sistema de bases de datos que administraba sistemas operativos y rastreaba la información del usuario. Las aplicaciones podrían tener características como notificaciones push fácilmente. Tenía una gran escalabilidad e incluía análisis y almacenamiento.

Suena genial, ¿verdad? Pero pregunte a los desarrolladores y CIO cómo se sienten al respecto ahora que de repente se espera que migren a otro lugar.

Facebook adquirió Parse en 2013 por $ 85 millones reportados con un estimado de 100,000 aplicaciones compatibles en ese momento. Facebook buscaba diversificarse y encontrar la próxima gran cosa. Con una industria de desarrollo de aplicaciones móviles en expansión, esta adquisición tuvo sentido en ese momento. Facebook invirtió tiempo y dinero invirtiendo en Parse durante los últimos tres años, agregando características a su servicio y herramientas para ayudar a los desarrolladores. Pero tres años después, ya no era económicamente beneficioso para Facebook tener una plataforma paga.

Entonces, ahora que Parse se está acabando, es una bomba de tiempo y desastrosa para quienes confían en ella. Parse está ayudando a sus usuarios a migrar a otras plataformas, pero las aplicaciones y sus características pueden dejar de funcionar. Las aplicaciones rotas o inutilizables significan que los usuarios dejarán de usar esos productos, lo que significa problemas financieros para los inversores. La carga repentina del trabajo para migrar las plataformas e intentar solucionar estos problemas antes de que afecten la experiencia del usuario recae en los desarrolladores y los CTO, lo que agrega innumerables horas de trabajo y muchos dolores de cabeza y frustración. Entonces, ¿cómo protegerse? Aquí hay consejos de expertos empresariales en la industria de aplicaciones móviles.

Contratar una empresa de desarrollo de aplicaciones móviles de confianza

La lección aprendida aquí es elegir una compañía de desarrollo de aplicaciones móviles que desarrolle relaciones duraderas con sus clientes. Las personas deben estar más atentas al elegir a quién confiar con el desarrollo de su aplicación. Contrata a una empresa de desarrollo de aplicaciones móviles que tenga una inversión en su propia tecnología y no se venda por la “próxima gran cosa” como lo hicieron Parse y Facebook, buscando un día de pago rápido.

Cree su propio servidor de fondo

También es esencial construir su propio servidor de fondo. Este fue un gran error de aquellos que confiaron en Parse: liberó al desarrollador para que no necesitara un servidor de back-end porque se los proporcionó. Al contratar una empresa de desarrollo, asegúrese de que ellos mismos hagan el back-end para que tenga su propio servidor de back-end. PerfectedTech proporciona esta solución inteligente.

En PerfectedTech, nos complace ayudarlo más sobre este tema. Somos una empresa líder de desarrollo de aplicaciones móviles multiplataforma que ha invertido en su propia tecnología innovadora con capacidades de servidor tanto front-end como back-end. Nuestro equipo interno se encargará de todas sus necesidades tecnológicas. Y creamos aplicaciones perfectas más rápido que cualquier otra empresa. Las tecnologías utilizadas incluyen Xamarin, AngularJS y NodeJS, y estamos orgullosos de tener una asociación sólida con StrongLoop de IBM. Confiamos en nuestros clientes para nuestro negocio y nos enorgullecemos de superar las expectativas de los clientes. Correo electrónico [correo electrónico protegido] para más información.

Cuando se trata de desarrollar juegos, especialmente si estás en un estudio pequeño, BaaS definitivamente supera al bricolaje.
¿Por qué BaaS supera al bricolaje para desarrolladores independientes? Gamedonia

Divulgación, soy el fundador de Syncd.io y estamos trabajando en una oferta de BaaS.

Pros: ahorra mucho tiempo, puede enfocarse en las partes importantes de su aplicación, puede ofrecer funciones que de otro modo no podría (por tiempo, dinero, etc.)

Contras: cuesta dinero. Asegúrate a un servicio en particular. Precios medidos para la mayoría, es decir, no sabe cuál será la factura al final del día.

Estamos ofreciendo exportación para ayudar con el bloqueo (aunque eso todavía apesta) y vamos con precios escalonados para la última estafa, pero no hay nada que podamos hacer sobre la primera. Va a costar dinero pase lo que pase. Esperemos que podamos hacerlo lo suficientemente asequible para que sea obvio.

pro: solución rápida, fácil, escalas, alojamiento incluido, sin programación de back-end, en su mayoría usted es dueño de los datos, barato al principio
contras: en su mayoría no hay lógica del lado del servidor, si se escala, costará, algunos proveedores de baas le brindan total flexibilidad, otros le dan un montón de modelos predefinidos, solo algunos le darán ambos

eche un vistazo a http://www.apiomat.com – estamos tratando de minimizar las desventajas