mBaasを使うか検討しているので、各サービスをまとめてみます。(2015年5月15日現在)
Parse
- Facebookが買収した
- mBaasといえば、Parseみたいなところがある。
- 無料枠:30requests per second(他省略)
- ストレージ、プッシュ通知、ユーザー管理など多機能揃ってる
- 各言語のSDKが充実している
- アクセスポイントはアメリカなので、日本からはやや遅いらしい
私の見解
- 小さい規模や、プロトタイプで使うにはよさそう。トラフィックが長期的に多いアプリはコスト高になる。
- 多機能充実している=良くも悪くも、そこに依存しやすくなるだろう
参考記事
サーバーサイド実装を1行もせずにバックエンドと連携するiOSアプリを開発する
mBaaSの「今」がわかる!ぶっちゃけ仮想パネルディスカッション!
[MBaaS] Parseで簡単モバイルバックエンド構築 – 【ざっと概要】
Firebase
- こちらもgoogleが買収済み
- ストレージの同期が強み。例えばチャットアプリとかでメッセージを送ったら、即座に相手にも更新されるみたいな。
- オフラインにも強い。上記の例でオフラインから解除されたら同期されてメッセージが届く
- 無料枠:50 Max Connections(他省略)
私の見解
- 同期的なアプリを作るにはよさそう、もし自前でやろうとすると大変だろうから。
- 料金も比較的、ゆるやかな気がする。
参考記事
準リアルタイムなバックエンド開発を支援するGoogleのFirebase
Microsoft Azure
- 普段からAzureを使っているような場合には最適
- C#やnode.jsでカスタムAPIを作れる
- 無料枠:500kリクエストまで(他省略)
- 各所にデータセンターがあるから、速いみたい
私の見解
- ごめん、Azure使ったことがない。
Google Cloud Platform(Cloud Endpoints)
- App Engine および Compute Engineを使っているなら無料で使える
- PythonかJavaで使える
私の見解
- Androidの説明やSDKは手厚いけど、iosの対応が微妙そう。Firebaseも買収したのでいつか統合するのかな?
AWS Mobile Service
いろいろ細分化されているので、使いたいものを選べます。
Amazon DynamoDB
- NoSQLのデータベース
Amazon S3
- データストア
Amazon Cognito(発音:コグニート)
- ユーザーのアカウント管理に特化したサービス
- ユーザー認証とユーザーデータを保持できる
Amazon SNS
- プッシュ通知
AWS Lambda
- イベント処理
私の見解
- おそらく長期的にも必要な分だけ、少額で利用出来るので使ってみたい。
- やはり機能を細分化しているAWSってすごい。
その他
他の類似の選択肢
- mbaasのオープンソースを使う(Deployd、BaasBoxなど…詳しいことは知りません)
- MongoDBのREST APIを使う
最後にmBaaSの選定について考えること
- アプリの特性や、規模、継続性など色々加味して導入を決める必要がある
- 個人規模の開発にはうってつけ
- APIやSDKも様々なので、使うところを良く確認したほうがいい
- カスタマイズ性の高いものがあるが、あまりカスタマイズしていたら自分でAPIのサーバーを作ったほうが良くなってしまうだろう
- やっぱりどのサービスもコストの計算がしづらい。コストのシミュレーションできるツールがほしい。
- mBaaSはまだまだこれから感が強い。ただ今後重要になってくる。
他にこんなのあるよーとか、コメントどうぞ。