mBaaS比較

こんにちは、大塚です。
今回は自社でmBaaSを導入するにあたり、各社のサービスを比較調査してみました。

mBaaSとは?

mobile backend as a Serviceの略。
スマートフォンなどでよく利用される汎用的な機能を提供するクラウドのサービス。
BaaS(Backend as a Service)がモバイル向けに特化したものという位置付けです。
サーバサイドの実装が不要であったり、運用の負荷が軽減できたりと、モバイルサービス導入のハードルを下げてくれます。

mBaaSを提供しているサービスは各社ありますが、今回は大手が運営する3つのサービスをメインに比較してみました。

Firebase

2014年にgoogleに買収されたことにより、注目を浴びたサービスです。
元々はリアルタイムチャット向けに提供されたAPIサービスだったとのこと。
しかし、そのリアルタイム性の高さゆえゲームデータの同期などに使うユーザが増えたため、リアルタイムメッセージングの部分を切り出し、これが現在のFirebaseの元となったようです。

(2016/07追記)
2016/05/19に行われたGoogle I/O 2016にて、Firebaseの新バージョンが発表されました。Google Cloud Platformの一部として統合され、ログ解析やPush通知にも対応したようです。ここにある料金体系などの情報は古いものになっていますのでご注意下さい。

機能

  • Firebase Realtime Database
    前述のリアルタイムDBです。非常に高速で動作(同期)します。
    また、NoSQLのためJSONドキュメントをそのまま保持できることも特徴です。
    さらにオフライン同期にも対応しており、リアルタイム性においては他社の追随を許さない状況です。
  • Firebase Authentication
    メールアドレス&パスワード/OAuth認証(Facebook,Twitter,GitHub,Google)/匿名でのログインなどの認証機能を提供しています。
  • Firebase Hosting
    HTML/CSS/JS/画像ファイルなど静的なアセットをホスティングできます。
    ホスティングされたコンテンツはCDNを通じてSSLで提供されます。
    コマンドラインツールが提供されており、バージョン管理も可能。

料金

  • Free
    無料
    100コネクション/1GBストレージ/10GB転送
    Hostingでカスタムドメインが使用できません。
  • Spark
    5$/月額
    Hostingでカスタムドメインが使用できるようになります。
    それ以外はFreeと変わりません。
  • Candle~
    49$~/月額
    無制限のコネクション/10GBストレージ/50GB転送
    上位のプランにするほどストレージと転送量が増えます。

実際にFirebase上でサンプルアプリを作ってみましたが、尋常じゃない速さで同期されます。 Webコンソール上でJSONのデータが確認出来るのもかなり便利です。
リアルタイム性が要求されるサービスを考えているのであれば、これ一択じゃないかなという感じでした。

GMO mBaaS

国内大手のGMOが提供するサービス、多彩な機能と他社にはないメデイアストリーミングが特徴です。

機能

  • プッシュ通知
  • 会員管理・認証
  • データストア
  • ファイルストア
  • Pus/Subメッセージ
  • 権限管理
  • 位置情報検索
  • メディアストリーミング
  • カスタムビジネスロジック

料金

  • フリー
    無料
    550万プッシュ通知/100ユーザ/5GBストレージ
    PubSubメッセージ100万通/5権限ロール/200テーブル
    位置情報検索10万/2メディアストリーミング/5スクリプト/アプリケーション1環境
    テクニカルサポートなし
    自動バックアップなし

  • スタンダード
    9,800円/月額
    700万プッシュ通知/1,000ユーザ/50GBストレージ
    PubSubメッセージ500万通/10権限ロール/500テーブル
    位置情報検索50万/6メディアストリーミング/10スクリプト/アプリケーション5環境
    テクニカルサポート有り
    自動バックアップなし

  • エンタープライズ
    98,000円/月額
    500GBストレージ/20メディアストリーミング/他無制限
    テクニカルサポート有り
    自動バックアップあり

なんとここまで調べた所で衝撃の事実が発覚。
2015年11月から新規の申し込みをストップしているとのこと…残念。(2016年4月現在)

Nifty Cloud Mobile Backend

言わずと知れた国内最大手のniftyが提供するサービス。
豊富なドキュメントなど手厚い日本語のサポートが特徴的です。

機能

  • プッシュ通知
    様々なタイプのPushや解析が可能。
  • 会員管理・認証
    メールアドレス&パスワード/Twitter,Facebook,Google+/匿名などの認証を提供。
  • SNS連携
    Twitter,Facebook,Google+などのOAuth認証に対応。
  • データストア
    オブジェクトの保存に対しオフライン対応をしている。
    同期の速度は普通。
  • ファイルストア
    ファイルのアップロード/取得が可能。
    クエリによるファイル名検索にも対応。
  • 位置情報検索
    位置情報を利用した様々な計算を行ってくれる。
  • スクリプト
    node.js(v.5.7.0)
    JavaScript(8kb/file)
    Express.js準拠のrequest/responseが使える。
    ロールに応じたパーミッション設定も可能。

料金

  • Basic
    無料
    200万APIリクエスト/200万プッシュ通知/5GBストレージ
    ファイルサイズ5MBまで/100スクリプトAPIコール/スクリプト処理時間100秒
    テクニカルサポートなし

  • Expert
    30,000円/月額
    5,000万APIリクエスト/1,000万プッシュ通知/100GBストレージ
    ファイルサイズ100MBまで/1万スクリプトAPIコール/スクリプト処理時間1,000秒
    テクニカルサポートあり

  • カスタマイズ
    料金はお問い合わせ

豊富な日本語のドキュメントや、コミニティでのサポートが受けられます。
特にこの手のサービスは海外の物が多いので、日本語でのサポートはかなり助かると思います。
機能的にも申し分ないですね、ビジネス用途ならExpertプラン以上になると思います。

まとめ

今回は主にPushサービスメインでの利用を検討していたため、自然とFirebaseは外れ、日本語でのサポートがあるniftyを採用することにしました。
勿論これ以外にも、AWS(AWS Mobile Hub)やMicrosoft Azureなど、各社モバイル向けのサービスを展開していますので、 興味ある方は色々と調べてみるのもいいと思います。それでは!