ITの分野では日々新たな技術が登場しており、モバイルアプリの開発を支援するサービス・ツールもさまざまなものがあります。
そのひとつがバックエンド・サーバー側の開発を支援するMBaaSです。
こうしたサービス・ツールの導入を検討する際は、さまざまなプロダクトを調べて機能や料金の比較からはじめると思います。しかし、その検討にあたって意外と見落としがちな重要なチェックポイントもあるのではないでしょうか。
この記事では、モバイルアプリの開発を検討中、もしくはこれからバックエンド・サーバー側の開発に着手する方向けに、導入してから後悔しないための「MBaaS導入前のチェックポイント」をまとめてみました。
目次
MBaaSとは何か?
MBaaSはMobile Backend as a Serviceの略称です。
その名の通りモバイルアプリのバックエンドで必要な機能をサービスとして提供する仕組みで、「エムバース」と読みます。
簡単にいうと、どのアプリでも使われるような基本的な機能をアプリごとにいちいち開発しなくていいように、事前にそれら機能を用意したサーバを提供するサービスです。
モバイルアプリの多くは、スマホやタブレットなどの端末上だけですべての処理を行うのではなく、サーバと連携して動作するよう設計されています。
そうした処理の代表的な部分、具体的には、モバイルアプリでよくある「ログイン機能」や「プッシュ通知機能」などは、バックエンド側でやること(ユーザーには見えないサーバ側の処理)は基本的にどのアプリでも同じです。そうした共通の機能はMBaaSを利用することで簡単にアプリに組み込めるようになるのです。
ちなみにMobileの頭文字MをつけずにBaaS(Backend as a Service)と表現することもあるようですが、MBaaSもBaaSも同じ意味と考えて問題ありません。
MBaaSの使い方、メリットとは?
機能の詳細や具体的な使い方はサービスにより異なりますが、簡単にいうとMBaaSはアプリ内にMBaaS上の機能を呼び出すAPI(Application Programming Interface)を組み込むだけで利用できます。
アプリの開発者はMBaaSの提供者に指定されたAPIをプログラム内に書くだけで、サーバ側のことは気にする必要なくアプリユーザーのログインを管理したり、ユーザーにプッシュ通知を送ったりできるようになるのです。
そうすることで、開発者はフロントエンド(ユーザーの目に見える部分)の開発や、サービスそのものの企画や改善に注力できるようになります。
MBaaS利用のメリット
- 予め用意されたAPIを使って開発するため、開発期間が短くなる(コストも抑えられる)
- フロントエンドのエンジニアだけでサーバと連携するアプリの開発ができる
- 認証、データ管理、Push通知のような複雑な処理を自分たちで開発しなくて良いため、相対的に品質が向上する
どのようなサービスがあるのか?
MBaaSというキーワードは2012年頃から注目されるようになりましたが、実は2020年現在この言葉はあまり使われなくなっているようです。
(キーワードとしてあまり注目されなくなった原因は、アプリ開発時にこうしたサービスを活用することが一般的になり、わざわざMBaaSという概念を用いて説明する必要がなくなってきたからだと考えられます。)
2020年4月現在、googleで検索してみた限りではMBaaSと明記している国産のサービスとしてはニフクラ mobile backendか、当社のAppPotくらいしかないようです。
その他に海外のサービスでは、GoogleのFirebase、アマゾン ウェブ サービスのAWS Mobile Hub、MicrosoftのAzure App Service(Mobile Apps)などが代表的なものとしてあげられます。
中でも最近はFirebaseを導入するケースが多いようです(当社エンジニア調べ)。
少し前置きが長くなってしまいましたが、ここからが本題です。
このようにニフクラ mobile backend、AppPot、Firebase、AWS Mobile Hub、Azure App Serviceなどいくつかの選択肢があった場合に、何に注目して比較検討すればいいのでしょうか?
比較時のチェックポイント①MBaaSを利用する目的は?
当たり前のことですが、MBaaSの導入を検討している方は、何らかの目的を持っているはずです。
大きな目的はもちろん「バックエンドの開発工数を減らしたい」ということになると思いますが、もう少し細分化していくと「アプリで〇〇をするために〇〇できる機能がほしい(でもできれば開発せずに実現したい)」という具体的な目的があるはずです。
本来はその目的に重点を置いて最適なものはどれか検討するべきですが、サービス比較をしていると当初の目的を忘れて、より機能が豊富なもの、より安価なものに惹かれてしまうことがあると思います。
(そして導入した後で「この機能、必要なかったかも」とか「安いけど使いにくい」と後悔することに…)
そのため、「MBaaSを利用する最大の目的は何か」を常に頭に入れて検討を進める必要があります。
業務用アプリのバックエンド・サーバー側開発に…
最近はモバイルアプリを社内業務に活用する取り組みが増えています。
フロントエンド側もさまざまなアプリ開発支援ツールが登場しているため、できるだけ社内のリソースを使って、業務用のモバイルアプリを素早く作りたいという企業が増えているようです。
こうした業務用のモバイルアプリ開発では、コンシューマ向けのアプリほど見た目の豪華さや多様な機能は求められません。
むしろ、できるだけシンプルで、その業務に特化した機能を社内システムと安全に連携させて使いたいというニーズの方が大きいと考えられます。
こういうケースではまさに「機能が多い方がいいだろう」という考え方ではなく、「どれだけ目的に適した機能を有しているか」を重視すべきだといえます。
たとえば、当社のAppPotは機能数という面では他のMBaaSと比較して大きな特徴はないかもしれませんが、システム間連携の機能がついているので社内システムのDB(データベース)をAppPot経由でモバイルアプリから参照するということが比較的容易に実現できます。
ここでは、「社内システムと連携させる」を例に説明しましたが、これに限らず、最も大事なニーズを満たすために何の機能が重要なのか? をサービスの比較検討時に常に頭に入れておくと良いと思います。
比較時のチェックポイント②サブスクリプションでいいのか?
MBaaSは基本的にクラウドサービスで、サブスクリプション型で提供されています。サブスクリプションモデルのサービスは、高機能な割に月額利用料などの単価が安いというメリットがあります。そのため月単位で見るとコスパは非常に良いと言えます。
しかし、月額で考えると安くても、長期的に利用する場合、かえって費用は割高になる可能性もあります。
そのため、バックエンド・サーバー側の開発費抑制をひとつの目的として考える場合は、初期費用だけでなく長期間利用した場合の費用も試算して検討する必要があります。
また、前述したような業務用アプリで利用するケースでは、ユーザ企業の都合でサブスクリプション型の契約が難しいということもありえます。
クラウドサービスの場合、ユーザ数の急激な増加や一時的な高負荷の発生時に柔軟に対応できるという大きなメリットもありますが、業務用で社員しか使わないようなケースだとユーザ数が一気に倍増するようなことは考えにくく、長期にわたって安定的に利用される可能性が高いはずです。そうした観点でも、オンプレミスで準備した方が安価になる可能性があります。
仮に機能が同等で、オンプレミスや買い切り型の契約で使えるサービスがあった場合、一般的なサブスクリプション型のクラウドサービスとどちらを選ぶべきなのかも事前に考えておくと良いのではないでしょうか。
比較時のチェックポイント③日本語対応やサポートは?
MBaaSに限らずXaaSとよばれるサービス全般に言えることですが、これらの分野に強い事業者は世界中にサービスを提供しているグローバル企業が多いので、比較的安価に豊富な機能を使える一方、日本語でのサポートという点では至らないものも多いと思います。
担当営業がついてこまめに問い合わせ対応をしてくれるような有償サポートまでは求めないにしても、開発環境やドキュメントが日本語で提供されているかどうかは、意外と開発の工数にも影響してきます。
そのため、長期的な利用で何かしらのサポートが必要になったり、将来的にアプリの機能追加などでMBaaS側と何か相談する必要が出てきたりするかもしれないと考えると、日本語対応やサポートも大事なチェックポイントになるのではないでしょうか。
また、長期的な視点という意味では、こうした仕組みはある日突然サービスが終了する可能性も考慮する必要があります。とくに海外のサービスは日本語で得られる情報が少なく、唐突にサービスが停止されてしまって代替策に困るという事態に陥るリスクも考えられます。
そのため、長期的に安心してつかえるサービスなのかどうか信頼性も導入時点でしっかり確認しておくことがおすすめです。
MBaaS比較のチェックポイントまとめ
MBaaSを利用すると、フロントエンドのエンジニアだけでサーバと連携する品質の高いアプリの開発ができるため、開発期間の短縮やコストの抑制が可能になります。
海外のサービスを中心にいくつか選択肢がありますが、機能数の多さや月額費用の安さだけに捉われずに、下記のポイントも意識してサービスを選択することをお勧めします。
- 「機能が豊富なもの」よりも、自社がMBaaSを利用する「最大の目的に合致するもの」を選ぶ
- 利用する期間やユーザ数などを考慮して、サブスクリプション型と買い切り型のどちらが適しているかを検討する
- 日本語対応やサポートを含め、長期的に安心して利用できるサービスなのかどうかを見極める
最後に、宣伝になりますが、当社のAppPotは下記の特徴を備えたアプリのバックエンド開発支援サービスです。
AppPotの特徴
- システム間連携の機能があるため、AppPotを経由してアプリから社内システムのDB(データベース)などを参照することが可能。
- サブスクリプション型だけでなく買い切り型の契約も可能。
- クラウドでもオンプレミスでも利用可能。
- 数少ない国産MBaaSのひとつであり、開発環境やドキュメントが日本語で提供されている。
AppPotの利用で60%の工数削減を実現した実例を紹介した記事もありますので、参考にしてください。
mBaaSを使ったサーバー開発なしのアプリ開発
社内DBと連携して動く業務用アプリなど、上記の特徴が役立つアプリ開発のニーズがありましたら、お気軽にお問い合わせください。
AppPotをご導入いただく際には、アプリの企画から既存システムとの連携や運用に至るまで、すべてのプロセスを経験豊富なコンサルタントがご支援します。