アプリケーション開発のバックエンド機能を提供するツールとして、MBaaSやBaaSという用語を耳にしたことがある方も多いのではないでしょうか。そのなかの選択肢の一つに、Googleが提供するFirebase(ファイアベース)があげられます。
Firebaseには、アプリケーションのデプロイや機能実装などに関する幅広い機能が搭載されています。そのため、ワンストップで効率良くバックグラウンド処理を実行できるのが特徴です。
本記事では、Firebaseの特徴や代表的な機能、料金体系などを解説します。あわせてFirebaseの登録方法や使い方も紹介しているので、初めてMBaaSやBaaSを導入する方は参考にしてください。
Firebaseとはアプリケーション開発を効率化できるクラウドサービス
Firebaseとは、Googleが提供する、Webアプリケーションやモバイルアプリケーションの開発プラットフォームです。サービス形態としては、MBaaS(Mobile Backend as a Service)、あるいはBaaS(Backend as a Service)に位置付けられています。アプリケーション開発に関する幅広いバックエンド機能をクラウド上で利用できるのが特徴です。
機能が豊富なだけあり、複数のMBaaSやBaaSを導入せずとも、一つのプラットフォームだけでアプリケーション開発のバックグラウンド処理が完結します。また、バックエンドシステムを構築・管理する工数を削減し、スピーディーな環境整備ができるのも利点です。
Firebaseの代表的な機能7選
Firebaseにはさまざまな機能が搭載されており、必要に応じて利用できます。代表的な機能を押さえることで、Firebaseを使って実現できることがイメージしやすくなるでしょう。
Firebase Hosting
Firebase Hostingは、Webアプリケーションや静的なWebページをデプロイするための機能です。世界中に配信されているCDN(Content Delivery Network)に自社コンテンツがキャッシュされているため、レンタルサーバーに契約せずとも公開できます。契約手続きを省略できる分、より迅速にデプロイできるのがメリットです。
実際にデプロイ作業を行う際は、簡易的なコマンドを実行するのみで済みます。そのため、WebアプリケーションやWebページのデプロイに不慣れな人でも安心です。
Firebase Cloud Messaging
Firebase Cloud Messagingは、開発中のモバイルアプリケーションにメッセージ送信やプッシュ通知を実装する機能です。端末の種類を問わず実装できるため、異なる端末同士でもメッセージを送受信できます。
メッセージ送信先のターゲットを細かく調整できるのもポイントです。例えば、ユーザーのタイムゾーンやカスタムドメインを指定してメッセージを送信できます。後ほど紹介するFirebase Analyticsと連携すると、メッセージの一元管理や送受信データを分析にも活かせます。
Firebase Authentication
Firebase Authenticationは、開発中のアプリケーションに認証システムを実装する機能です。ID・パスワードによる一般的な認証のほか、多要素認証やSSO(シングルサインオン)にも対応しています。
セキュリティリスクが高まりつつある昨今において、アプリケーション内の認証システムは必須です。しかし、ニーズが高いものの、開発に高度な技術や多くの時間が必要な点が従来の課題でした。Firebase Authenticationを活用すれば、より少ない工数で認証システムの実装が可能です。
Cloud Functions for Firebase
Cloud Functions for Firebaseでは、Firebaseの複数の機能を組み合わせて利用できます。サーバーレスフレームワークを採用しているため、独自のサーバーを構築せずとも、アプリケーション内のイベントを処理できます。そのため、サーバーの構築や運用にかかわるコスト削減が可能です。
Cloud Firestore
Cloud Firestoreは、NoSQLでデータベースを構築できる機能です。強力なクエリエンジンが搭載されており、スケーラビリティ(拡張性)に優れるのが特徴です。そのため、複雑で高度なクエリをもとにアプリケーション開発を行う際は、Cloud Firestoreが役立ちます。
Firebase Realtime Database
Firebase Realtime DatabaseもCloud Firestore、NoSQL型のデータベースですが、リアルタイムにデータを同期できる特徴があります。そのため、複数人による同時編集が可能です。
また、専用のSDK(サービス開発キット)が用意されており、SDK環境においてはオフラインでのモバイルデータ書き込みや、ローカルキャッシュによるデータ表示に対応しています。端末がオンライン状態になった時点で、ローカルデータと自動同期する仕組みです。つまり、Firebase Realtime Databaseは、アプリケーション間で同期する機会が多いチャットツールなどと相性が良いでしょう。
Firebase Analytics
Firebase Analyticsは、アプリケーションの利用状況やエンゲージメントなどのデータを、ユーザーベースで分析できる機能です。「Google Analytics for Firebase」とも呼ばれています。
ユーザーの行動データを把握・分析する機能なので、アプリケーションをリリースした後に利用するのが一般的です。アプリケーションから取得できる幅広い種類のデータを、表やグラフなどで可視化したり、レポートとして出力したりできるのが特徴です。ユーザーの属性や行動傾向を分析することで、マーケティング戦略の見直しや新たな機能開発などに発展できます。
Firebaseを導入する4つのメリット
Firebaseを導入するメリットは次の通りです。
- 機能が充実しておりワンストップでバックグラウンド処理が完結する
- 効率良くアプリケーション開発を行える
- 幅広いフレームワークと互換性がある
- サーバーを自社で運用する必要がない
それぞれのメリットについて詳しく解説します。
機能が充実しておりワンストップでバックグラウンド処理が完結する
Firebaseは一つの製品に幅広い機能が搭載されています。ワンストップでバックグラウンド処理が完結するため、ほかのMBaaSやBaaSを導入せずに済むケースも少なくありません。管理すべき製品の数が減ることで、複数のプラットフォームを立ち上げる必要がない、管理工数の手間がかからない、コストを最適化できるなど、さまざまなメリットが生まれます。
効率良くアプリケーション開発を行える
アプリケーション開発の速度を向上できるのもFirebaseのメリットです。Firebaseでは、Webアプリケーションやモバイルアプリケーションにかかわらず、高速なデプロイが可能です。
また、バックエンドの構築や認証システムの実装など、本来であれば多くの時間を要していた作業を、標準搭載されている機能を使うだけで効率良く処理できます。結果として、開発工数の削減や期間短縮につながります。
幅広いフレームワークと互換性がある
Firebaseは、アプリケーション開発用の幅広いフレームワークと互換性があります。比較的新しいものだとVue.JSやNuxt.JS、Reactなどが代表的です。また、Flutterをはじめとするモバイルアプリケーション用のフレームワークにも対応しています。その分、活用の機会が広がり、さまざまな開発現場で利用できます。
サーバーを自社で運用する必要がない
Firebaseはフルマネージドサービスなので、自社でサーバーを運用する必要がありません。フルマネージドサービスとは、ITインフラの運用・保守に関する作業全般を、サービス提供事業者側で実施してくれるサービスです。そのなかにはインシデント対応や機器のメンテナンスも含まれています。
本来、バックグラウンド処理を行うには自社でサーバーを構築する必要があり、そのための費用や工数は自社で負担しなければなりません。一方、Firebaseなら、サーバーの導入・運用に関する作業をすべて一任できます。費用や労力の問題でアプリケーション開発を実施できなかった企業でも、Firebaseなら気軽に導入できるでしょう。
Firebaseの料金体系
Firebaseの料金体系は、「Sparkプラン」と「Blazeプラン」の2種類に分かれます。それぞれの料金や特徴を解説します。
Sparkプラン
SparkプランではFirebaseを無料で利用できます。ただし、Blazeプランという有料プランが用意されている以上、Sparkプランでは一部の機能が制限されています。
例えば、Cloud Firestoreに保存できる容量は1GiBまでです。ほかにも、Firebase Hostingのストレージは最大10GB、Realtime Databaseの同時接続数が最大100など、ほとんどの機能で制限が設けられています。
そのため、Sparkプランは、本格的にFirebaseを利用する前のテスト環境として使うのがおすすめです。機能が制限されているものの、どれだけ使用しても課金されないため、安心して操作性や機能性を検証できます。
Blazeプラン
Blazeプランは、機能ごとに使用した分だけ課金される、従量課金制のプランです。課金形態は機能によって異なるが、主にデータの取得回数や認証回数などが対象となります。代表的な機能をあげると、次のような形で課金されます。
- Firebase Hostingのストレージ:&0.026/1GB
- Firebase Authenticationの電話認証機能:$0.01/認証
- Cloud Firestoreの保存データ:$0.18/GiB/月
※米国リージョンの場合
上記の価格はそれぞれの無料使用枠が設けられています。例えば、Cloud Firestoreの容量は1GiBまで無料で使用でき、その範囲を超えると「$0.18/GiB/月」の費用が発生するということです。
Firebase導入時の3つの手順
Firebaseを導入する手順は次の通りです。
- GoogleアカウントでFirebase Consoleにアクセス
- プロジェクト作成
- 各種機能を用いてアプリケーション開発を実施
手順ごとに具体的な進め方を解説します。
1. GoogleアカウントでFirebase Consoleにアクセス
Firebaseの公式サイトにアクセスし、画面の右上にある[Go to console]をクリックします。
利用するGoogleアカウントを選択しましょう。
すると、管理画面であるFirebase Consoleが表示されます。
2. プロジェクト作成
Firebaseを利用する際は、まずアプリケーション開発用のプロジェクトを作成します。Firebase Console上にある[プロジェクトを追加]をクリックしてください。
任意のプロジェクト名を入力します。
Google Analyticsと連携するか否かを選択します。連携することでGoogle Analytics内のユーザー情報をFirebaseに紐付けたり、A/Bテストなどの機能が使えたりするので、アカウントを保有している場合は連携するのがおすすめです。
設定が完了すると、プロジェクト用の管理画面が表示されます。
3. 各種機能を用いてアプリケーション開発を実施
プロジェクト管理画面では、画面左側[プロダクトのカテゴリ]から任意の機能を選択できます。
「構築・実行・分析」のタイプ別に機能が分類されているので、必要な機能をクリックして活用しましょう。
FirebaseはGoogle Cloudと併用するのがおすすめ
Firebaseを利用する際は、Google Cloudと併用することをおすすめします。Google Cloudとは、100種類以上のプロダクトが搭載されたクラウドプラットフォームです。データ分析基盤構築やクラウドストレージ、AI開発などに関する幅広いプロダクトが含まれており、複数を組み合わせることで、スムーズなクラウド移行やマルチクラウド環境の構築が可能です。
FirebaseとGoogle Cloudは、ユーザーや決済、セキュリティなどのインフラを共有しています。そのため、両方のサービスを利用する場合でも、一括でユーザー設定を行ったり、請求書を一つにまとめられたりといった恩恵が受けられます。
また、Firebaseに含まれるCloud FirestoreやCloud Functionsなどの機能は、Google Cloudと共通のプロダクトなので、例えばフロントエンドチームとバックエンドチームで共同作業を行うといったことが可能です。
Firebaseを活用してアプリケーション開発の効率化を図ろう
Firebaseには、アプリケーション開発に役立つ幅広いバックエンド機能が搭載されています。このような機能を最大限に活用することで、アプリケーション開発の効率化やコスト削減が可能です。
また、Google Cloudと併用すると、開発工程にAIを組み込んだり、高度な分析ツールを活用したりと、利便性の向上が期待できます。ユーザー管理や決済管理などをまとめて実施できるのもポイントです。
電算システムでは、環境構築やコンサルティングなど、Google Cloudの導入支援サービスを提供しています。専門領域に精通した数多くのエンジニアが在籍しているので、スピーディかつ質の高いサポートを行えるのが強みです。さらに、電算システムのリセールサービスを活用すれば、Google Cloudの利用料に関する請求書発行や割引などを利用できます。Google Cloudと電算システムについては以下の資料で詳細を紹介しているので、参考にしてください。
- カテゴリ:
- Google Cloud(GCP)
- キーワード:
- firebase とは