BaaSが提供する機能
BaaSプレイヤーをご紹介する前に、まずはBaaSには一般的にどのような機能が備わっているものなのかを説明します。
BaaSはモバイルアプリのバックエンドサーバーに必要な主な処理をあらかじめ用意してREST APIで提供しています。 REST APIはHTTPをベースとした一般的なAPIの形式で、どのモバイルプラットフォームからも簡単にコールすることができます。 しかし多くのBaaSプレイヤーは各プラットフォーム毎にREST APIをラップした独自のSDKを提供していて、 開発者はREST APIを意識することなくさらに簡単にBaaSを利用できるようにしています。
REST APIを経由して呼び出せる機能は各BaaS毎に様々ですが、多くの場合以下の機能を提供しています。 どれもモバイルアプリ開発に必須の機能ばかりです。
アカウント管理機能
アプリのユーザー登録やログインを簡単に実装できユーザー管理を行える機能です。 アプリ独自のアカウントを作るだけでなく、すでにユーザーが持っているFacebookやTwitterのアカウントを利用できる場合もあります。
データストア機能(Object Storage、File Storage)
アプリやユーザーの情報から写真等のサイズが大きいバイナリファイルまで保存することができる、簡易データベース機能です。 誰がデータにアクセスできるのかを予め設定するアクセスコントロール機能を利用できる場合もあります。
Push通知機能
アプリユーザーのデバイスに通知を送ることができる機能です。
サーバーサイド処理実装機能
BaaSで提供されている機能以外にも、アプリ固有のサーバーサイド処理を実装できる機能です。
Analytics機能
アクティブユーザー数の推移、APIコール数、Push通知数等のアプリ運用に必要な数値を、グラフ等で確認できる機能です。
世界のBaaSプレイヤー
次に世界のBaaSプレイヤー達を見ていきましょう。世界では2010年頃から米国を中心にスタートアップし、現在では数多くのBaaSが乱立しています。 今回はその多数あるBaaSの中でも特に注目の集まっている著名なサービスを取り上げて紹介します。
Parse.com
今年Facebookが買収を発表した(※1)ことで俄然有名になったParse.comはBaaSのスタンダードとして語られることも多く、 まず最初に押さえておきたいサービスです。 弊社ミクシィが提供している人気のフォトアルバムアプリ「ノハナ(nohana)」もバックエンドにParse.comを使っています。
Kinvey
今年Googleと提携した(※2)Kinveyは「BaaS」という呼び名を作ったサービスとして知られています(※3)。 APIコール数やストレージ容量を基準にして価格が決定するサービスが多い中、Kinveyはアクティブユーザー数を基準にした価格体系を採用しています。
StackMob
BaaS黎明期から人気のStackMobは、エンタープライズをターゲットにしているようです。 サーバーサイドのカスタム実装でJavaやScalaを利用するところに特徴があります。
Appcelerator Cloud
JavaScriptでiOS/AndroidアプリをつくることができるTitanium Mobileの開発元であるAppcelerator社が提供しているサービスです。 TitaniumだけでなくiOS SDK、Android SDKも用意されています。 無料で利用できるAPIコール数やデータストア容量が多いのも魅力です。
Windows Azure Mobile Service
マイクロソフトも今年BaaSの提供を開始しました。Windows Phone 8 SDKだけでなく、iOSやAndroid向けのSDKも用意されています。 日々ドキュメントの日本語翻訳が進んでいるようで、現時点では各プラットフォームアプリのクイックスタートも日本語で丁寧に解説されています。
Amazon Simple Notification Service
ついにAmazonもBaaSに進出!つい先日Amazonがモバイルアプリ向けにPush通知を送れる機能を発表しました(※4)。 既に多くのアプリを抱えているAWSの動向に注目です。
日本のBaaSプレイヤー
次に日本のBaaSプレイヤー達を見ていきましょう。BaaSを提供しているのは海外ばかりではありません。 日本でも昨年から各社が次々とBaaSの提供をはじめています。 国産BaaSは開発者向けドキュメントが日本語で丁寧に書かれているので、BaaS初心者の方や英語が苦手な方にもオススメです。
Kii Cloud
Parse.comとよく似たサービス内容と価格体系を取っている本格的な国産BaaSです。 Parse.comと差別化をはかる独自機能も提供していて、例えばマネタイズの問題を抱えるアプリ向けにアドネットワークとの連携機能を標準で備えています。 また中国のグレートファイヤーウォール内でもサービスを提供し、独特なアプリ市場を形成している中国へのアプリ進出を支援していることも特徴的です。
appiaries
日本初のBaaSとして注目を集めました。他サービスと比べまだまだ機能が少ない印象ですが、日本のパイオニアとしてこれからの動向に期待しています。
無料でどのくらい使える?
さて、世界/日本のメジャーなBaaSプレイヤー達を見てきましたが、気になるサービスはありましたでしょうか? エンジニアの方の中にはドキュメントを読むよりもコードを書いた方が分かる、という方もいらっしゃるでしょう。 そこでメジャーなBaaSを5つピックアップして、それぞれ無料でどの程度の機能を利用することができるのかをまとめてみました(※5)。 ぜひみなさまにBaaS選択にお役立てください。
Parse.com | Kinvey | StackMob | Appcelerator Cloud | Kii Cloud | |
---|---|---|---|---|---|
ドキュメント | 英語 | 英語 | 英語 | 英語 | 日本語、英語 |
SDK | iOS, Android, Javascript, OS X, .NET, その他 | iOS, Android, Javascript | iOS, Android, Javascript, Java | Titanium, iOS, Android | iOS, Android, Javascript, Unity |
ユーザー数 | 上限なし | アクティブ100人まで | ? | 上限なし | 上限なし |
リクエスト数 | 100万件/月まで | 上限なし | ? | 500万件/月まで | 100万件/月まで |
Push通知数 | 100万件/月まで | 上限なし | ? | 500万件/月まで | 100万件/月まで |
データストア容量 | 1GB/月まで | 上限なし | ? | 20GB/月まで | 1GB/月まで |
サーバーサイドカスタム実装 | JavaScript | JavaScript | Java, Scala, Clojure | Node.js | JavaScript |
ユーザー管理 | ○:利用可 | ○:利用可 | ○:利用可 | ○:利用可 | ○:利用可 |
GEO Location | ○:利用可 | ○:利用可 | ○:利用可 | ○:利用可 | ○:利用可 |
外部サーバー連携 | ×:利用不可 | ○:利用可 | ×:利用不可 | ×:利用不可 | ○:利用可 |
※1:Welcoming Parse to Facebook
※2:Google Cloud Platform Blog
※3:Mobile Backend as a Service (MBaaS) Blog
※4:AWS Official Blog
※5:執筆時点での各サービスの公式ドキュメント掲載内容を元に著者がまとめています。実際のサービス内容と差異が生じている可能性がありますことをご了承ください。