Parse.com 終了に伴う mbaas サービスの移行方法（終了直前の大幅更新！）

（2016/12/21 時点の情報で大幅更新しました！）

とうとう、Parse.com の終了まであと１ヶ月となりました。アナウンス時点から状況が色々変わっているので、現時点の情報で更新しました。
（特に、Facebook のグループ [Parse.com Developers Japan](https://www.facebook.com/groups/319664558237941/) の投稿を参考にさせていただきました。ありがとうございました。）

# Parse.com の終了

2016年1月29日（日本時間）、[Parse.com のサービス終了のアナウンス](http://blog.parse.com/announcements/moving-on/)がありました。それから１年後の 2017年1月28日（恐らくアメリカ東部時間）にサービスが終了します。

* 2017年1月28日にサービス終了。
* Parse Server や SDK などをオープンソースとして[GitHub で公開](http://parseplatform.github.io/)。
* 移行方法を[Migration Guide](http://parse.com/migration) で提示。

# 移行方法

移行するには、大きく４つの手段あります。

1. 他の mbaas サービスに移行する。
2. 自分で mbaas 環境を構築する。
3. Parse ホスティングサービスを利用する。
4. Parse Server を立ち上げて、Parse.com の環境を自分で構築、運用する。

## 1. 他の mbaas サービスに移行する。

* ベンチャー、大手含め、様々な同様のサービスが出てきている。
* IoT 対応など、Parse にはない特徴を打ち出しているサービスも。
* Parse.com からの移行をサポートしているサービスもある。
* 移行したものの、**Parse.com 同様にサービス終了する可能性もある**ので注意が必要。

### mbaas サービス比較

| サービス    | 開発・運営  | 特徴         |
|:-----------|:------------|:-------------|
| [Firebase](https://firebase.google.com/) | Google | リアルタイムに更新される仕組みが特長。対応する認証方式も多彩。Android, iOS, JavaScript, REST。Analytics サービスも高機能。 |
| [AWS Mobile Hub](http://aws.amazon.com/jp/mobile/)     | Amazon | AWS をすでに利用している人は導入が容易かもしれない。 |
| [Azure Mobile Apps](https://azure.microsoft.com/ja-jp/documentation/articles/app-service-mobile-value-prop/)| Microsoft | |
| [ニフティクラウド mobile backend](http://mb.cloud.nifty.com/)  | Nifty | 国産の mBaaS。[Parse乗り換え相談会](http://lp.mb.cloud.nifty.com/parse_migration_consultation)も実施。 |
| [appiaries (アピアリーズ)](http://www.appiaries.com/jp/)|ピーシーフェーズ|国内初の BaaS。|
| [Milkcocoa](https://mlkcca.com/)|ウフル|IoT にも対応。ただし、iOS 向けの SDK の提供はない模様。|
| [Kii](https://jp.kii.com/) | Kii株式会社 | 国産の IoT 対応の BaaS。|
| [CloudBoost](https://www.cloudboost.io/) | HackerBay | リアルタイム、検索機能に強い。Instagram や Slack なども採用している。 |
| [Batch](https://batch.com/)| Batch | [Parse へのマイグレーションツール](https://batch.com/parse-alternative)が提供されている。
| [Telerik Platform](http://www.telerik.com/platform/backend-services)|Progress Software Corporation|オフラインサポート、Resopnsive Image などが特徴。|
| [Kinvey](https://www.kinvey.com/)|Kinvey|エンタープライズに特化。|
| [Mesosfer Mobile BackEnd as a Service](https://mesosfer.com/)|Mesosfer|Parse に近い構成。IoT にも対応。|
| [Syncano](https://www.syncano.io/)|Syncano|Parse に近い構成。|

また、[Urban Airship](https://www.urbanairship.com/) のように特定の機能だけを提供するサービスを組み合わせて利用するのもありかもしれません。

## 2. 自分で mbaas 環境を構築する。

* サーバ環境を自分で用意できるのであれば、[MEAN](https://qiita.com/search?q=mean) でバックエンド環境を構築したり、オープンソースの mbaas を自分のサーバ環境にインストールして、Parse.com のような環境を構築可能。
* 自分で運用する必要があるので、Parse のような手軽さはない。

### mbaas ソフトウェア比較

| ソフトウェア    | 開発元  | 特徴         |
|:-----------|:------------|:-------------|
| [BAASBOX](http://www.baasbox.com/)   | BAASBOX | Java ベース。オープンソース。  |
| [Deployd](http://deployd.com/) | Deployd | Node.js ベース。|
| [LoopBack](http://loopback.io/) | StrongLoop, an IBM company | Node.js ベース。|
| [Hoodie](http://hood.ie/)|the Hoodie Community| Node.js ベース。Web / iOS アプリーション向け。オープンソース活動が活発。|
| [Apache Usergrids](http://usergrid.apache.org/) | The Apache Software Foundation | Apache による BaaS。SDK が豊富。Java ベース。|
| [DreamFactory](https://www.dreamfactory.com/) |DreamFactory Software Inc.|REST API Platform。Server-side Scripting や Instant API creation などの仕組みが特徴的。認証の仕組みが豊富。 |
| [Personium](http://personium.io/) | Personium | データストアのみ提供。GitHub のスター数が少ない。|

### 参考情報

* [オンプレミスの時に。オープンソースなmBaaS×9選 | BACKEND AS A SERVICE mbaas BLOG](http://blog.mb.cloud.nifty.com/?p=2764)

## 3. Parse ホスティングサービスを利用する。

* Parse Server をホスティングして提供しているサービスを利用することで、既存の Parse アプリを簡単に移行できる。
* 他のサービスに移植したり、自分でホスティングするする手間がないため、手軽にアプリを継続することが可能。
* 移行したものの、**Parse.com 同様にサービス終了する可能性もある**ので注意が必要。

| サービス    | 開発・運営  | 特徴         |
|:-----------|:------------|:-------------|
|[SashiDo.io](https://www.sashido.io/)|SashiDo|Parse のオープンソースをベースに独自の改良を加えて、安定かつスケーラブルな環境を提供。1 click で移行。|
|[Back4App](https://www.back4app.com/)|Back4App(?)|５分で移行可能なツール。|
|[Oursky Parse Hosting](http://parse-hosting.oursky.com/)|Oursky Ltd.|機能的には他のサービス同等。ただし、移行にはチャットでの依頼が必要っぽい。|
|[Managed Parse Server by NodeChef](https://nodechef.com/parse-server)|NodeChef|NodeChef という Node.js ホスティングサービスが提供。|

## 4. Parse Server を立ち上げて、Parse.com の環境を自分で構築、運用する。

* Parse.com の環境が[オープンソースとして公開されている](https://github.com/ParsePlatform)ので、自分で環境を構築することも可能。
* [Parse Server](https://github.com/ParsePlatform/parse-server) は Node.js ベースのサーバで、アプリケーションフレームワークに [Express](http://expressjs.com/ja/) を使用。ほぼ Parse.com と同等の機能を実現可能。ただし、Push、Analytics、Config 機能は含まれていない。
* 他の環境に移行するための詳しい情報は、[Parse Server Developers Guide](https://parse.com/docs/server/guide#migrating) にある。
* クラウドサービスが Parse からの移行方法を提供しているので、これらを参考にして移行できる。すでにクラウドサービスを利用している場合にはいい選択肢となりえる。

| クラウドサービス | ドキュメント         |
|:-----------------|:---------------------|
| Amazon AWS       | [Parse アプリケーションを AWS に移行するためのリソース / Amazon Web Services ブログ](https://aws.amazon.com/jp/blogs/news/resources-for-migrating-parse-applications-to-aws/)|
| Microsoft Azure  | [Parse 終了に伴う Azure への移行 / マイクロソフト クラウド プラットフォーム](https://www.microsoft.com/ja-jp/cloud-platform/Solutions-Parse-migration.aspx)|
| Heroku           | [Deploying a Parse Server to Heroku / Heroku Dev Center](https://devcenter.heroku.com/articles/deploying-a-parse-server-to-heroku?utm_source=swifting.io&utm_medium=web&utm_campaign=blog%20post)|

## まとめ

様々なサービスがあり、開発運用体制に合わせて最適なものを選択できる状況ですが、Parse と同じようにサービスが終了してしまうリスクはどうしてもつきまとってしまいます。その点、[Firebase は Google がかなり推進している](http://jp.techcrunch.com/2016/05/20/20160518google-turns-firebase-into-its-unified-platform-for-mobile-developers/)こともあり、安心して導入できるサービスになっていのかなと思います。アプリケーションの大幅な改修が必要ですが、末長くアプリを育てていくのであれば、移行を検討されると良いと思います。

Facebook で [Firebase Developers Japan](https://www.facebook.com/groups/276997799334577/) というグループを解説しているので、興味がありましたらご参加ください。

## 関連リンク

* [relatedcode/ParseAlternatives: A collaborative list of Parse alternative backend service providers.](https://github.com/relatedcode/ParseAlternatives)
    * 英語だけど、さまざまな代替手段が網羅されています。