2017年1月28日にParseがシャットダウンすることが発表された。残念ながら、BaaSを使う上で懸念される最も大きいリスク・デメリットが具現化される形になってしまった。Parseの何が良くなかったのか、今後BaaSがどうなっていくのかを考えたいところだが、終了までの期間が限られているため、Parseに依存しているプロジェクトをどうするかを考え始めなければいけない。
なお、このポストの内容は新しい動きがあり次第、適宜追記していく予定だ。
Parse終了に関する、現在発表されている情報
「Moving On」で公式に発表されている情報をまとめると、下記の通りである。
- サービスの終了は2017/01/28
- 好きなMongoDBにデータを移すことができるマイグレーションのツールが用意される。
- サーバー側のプログラム(ParseServer)がオープンソースになった。ほとんどのParse APIが使える。Node.js上で動く。
- Push通知は使えない。
- Webベースのダッシュボードも使えない。
- ParseServerを使えば、ほとんどClient側の変更なしで使える。SDKが更新され、自前のサーバーのParseにアクセスさせることが可能。
今後の選択肢
現時点で、開発者に与えられる選択肢は下記のようになる。
- 自前のサーバーにParseServerを設置する
- ParseServerをHostingしてくれる会社が現れるのを待つ
- 他のBaaSに移行する
- BaaSをやめる(サーバーコードを自前のものにする)
- プロジェクトをたたむ
残念ながら、どのような選択肢を選んだ場合でも一定のデメリット・リスクがあるため、慎重に検討する必要がある。
ParseServerを自前で設置する/誰かがホスティングしてくれるのを待つ
自前のサーバーにParseServerを立てて運用すれば、最小限の変更でサービスを続行することができる。BaaSの大きなメリットである「インフラの維持コスト削減」「アップデートへの自動的な追従」が失われることになるが、サーバーの設定ができる場合は、一時的な避難先としても、最も無難な選択肢になるだろう。ただし、プッシュ通知とWebベースダッシュボードの機能が使えないことに注意しなければいけない。
Parseの利用者の数は決して少なくないことを考えると、オープンソースになったParseServerを使ってホスティングをする会社が現れる可能性もゼロではない。ただし、いつ現れるのか、信頼できるのかは誰にもわからない。Parseがホスティングサービスの継続を断念したのにはそれなりの理由があるはずであり、もし他の会社が継続可能な形でホスティングをすることになった場合も、値段が高くなったり機能やサービスの内容が限定される可能性が高い。
なお、Parseはつい先日2015年10月にHerokuとの連携を発表しているため、個人的には、手軽にHeroku上にParseServerのインスタンスを作れるような仕組みができることを心から期待している。
他のBaaSへ移行する
Parse以外にも同じような機能を提供するBaaSは少なくない。ただし、当然ながらSDKの構造はそれぞれ異なるため、移行の作業量が大きくなることを覚悟する。実装の移行に加えて、データの移行も大きな仕事になることを忘れてはいけない。加えて、サービス毎に提供する機能には差異があるため、場合によっては移行に失敗するリスクもある。また、最悪の場合他のBaaSもParse同様、将来的に終了してしまうリスクがあるため、他のBaaSへの移行は特に慎重に検討するべきだ。
1/29現在、早速他のBaaSへの移行を試した記事が登場し始めている。
ニフティクラウド
- Parseからニフティクラウドmobile backendへの乗り換えてみた(iOS版 データストア)
- Parseからニフティクラウドmobile backendへの乗り換えてみた!(iOS プッシュ通知)
ニフティクラウドの回し者ではないが、実際のところ、提供している機能やSDKの構造が大分似ていること、日本の昔からの企業が運営していて日本語のドキュメントがあること、今回のParse終了に伴い真っ先に相談窓口が用意されていることなど、国内ユーザにとってはニフティクラウドは移行先の選択肢としては最有力候補となりそうだ。
とはいえ、Parseに比べれば若干ランニングコストがかかってしまう。今までのParseの無料プランでできることが多すぎた、ということを踏まえても、収益をうまないアプリ・サービスについては費用面がネックになりそうだ。
AWS Mobile Hub
BaaSは諦める
BaaSの使用をやめて、自前のサーバーコードを用意するのは、コストは大きいが最も不確実な要素が少ない選択肢だ。ただし、当然ながら今まで受けられていたBaaSのメリットが全て失われることになる。
プロジェクト自体の終了
最も悲しい選択肢ではあるが、利用者が少なく、かつ移行のコストが大きいプロジェクトの場合は、プロジェクト自体を終了するという選択肢も検討しなくてはいけない。
結論: しばらく様子見をしよう
現状でている材料だけでは、どの選択肢を選んだ場合でも一定の不確実な要素が付きまとうことになる。かかるコストとリスクのバランスで考えると、自前でParseServerを立てるか、誰かがParseServerをホスティングしてくれるのを待ち、そこで一旦様子見、というのが良さそうな気がする。
Parseのユーザは国内外でも少なくはないので、いずれの方法に関しても試して情報を公開してくれるユーザがすぐに現れるのではないかと期待される。規模が大きく移行に時間がかかるプロジェクトに関しては、早めに方向性を決めて作業に取り掛かる必要が出てくるかもしれないが、まずは数週間程度、他のユーザの情報を待って、適切な判断をするのが賢そうだ。