Blog

Survivre à l'arrêt de Parse, explorer l'alternative Kinto (1 / 2)

Chargement...

10 min de lecture

Survivre à l'arrêt de Parse, explorer l'alternative Kinto (1 / 2)

Cet article de blog est la première partie d'une série de 2 articles de blog. Dans cette partie, nous parlerons de l'interruption de Parse et de son passage en open source. Nous explorerons Kinto dans la deuxième partie. L'annonce de l'arrêt a été une surprise pour nous tous, heureusement, l'équipe de Parse a fourni un guide de migration et a ouvert le code source de Parse Server.

Ce billet de blog est la première partie d'une série de 2 billets de blog. Dans cette partie, nous parlerons de l'arrêt de Parse et de son passage en open source. Nous explorerons Kinto dans la deuxième partie.

L'annonce de l'arrêt a été une surprise pour nous tous, heureusement, l'équipe de Parse a fourni un guide de migration et a open-sourcé le serveur Parse. Le service cessera de fonctionner le 28 janvier 2017, donc il est temps de se préparer au grand changement. Dans ce post, nous allons expliquer les étapes pour migrer vos applications hébergées sur Parse vers vos propres instances de serveur Parse sur Scalingo.

Configurer le serveur Parse sur Scalingo

parse-server est un module Node.js compatible avec Parse, conçu pour Express. Ce n'est pas une solution autonome, mais Parse fournit l'application parse-server-example qui peut fonctionner immédiatement après un git clone.

Pour configurer une instance de serveur Parse sur Scalingo, 2 options sont disponibles : le déploiement automatisé en un clic et la méthode manuelle. Nous vous recommandons d'utiliser la solution automatisée pour configurer votre serveur Parse, qui est un excellent projet de base personnalisable à l'avenir.

Déploiement automatique en un clic

La solution automatisée consiste à utiliser le bouton de déploiement Scalingo :


Deploy to Scalingo

Ce bouton déploiera le projet parse-server-example officiel qui est adapté à la migration d'applications Parse existantes. Une instance MongoDB sera provisionnée automatiquement pour vous pendant le processus.

Suivez ces étapes simples pour configurer votre propre serveur Parse :

  1. Cliquez sur le bouton Déployer sur Scalingo.

  2. Donnez un nom à votre future instance Parse.

  3. Remplissez le APP_ID et le MASTER_KEY. Si vous migrez à partir d'une application Parse existante, vous pouvez utiliser les mêmes valeurs ici. Sinon, vous pouvez choisir n'importe quelle chaîne.

  4. Vous êtes maintenant prêt à déployer l'application, cliquez sur le bouton Déployer l'application.

Si vous souhaitez utiliser l'application déployée comme base pour votre projet, vous pouvez la git clone. La commande est git clone git@scalingo.com:my-parse.gitmy-parse est le nom de l'application que vous avez donné précédemment. Vous pouvez maintenant apporter des modifications au projet cloné, comme ajouter du Cloud Code. Pour déployer vos changements, il vous suffit de faire un git push scalingo master et votre application sera mise à jour.

Configuration manuelle

Pour suivre les étapes suivantes, vous aurez besoin du CLI Scalingo. Si vous préférez utiliser une interface graphique, les étapes 2 à 4 peuvent être réalisées dans le Tableau de bord Scalingo.

  1. Clonez le projet parse-server-example et changez de répertoire.

  2. Créez une application sur Scalingo : scalingo create my-parse

  3. Ajoutez l'addon MongoDB Scalingo : scalingo addons-add scalingo-mongodb free

  4. Configurez la chaîne de connexion MongoDB : scalingo env-set DATABASE_URI='$SCALINGO_MONGO_URL'

  5. Vous êtes maintenant prêt à déployer votre propre serveur Parse : git push scalingo master

Migration de Parse vers Scalingo

Une fois que vous avez configuré votre serveur Parse sur Scalingo, il est temps de migrer votre application hébergée sur Parse. Assurez-vous de lire d'abord le guide officiel Migrer une application Parse existante pour comprendre le processus. Les points suivants sont les grandes étapes qui doivent être effectuées pour réussir à migrer vers un serveur Parse hébergé sur Scalingo.

Migration des applications client

Pour permettre à vos applications client (iOS, Android, web, etc.) d'accéder à votre propre serveur Parse, vous devrez changer l'URL du serveur dans chacune de vos applications client par l'URL de l'application Scalingo (par exemple, my-parse.scalingo.io). Les instructions pour chaque SDK sont détaillées dans Utilisation des SDK Parse avec le serveur Parse.

Par défaut, le serveur Parse servira l'API Parse sur /parse. Pour changer cela, ou si vous utilisez des SDK clients plus anciens, vous pouvez exécuter scalingo env-set PARSE_MOUNT=/1. Cette commande définira la variable d'environnement PARSE_MOUNT sur la valeur de /1.

Migration de la base de données

Sur Scalingo, les bases de données ne sont pas accessibles publiquement pour des raisons de sécurité, donc le processus décrit dans le guide officiel de migration ne fonctionnera pas. Au lieu de cela, vous devrez transférer manuellement les données vers votre instance MongoDB Scalingo. Voici les étapes :

  1. Allez sur le nouveau tableau de bord Parse > Paramètres de l'application > Général, et cliquez sur Exporter les données.

  2. Attendez l'e-mail contenant le lien pour télécharger les données exportées.

  3. Changez de répertoire pour votre projet de serveur Parse.

  4. Démarrez un tunnel vers votre MongoDB Scalingo en utilisant CLI Scalingo :

$ scalingo db-tunnel SCALINGO_MONGO_URL

Building tunnel to my-parse-4727.mongo.dbs.appsdeck.eu:31068
You can access your database on '127.0.0.1:10000'
$ scalingo db-tunnel SCALINGO_MONGO_URL

Building tunnel to my-parse-4727.mongo.dbs.appsdeck.eu:31068
You can access your database on '127.0.0.1:10000'
$ scalingo db-tunnel SCALINGO_MONGO_URL

Building tunnel to my-parse-4727.mongo.dbs.appsdeck.eu:31068
You can access your database on '127.0.0.1:10000'
$ scalingo db-tunnel SCALINGO_MONGO_URL

Building tunnel to my-parse-4727.mongo.dbs.appsdeck.eu:31068
You can access your database on '127.0.0.1:10000'
  1. Préparez les fichiers téléchargés en supprimant le { "results": et le } qui entourent le tableau contenant vos données de collection.

  2. Importez chaque collection avec la commande suivante en changeant les options en conséquence (--db, --collection, --file, --username, --password). Pour trouver le mot de passe de votre base de données, vous pouvez utiliser la commande scalingo env | grep MONGO.

$ mongoimport --db my-parse-4727 --port 10000 --username my-parse-4727 --password 6O65xJH3_k2qu0DeIfxg --collection yourcollection --file yourcollection.json --jsonArray

connected to: 127.0.0.1:10000
2016-02-01T18:45:47.073+0100 imported 9999 objects
$ mongoimport --db my-parse-4727 --port 10000 --username my-parse-4727 --password 6O65xJH3_k2qu0DeIfxg --collection yourcollection --file yourcollection.json --jsonArray

connected to: 127.0.0.1:10000
2016-02-01T18:45:47.073+0100 imported 9999 objects
$ mongoimport --db my-parse-4727 --port 10000 --username my-parse-4727 --password 6O65xJH3_k2qu0DeIfxg --collection yourcollection --file yourcollection.json --jsonArray

connected to: 127.0.0.1:10000
2016-02-01T18:45:47.073+0100 imported 9999 objects
$ mongoimport --db my-parse-4727 --port 10000 --username my-parse-4727 --password 6O65xJH3_k2qu0DeIfxg --collection yourcollection --file yourcollection.json --jsonArray

connected to: 127.0.0.1:10000
2016-02-01T18:45:47.073+0100 imported 9999 objects

Mots de la fin

En suivant le guide de migration officiel de Parse et ce billet de blog, vous devriez maintenant avoir un serveur Parse opérationnel. Comme mentionné par l'équipe de Parse, la migration ne sera pas facile pour tout le monde, vous devriez effectuer des tests pour vous assurer que vos données sont cohérentes et que votre Cloud Code fonctionne toujours. Nous espérons qu'en fournissant une solution facilement déployable sur Scalingo, cela vous aidera à faciliter la transition.

Une alternative intéressante à Parse est Kinto, soutenue par Mozilla, que nous aborderons dans le deuxième billet de blog demain.

MISE À JOUR : La deuxième partie est en ligne.

Yann Klis, Scalingo

Yann Klis

Yann KLIS a fondé Scalingo en 2015 avec son associé Léo Unbekandt avec la vision de proposer une plateforme cloud d'hébergement web, véritable alternative européenne et souveraine aux géants américains. Aujourd'hui Scalingo héberge plusieurs milliers d'applications web déployées par des clients du monde entier ! L'objectif de Scalingo est de devenir la plateforme cloud de référence pour les développeurs web en Europe. Auparavant, il a fondé Novelys, un studio de développement spécialisé dans la technologie Ruby on Rails.

Restez informé

Recevez des articles et des mises à jour de la plateforme dans votre boîte de réception.

Prêt à déployer en toute confiance ?

Découvrez des déploiements sans temps d'arrêt, une mise à l'échelle automatique intelligente et une infrastructure entièrement gérée. Commencez à déployer vos applications sur Scalingo dès aujourd'hui.

Aucune carte de crédit requise • Déployez en quelques minutes • Annulez à tout moment

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.

Déployez une application ou base de données

Commencez à déployer

Rejoignez les équipes qui misent sur une plateforme conçue pour livrer rapidement, opérer sereinement, avec des valeurs européennes et un support humain.