【第1回】 Google の mBaaS 「 Firebase 」とは?【はじめてみよう Firebase】

【第1回】 Google の mBaaS 「 Firebase 」とは?【はじめてみよう Firebase】

モバイルアプリケーションをいち早くリリースするには、バックエンドで動くサービスの構築がネックになります。 DB サーバを用意したり、 DB にアクセスするための API サーバの構築や認証など、どうしても作業が多くなってしまい、コストもかかってしまいます。
リリースしてもサーバの管理は必要になり、利用者が増えればスケーリングなどの対応が必要になってきます。今回はこのような問題を解決するための GCP の mobile Backend as a Service(mBaaS)「 Firebase 」を紹介します。

この記事の目的

Firebase とは

Firebase は Google が提供しているモバイルおよび Web アプリケーションのバックエンドサービスです。クラウドサービスの形態では BaaS に位置付けされます。 Firebase を使うことで、開発者はアプリケーションの開発に専念でき、バックエンドで動くサービスを作成する必要も管理する必要もありません。
サービスの早期リリースという要件が求められたときに、サーバレスアーキテクチャが注目され、 BaaS というクラウドサービスの形態が登場しました。サーバサイドの開発費を抑え、かつ工数もかからない。サービスの利用者が増えてもサーバの増築を意識しなくて良いなどの利点から、 Web サービスほどサーバを必要としないモバイル向けのサービスの BaaS に注目され、様々な BaaS が登場しました。
Firebase もその中の一つです。 Firebase はもともとは Google とは独立したサービスでしたが、2014年に Google に買収され、 GCP の仲間入りをしました。現在は GCP の様々なサービスと連携して使うことができるようになっています。

Firebase の機能

BaaS には、独自のビジネスロジックを組み込むことはできません。そのため、多くの BaaS には、データベース機能以外にも、 SNS 連携や Android 、 iOS の SDK などが提供されています。煩わしい認証は SDK が BaaS と連携してくれて、クライアントは数行のコードを書くだけで実現することができます。もちろん Firebase にもこういった機能がサポートされており、 Firebase では以下のような機能が提供されています。

Firebase の機能

Realtime Database

Firebase に元から含まれているオブジェクト型のデータベースです。リアルタイムでクライアント全体の状態を同期させることができ、オフラインで動作するときはデータをキャッシュしてオンラインになった時に自動的にデータを同期します。

Realtime Database

Cloud Firestore

Realtime Database の性能をさらに向上させた、新しい主力のデータベースです。 Realtime Database より高速でスケールアウトにも対応しています。こちらもオブジェクト型のデータベースとなっています。現在ベータ版となっていますが、 Google は Realtime Database より Cloud Firestore を推奨しているため、今後は Realtime Database に取って代わるデータベースになるように思われます。

Cloud Firestore

Cloud Storage for Firebase

写真や動画などバイナリーデータを保存します。保存先は Cloud Storage となっており、 Firebase と Google Cloud の両方からアクセスできます。また、スケールアウト機能も兼ね備えており、急激なアプリケーションの拡大にも対応しています。

Cloud Storage for Firebase

Firebase Authentication

Firebase Authentication は、 Google のフェデレーション認証で、 Google 以外にも Facebook 、 GitHub 、 Twitter などのサードパーティの認証情報を使用して、クライアントアプリケーションのログインを行うことができます。また、フェデレーション ID 以外にもパスワード認証や電話番号認証にも対応しています。

Firebase Authentication

Firebase Cloud Messaging(FCM)

Firebase Cloud Messaging を使うことで、様々なプラットホームで動いているアプリケーションに対してメッセージを送ることができます。今までは Google Cloud Message を使ってサーバからのプッシュ通知を行っていましたが、これからは、Firebase Cloud Messaging を使うことが推奨されています。

Firebase Cloud Messaging

Google Cloud Functions for Firebase

Cloud Functions for Firebase を使うことで、イベントドリブンなアプリケーションを作成することができます。 SMS メッセージの送信などの処理のような外部サービス連携などを行うことが可能になります。また、クライアントアプリケーションに実装させるには重たすぎるような処理を Cloud Functions for Firebase に委ねることができます。

Google Cloud Functions for Firebase

Firebase Hosting

Firebase Hosting はスタティックな Web ページを公開することができます。近年では HTML 、 CSS 、 Javascript を組み合わせてアプリケーションのような Web ページを実現することができるようになりました。こういった Web ページも Firebase Hosting を使って公開することもできます。
また、 Web ページでは、エッジキャッシュの機能を利用することができので、世界各地に分散している Google のエッジ接続拠点を使って高速にユーザに配信することができます。

Firebase Hosting

その他

その他に、 Test Lab for Android や Performance Monitoring などの機能があります。

Firebase SDK

これらの機能を簡単に使える SDK が提供されています。サポートされているプラットフォームには、 Android 、 iOS 、 Web 、 Unity 、 C++ 、などがあります。最近話題の、 Google のモバイル開発向けクロスプラットフォーム Flutter もサポートしています。また、一部の SDK はオープンソースで公開されており、 GitHub でソースコードを確認することができます。
これらの SDK は一部の IDE からも利用することができ、 Android Studio ではリファレンスを開かなくても、そのまま使うことができるサンプルコードが表示されるという便利な機能があります。主要な SDK 以外にも以下のような SDK やツールが提供されています。

Android Studio

Firebase の使い所

Firebase にたくさんの機能があることはご理解いただけたと思います。では、どんなときに Firebase を使うのかを考えてみましょう。
まず、プラットホームが Android 、 iOS を対象としたモバイル向けのゲームアプリケーションを開発することになったとします。そして、ゲームにはチャット機能、お知らせ機能、 SNS アカウントによるログインを想定しています。このような場合は、チャット機能に FireStore 、お知らせ機能に FCM 、 SNS アカウントのログインに Firebase Authentication が使え、バックエンドサービスを構築する必要がありません。
バックエンドサービスの代わりに Firebase を使うことで、すばやくアプリケーションをリリースすることができ、管理も不要です。 Firebase にはたくさんの機能があるので、例えばリリース後に動画のストリーミング再生の機能が必要なっても今度は Cloud Storage For Firebase を使って実現することができます。
Firebase はサーバレスアーキテクチャを導入しようとしたときに最適なサービスとなっており、特にモバイル向けのサービスやフロントエンドな Web アプリケーションの開発には有効な手段となっています。

終わりに

いかがでしたか。 Firebase にはたくさんの機能とそれをサポートするための豊富な SDK が用意されており、簡単にアプリケーションに組み込むことができるようになっています。次回からはこれらの機能を使ってどうやってアプリケーション開発をしていくのかを説明します。

  • 【第2回】 Firebase の基本操作を理解しよう!【はじめてみよう Firebase】
  • GCPのスキルアップをしたい方へおすすめの記事

    Google Cloud認定資格とは?本気で目指すならGCPトレーニングがオススメ



    【関連記事】
    【Firebase アナリティクス技術調査レポート

    【トップゲート主催】ゲーム業界様向けGCP活用のポイント〜Firebase / Firestore編〜



    弊社トップゲートでは、Google Cloud (GCP) 利用料3%OFFや支払代行手数料無料、請求書払い可能などGoogle Cloud (GCP)をお得に便利に利用できます。さらに専門的な知見を活かし、

    など幅広くあなたのビジネスを加速させるためにサポートをワンストップで対応することが可能です。

    Google Workspace(旧G Suite)に関しても、実績に裏付けられた技術力やさまざまな導入支援実績があります。あなたの状況に最適な利用方法の提案から運用のサポートまでのあなたに寄り添ったサポートを実現します!

    Google Cloud (GCP)、またはGoogle Workspace(旧G Suite)の導入をご検討をされている方はお気軽にお問い合わせください。

    お問合せはこちら


    メール登録者数3万件!TOPGATE MAGAZINE大好評配信中!
    Google Cloud(GCP)、Google Workspace(旧G Suite) 、TOPGATEの最新情報が満載!

    メルマガ登録はこちら

    関連記事

    Contactお問い合わせ

    Google Cloud / Google Workspace導入に関するお問い合わせ

    03-6387-9250 10:00〜19:00(土日祝は除く)
    Top