Loading
BLOG 開発者ブログ

2017年6月6日

開発コストカット術!今話題のFirebaseを効率的に利用しよう

 

こんにちは。クラウドソリューショングループのwatanabe.tです。
アイソルートでは様々な問題を解決するためのソリューションを提案していますが、
システムの開発をする上で避けて通れない話題が開発コストです。
そこで、今回はアプリ開発界隈で話題のFirebaseを使ったコストカットについてまとめてみました。

 

 

Firebaseって?

FirebaseはGoolgeがサービスを提供している、mBaaS(mobile Backend as a Service)です。
mBaaSとは、スマートフォンアプリの開発・運用で必要となるサーバ側の機能をあらかじめ用意しておくサービスのことを言います。

その中でもFirebaseは、ユーザーの分析ソリューションやプッシュ通知、リアルタイムに同期されるデータベースなど、
モバイルアプリでも特によく利用される機能をクラウドで提供しています。

クラウドではインターネット上にあらかじめ用意されたサーバーを使用するため、自前でのサーバー開発・運用が不要で、
工数削減によるコストカットが可能です。
また、Googleがサービスを提供しているため、セキュリティも信頼でき、システム障害などにも強く、管理が簡単です。

 

 

メリット・コストについて

ここからは具体例を交えつつ、使うメリットはなにか、なぜコストカットになるのか、についてお話していきたいと思います。

 

1. ユーザーに興味を持ってもらい、アクションを促したい場合

スマートフォンの通知領域に、アプリからのニュースなどを配信・表示するものをプッシュ通知といいます。
このプッシュ通知を利用することで、特定のユーザーに対してアクションを促すようにしたり、
アプリのニュースを配信し、より興味を持ってもらうことが可能です。

 

この機能を全て自前で構築しようとした場合、通知を送信するためのサーバーを用意し、送信を行うための
設計・開発を行う必要があります。
この場合、十数日間の工数と数十万から数百万の費用がかかるだけでなく、サーバーの運用費用などもかかってしまいます。

しかし、FirebaseのNotificationsを使うことにより、サーバー側の工数を0にすることが可能です。
さらに、Notificationsは無料で使用することが可能なので、自前でサーバーを構築したときに比べて、
数十万から数百万のコストカットが可能です。

 

2. ユーザーの購買をさらに促したい場合

最近はただのチャットのみのアプリだけでなく、消費者の購買を促すためにサポートとのチャット機能を備えた
ショップアプリなども増えています。
消費者が疑問に思ったことをすぐに回答できるように、メールを使わずにチャットを利用する、という場合があるようです。

 

この機能を全て自前で実装しようとした場合、チャットを蓄積するためのサーバーを用意し、
さらにサーバー側でチャットを送受信するための設計・開発を行った上で、
アプリ側からチャットを送受信するための設計・開発を行う必要があります。

また、ユーザーの環境に影響されず、ユーザーが快適に操作できるようにするためには、
オフライン状態になったり、通信環境が悪い場合のことも考慮しなくてはなりません。

この場合、サーバー側の工数・費用が大きくかかってしまうだけでなく、アプリ側でもローカルにデータを保存し、
通信が繋がった時点で、メッセージを再送信するなどの工夫が必要になってくるため、
この機能だけでも工数・費用がかかってしまいます。
サーバーとアプリを合わせると、この機能だけでも月単位での工数と、数百万単位での費用がかかってしまいます。

しかし、FirebaseのRealtime Databaseを使うことにより、サーバー側の工数を0にすることが可能です。
さらに、オフライン時の挙動も考慮されており、オフライン時にデータを追加するなどした場合でも、
オンラインになったときに自動でデータを同期することが可能です。

このRealtime Databaseは一定量(保存容量1GB)までは無料で使用することが可能です。
ただ、その一定量を超えてしまうと課金が必要なため、注意が必要です。

 

3. ユーザーのアプリ使用状況や、ユーザー層などを知りたい場合

最近はユーザーの行動などを分析し、アプリの質の向上や、それぞれのユーザーに合わせたアプローチを行い、
より快適にユーザーに使用してもらえるように改善を行うことが増えてきました。

どの年齢層・性別が利用しているかなど、想定しているターゲットと実際の利用者があっているかなど、
アプリの正しい使用状況を把握することで、より質の高いアプリにしていくことが可能になり、
さらなるユーザーの獲得につなげることもできます。

 

そのためにも、アプリ使用者の行動を正しく把握し、分析できるようにすることは重要です。
また、ただデータを取得しただけでは意味がなく、グラフなど視覚的に理解できるような形でアウトプットし、
そこから対策を行うことができるようにする必要があります。

しかし、ゼロの状態からユーザーの情報を取得・分析できるようにするのは意外と難しく、
データを集めるためのサーバーを構築しなければならないだけでなく、グラフなどで視覚的に確認するために、
それ専用のシステムを導入するにも数十万から数百万の費用がかかってしまう場合があります。

そこで、Firebaseの中核を担う機能であるFirebase Analyticsを使用します。
これには元からユーザーの性別などを集めてくれる機能だけでなく、どこの国で使われているか、
どの機能をどれくらい使っているかなどを分析する機能が備わっており、
取得したデータは自動的にグラフなどで視覚化されるため、それ専用のシステムを導入する必要もありません。

また、Firebase Analyticsはどれだけ使っても、無料で使用することができるため、分析を行うためのシステムを
導入した時と比べて、月に数十万単位でのコストカットが可能です。

まとめ

さて、ここまでFirebaseを利用した開発コスト削減の話をしてきましたが、Firebaseがどういうものなのか、
どれくらいコストカットに繋がるのかをなんとなくイメージしていただけたでしょうか。
Firebaseはポイントを押さえて利用すれば、開発をより高速に、より大きなコストカットをすることが可能になります。

ただし、注意していただきたいのは、なんでもかんでもFirebaseを使用すればコストカットになる、というわけではないということです。

Firebaseを無理やり使おうとして、良くない設計を行った結果、保守・運用コストの増大や、
ユーザビリティの低下につながってしまう可能性もあります。

アイソルートではFirebaseの利用も含め、スマートフォンの活用、クラウドサービスの構築など、
お客様のニーズに合った設計・開発をご提案させていただいています。
スマートフォンアプリ・クラウドでお困りの際はぜひ一度ご相談ください。

watanabe.tのブログ

クラウドソリューショングループ所属

昔はモバイルアプリ開発を、今はGCP, AWS, Firebaseなどのクラウド周りの提案/開発を行っているエンジニアです。

AWS認定ソリューションアーキテクト取得しました!