ニフクラ mobile backendに代表される、アプリのサーバサイド(バックエンド)をまるっと提供する仕組みはmBaaS(mobile Backend as a Service)、または最近では単にBaaS(Backend as a Service)と呼ばれています。かつてサーバがクラウドに移り変わっていったのと同様に、サーバサイドをそもそも開発しなくても良いという時代がきています。
今回はそんなmBaaSはもちろん、mBaaS界隈についてもまとめてみました。
mBaaSで提供される主な機能
mBaaSはアプリ開発に必要な機能を提供しますが、その主なものとしては以下があります。
- データベース
- ファイルストレージ
- プッシュ通知
- ユーザ管理
後はこれらを管理するダッシュボード(管理画面)があります。その画面からであれば開発者でなくともデータの状況(ユーザ登録数や写真登録数など)を確認したり、プッシュ通知の開封率を確認したりすることができます。
mBaaSはWeb APIを提供するのが一般的
APIというのはApplication Programming Interfaceの略で、プログラミングから外部のサービス、ソフトウェアを利用できるようにする仕組みです。そしてWeb APIというのはAPIの中でも特にWebサービスが提供するものを指します。mBaaSはクラウドベースのサービスになりますので、スマートフォンアプリからはこのWeb APIを使ってデータを登録、検索するというのが一般的です。
Web APIがある利点としては、プログラマであれば自分の実現したいことをmBaaSの外から操作できるということです。例えば自社の商品データを一括で登録、更新するといった仕組みや登録されたデータをダウンロードして解析するといった操作もできるようになります。
主な対応プラットフォーム
mBaaSでは主立ったOS、デバイスに対してSDKと呼ばれる開発キットを提供しています。そのため開発者はSDKを使ってアプリの開発を効率的に行えるようになります。通常、
- iOS
- Android
- Unity
- JavaScript
などが提供されており、場合によってはさらに
- Cocos2d-x
- PHP/Ruby/Perl/Pythonなどのサーバサイド言語
向けにも提供されていることがあります。そのため、自分たちが使うプラットフォームでmBaaSが使えるかどうかはチェックするようにしましょう。
mBaaSを使うメリットは?
以前はサーバは占有サーバやVPSを使うのが一般的でした。そこにきて1時間単位の課金で使える、申し込んでからすぐにサーバが立ち上がるクラウドの登場は衝撃的だったかと思います。mBaaSについても通常、3〜6ヶ月くらいはかかるサーバサイドの構築&開発期間を申し込みの数分だけで使えるようにするというのが大きなメリットになります。
開発がなくなるということは、その分の開発費用軽減というコストメリットも生まれます。mBaaSというサービス自体は完全無料という訳ではなく一定規模に応じて課金が発生しますが、それでも自分たちでサーバを構築、開発したりさらに運用に伴うメンテナンスを行うのに比べたら大きなコストダウンにつながるのは間違いありません。
また、アプリが多くのユーザに使われるのに伴って発生するスケーリングの問題や、昨今のセキュリティインシデントに関わる情報漏洩といった問題もmBaaSを使う限りは気にしなくて良くなります。アプリ開発者がアプリのことだけに集中できるというのが最大のメリットでしょう。
mBaaSを使うデメリットは?
最大のデメリットとしてはベンダーロックがかかるということでしょう。アプリの根幹にもなりえるデータを預けてしまうことで、何か問題があっても乗り換えられないといった事態に繋がる可能性も少なからず存在します。そのため業者の選定は信頼、実績のあるところを選ぶ必要があります。価格は大きな訴求力になりますが、それだけで決めるのは良くありません。
mBaaS選定の基準は?
上記の通り、まず信頼できる業者を探すことです。もちろん費用対効果の大きさも大事でしょう。そしてSLAについても考えるようにしてください。多くのアプリはネットワークがなければ使えないものが多くなっています。そうした中でサーバサイドが停止してしまうとアプリ自体が全く使えなくなってしまうのは大きな問題です。
そのためサービス自体が信頼でき、SLAが定義されているものを選ぶべきです。海外にも多くのベンダーがいますが、何かトラブルが起きた際には英語で問い合わせ、かつ時差もあって返事が遅いなどといった問題についても考える必要があります。
海外のベンダーの状況
mBaaSは元々Facebookが買収したParseから知られるようになったこともあり、海外には数多くのベンダーがあります。海外のベンダーのメリットとしては海外においてネットワークが速いということが挙げられますが、これは通常北米においてというのと同義です。欧州、中東などではやはりネットワークは日本のベンダー同様に遅れます。
そして海外の場合、M&Aによってサービスが突然なくなる危険性が常に存在します。一旦安定して稼働しているアプリにおいて突然サーバサイドがなくなるというのは大きな問題と言えます。そうした点もきちんと考える必要があるでしょう。
日本のベンダーの状況
国内にも幾つかのmBaaSベンダーがあります。ニフクラ mobile backendもその一つです。国内のデメリットとしてはサーバが国内にあるケースが多く、海外に出た時にネットワークが遅くなる可能性があることでしょう。ただしアプリの市場において日本は収益面で他の国を大きくリードしていますので、アプリのビジネス化を考える上ではまず日本国内でしっかりと地盤を固めるのが良いのではないでしょうか。
逆にメリットとしては日本語のサポートが提供されること、大抵のベンダーが従量課金ではなく定量課金の形式をとっていることでしょう。そのため予算が明確になりやすく、急なトラフィック向上にも安心して対応ができるようになります。
今後のmBaaSはどうなる?
現在ベンダーは数多く存在し、今後は恐らく統廃合されていくのではないかと思います。サービス終了となった時、大きな損害を被るのはアプリ開発者になります。他のベンダーに乗り換えるのもそうそう容易ではないでしょう。そのためmBaaSを利用する際にはベンダー選定をきちんと行うようにしてください。
そしてmBaaSがBaaSと呼ばれるようになってきていることから分かる通り、モバイル以外の分野においてもmBaaSが使われるようになってきています。例えばIoTの分野や通常のWebアプリケーションでも使われるようになっています。今後もBaaSが使われていく範囲は広くなっていくと考えられます。
今はアプリ開発がどんどん速く行われるようになっています。そのため使える部品、サービスは積極的に使ってアプリ開発を高速化しなければなりません。ライバルに開発で出し抜かれるのは大きな痛手になります。mBaaSを使い、アプリ開発を素早く行ってください。