Azure da la bienvenida a los desarrolladores de Parse

Si has estado usando Parse como backend para tus aplicaciones móviles, este es el momento ideal para probar Azure App Service. Parse ha proporcionado una manera de migrar el backend desde Parse a otro host. Cuando estés escogiendo tu nuevo host, esperamos que te decantes por Azure.

Una migración sencilla

Como sugiere la guía de migración de Parse, puedes migrar el backend alojado en Parse que esté usando tu aplicación a otro host, con la Api del servidor Parse y la aplicación Express. Azure App Service es una muy buena alternativa para implementar tu servidor Parse. Al fin y al cabo, el backend de Node.js para Mobile Apps de Azure App Service es también una aplicación Express. Para ayudarte a comenzar, el equipo de Azure App Service ha creado un proceso de aprovisionamiento que hace muy sencillo que tu servidor Parse pase a estar alojado en Azure App Service.

Antes de empezar, te recomendamos que leas la guía de migración de Parse para que puedas entender que es lo que está soportado y lo que no en el servidor de Parse de Azure App Service. Una principal característica de las aplicaciones móviles que no tiene el servidor Parse son las notificaciones push, pero usando Azure Notification Hubs puedes configurarlas de manera sencilla.

Cuando se haya completado la migración, puedes continuar usando el SDK de Parse en tus aplicaciones para acceder a los datos existentes (los clientes tendrán que ser actualizados para usar las nuevas versiones del SDK y para apuntar a la nueva localización del servicio).

Antes de comenzar

Antes de lanzarte al proceso de crear un servidor Parse en Azure, necesitas hacer lo siguiente.

Crear una cuenta de Azure

Si aún no tienes una cuenta de Azure, necesitarás crear una. Hay una prueba gratuita disponible.

Configurar una base de datos MongoDB

Uno de los requisitos actuales del servidor Parse es usar MongoDB (Parse ofrece una guía sobre los requisitos de MongoDB). Parse ha prometido también una herramienta de migración que permita mover los datos alojados en Parse a MongoDB. Parse recomienda empezar con el servicio de MongoLab, una base de datos en la nube completamente gestionada a la que puedes acceder también a través de Azure Marketplace.

Crear una cuenta de GitHub

La forma de migrar a Azure explicada en este post requiere de una cuenta de GitHub. Es también útil que sepas cómo clonar un repositorio de Git y hacer commit y push de los cambios.

Crear un nuevo backend en App Service

El primer paso es crear un nuevo backend en App Service para alojar el servidor de Parse. En el portal de Azure pulsa en New > Web + Mobile > Web app, introduce un nombre único para el backend, y luego pulsa en Create.

1

Esto crea un nuevo servicio de backend que alojará tu servidor de Parse. Antes de hacer esto, puede que quieras crear un nuevo App Service Plan para seleccionar el precio de tu servicio Siempre puedes cambiar el App Service Plan en cualquier momento. Para más información, puedes consultar Azure App Service plans in-depth overview.

Después de que se haya completado el despliegue inicial podrás ver el nuevo servicio creado en el portal de Azure.

2

App Service proporciona varias maneras de desplegar tu aplicación. A continuación, configurarás un despliegue del servidor de Parse desde un repositorio.

Clonar el repositorio del servidor de Parse y desplegar en Azure

Para hacer sencilla la publicación de un servidor de Parse en Azure, el equipo de App Service ha creado un repositorio de ejemplo de cómo crear un servidor de Parse que funciona correctamente en App Service. En GitHub, haz un fork del ejemplo en tu cuenta.

3

Usarás este fork como la base del despliegue para tu backend. En la zona de “Settings” del servicio creado en Azure, ve a la opción de Continuous deployment > Choose source > GitHub. A continuación, pulsa en Authorization > Authorize, habilita el acceso del portal de Azure desde la página de GitHub que se mostrará, haz click en OK.

4

 

Ahora que hemos conectado el servicio de Azure con GitHub, selecciona el fork de “parse-server-example” como proyecto, selecciona la rama master y haz click en ok.

5

En este punto, el despliegue está configurado y el código del servidor de Parse se extrae del proyecto de GitHub y se publica en Azure. Si por alguna razón el despliegue no se lanza automáticamente, puedes lanzarlo de manera manual pulsando en Sync en el apartado de Deployments.

Configurar el backend

El servidor de Parse requiere determinada información. La mejor manera de proporcionarla es utilizando las variables de entorno, conocidas como App Settings en App Service. La información necesaria es la información de conexión de MongoDB, el ID de la aplicación y claves maestras. App Settings ofrece una mejor seguridad ya que esta información no reside en el código donde podría estar desprotegida o publicarse en un repositorio de acceso público. Para crear nuevos App Settings, en la parte de “Settings” selecciona “Application Settings”, accede a la sección de “App Settings” y crea nuevos pares de clave-valor para los siguientes ajustes. Cuando hayas terminado, pulsa en Save:

12

 

6

En este punto ya deberías poder acceder al nuevo servidor Parse usando el cliente REST. Si tu servidor Parse requiere más valores hard-coded, como un ID de la aplicación de Facebook, debes añadirlos también en la parte de “App Settings”.

Probar el Hola Mundo

El ejemplo de servidor Parse tiene una función llamada “hello” a la que puedes llamar usando cURL de la siguiente manera:

8

 

Esta llamada debería resultar familiar para la mayoría de los desarrolladores de Parse. Pero esta vez la respuesta del servicio es diferente:

11

Ahora que has comprobado que el servidor de Parse funciona correctamente en Azure, es el momento de añadir tu código al despliegue.

Añadir tu código

Como has configurado despliegue continuo usando el fork del repositorio de ejemplo del servidor Parse, es más sencillo usar este repositorio de GitHub para añadir el código al despliegue.

Para ello, clona el fork del repositorio de ejemplo en local usando un cliente de Git o a través de línea de comandos.

Desde la instalación local de Parse copia las carpetas /cloud y /public a la copia local del repositorio, haz commit y push para subir los cambios a GitHub. Cuando hagas push a GitHub, verás que el despliegue vuelve a lanzarse. Después de que se complete, tu código estará listo para ser usado.

Date cuenta de que esto requiere que tu código esté publicado en un repositorio público de GitHub. Para mantener tu código en privado necesitarás duplicar este repositorio en un privado, o puedes usar otro método de despliegue.

Actualizar el SDK de Parse en aplicaciones cliente

El nuevo servidor de Parse y el entorno en el que está alojado requiere actualizaciones en los SDKs de Parse usados por las aplicaciones cliente. Asegúrate de seguir las siguientes instrucciones.

¿Qué pasa con las notificaciones push?

Cuando leas la guía de migración de Parse al detalle vas a encontrarte esto:

Parse Server does not implement any push notification functionality. We recommend migrating to a different push provider.

(El Servidor Parse no implementa funcionalidades relativas a notificaciones push. Te recomendamos migrar a un proveedor push diferente.)

No te preocupes, Azure tiene un servicio altamente escalable específico para mandar notificaciones push a aplicaciones móviles, Azure Notification Hubs. Como hacías con push en Parse, Notification Hubs almacena información de autenticación para cada Push Notification Service (PNS), APNS, GCM, WNS, incluso Kindle, Chrome y Baidu. La librería Node.js de Notification Hubs te permite de manera sencilla enviar notificaciones push desde tu código, o desde casi cualquier otro servicio de backend.

Conclusión

Una vez te hayas acostumbrado al entorno de Azure App Services para tu servidor Parse, considera investigar sobre otros servicios de Azure que proporcionan servicios como los ofrecidos por Parse pero que no se encuentran en el servidor Parse de Azure como análisis, trabajos programados e integración con servicios de terceros como Twillio y SendGrid.

Esperamos que tengas una buena experiencia probando el alojamiento en Azure para tu servidor Parse.

 

Puedes consultar el artículo original en este enlace.