MENU
Archives

Firebaseとは?概要や主な機能、できることをわかりやすく解説!

みなさまは、”スマートフォンアプリやWebアプリケーション開発”と聞くとどんなイメージを持ちますでしょうか?
「なんとなくすごそう!」
「難しそうで自分には縁遠い話・・・」
という方も多いのではないでしょうか。

なんとなく心のハードルがある方がほとんどかもしれませんが、
実は、簡単なスマートフォンアプリであれば、誰でも作ることができるんです!

実際に某プログラミング言語の参考書では、スマートフォンアプリを作りながらプログラミング言語を学習する参考書もあります。

とはいえ、スマートフォンアプリやWebアプリケーションを開発するためには、
専用のPCやサーバーを準備しなきゃいけないと思われる方もいらっしゃるかもしれませんが、
開発や運用に必要なすべての機能をクラウドサービスとして提供しているサービスもあります。

本記事では、Googleが提供するスマートフォンアプリやWebアプリケーションにおけるバックエンドサービスである「Firebase」にフォーカスし、Firebaseの概要や主な機能、料金体系などを解説いたします。

目次

Firebase とは

Firebaseを一言で表すと、Googleが提供するスマートフォンアプリやWebアプリケーションにおけるバックエンドサービスを提供するクラウドサービスです。

スマートフォンアプリやWebアプリケーション開発・運用においては、必要な環境として、データを格納するデータベースや公開用サーバーや
アプリの機能として、Google、Twitter、FacebookなどのSNSアカウントでのログイン機能やメッセージ(プッシュ通知)を送受信できる機能も必要となります。
また、リリース後の運用として、アプリの使用状況とユーザーエンゲージメントなどの分析やアプリのエラーやクラッシュ状況の確認も必要となります。
Firebaseは、前述のスマートフォンアプリやWebアプリケーション開発・運用に必要な機能(バックエンドサービス)をすべて備えたクラウドサービスです。
Firebaseを利用することで、開発スピードの向上と適切な運用によりコスト削減をすることができます。

なお、Firebaseは、2011年にシリコンバレー発のスタートアップ企業であるFirebase社が開始したクラウドサービスで、その後2014年にGoogle社に買収され、Google社のクラウドプラットフォームであるGCP(Google Cloud Platform)に統合されました。

クラウドサービスとしては、MBaasもしくはBaasの位置づけとなり、スマートフォンアプリやWebアプリのバックエンド処理向けのサービスにカテゴリされます。

MBaas / Baas とは

MBaasは、Mobile Backend as a Serviceの略で、スマートフォン向けWebアプリケーションのバックエンドサービスを提供するサービスです。

Baasは、Backend as a Serviceの略となっており、MBaasは、Baasに””M””(Mobile)を足しただけで基本的に意味は同じです。
なお、前述の通り、Google、Twitter、FacebookなどのSNSアカウントとの連携機能やメッセージ(プッシュ通知)を送受信できる機能などを持っており、サーバーレスであるため、サーバーの設計・運用が不要であり、開発や企画などに注力できることやセキュリティ面が保障されています。

このように、スマートフォンアプリやWebアプリケーションの開発スピードの向上と適切な運用によりコスト削減できるという特徴があります。

Firebase の主な機能(できること)

Firebaseは、データベースをはじめ、SNSアカウントとの連携機能など様々な機能を提供しています。
主な機能は、以下の8つです。

・NoSQLデータベース:Cloud Firestore
・リアルタイムデータベース:Firebase Realtime Database
・Webサーバーサービス:Firebase Hosting
・ユーザー認証機能:Firebase Authentication
・クラウドを利用したメッセージ配信:Firebase Cloud Messaging
・データ保存先の提供:Cloud Storage for Firebase
・アプリ利用状況の解析:Google Analytics for Firebase
・アプリのクラッシュ分析:Firebase Crashlytics

NoSQLデータベース:Cloud Firestore

まず、1つ目は、NoSQLデータベース:Cloud Firestoreです。
Firebaseの最新のデータベースであり、スケーラブルなNoSQLデータベースで、後述のリアルタイムデータベース:Firebase Realtime Databaseよりも高速でスケールアウトにも対応しています。

すべてのアプリケーション間でリアルタイムなデータ同期が行われ、デバイスがオフラインのときは、データキャッシュでのオフラインのデータ読み書きが行われ、デバイスがオンラインになった際に、変更をすべて同期することができます。

※Cloud Firestoreに関する最新情報は公式ドキュメントを参照ください。
Cloud Firestore
https://cloud.google.com/firestore?hl=ja

リアルタイムデータベース:Firebase Realtime Database

2つ目は、リアルタイムデータベース:Firebase Realtime Databaseです。
Firebaseに従来からあるデータベースで、Cloud Firestoreと同様のNoSQLデータベースです。

Cloud Firestoreと同様にアプリケーション間でリアルタイムなデータ同期が行われますが、Cloud Firestoreと比べるとレイテンシー(ユーザーがアクションしてから応答までに必要な時間)が低いため、チャットアプリなどのアプリケーション間のリアルタイム同期が重要な場合は、
Cloud Firestoreを利用する方が良いです。

※Firebase Realtime Databaseに関する最新情報は公式ドキュメントを参照ください。
Firebase Realtime Database
https://firebase.google.com/docs/database?hl=ja

Webサーバーサービス:Firebase Hosting

3つ目は、Webサーバーサービス:Firebase Hostingです。
Webサイトや静的/動的コンテンツをデプロイすることができる、高速な通信速度と安全性の高いホスティングサービスです。

SSDストレージと大容量のデジタルコンテンツをインターネット上で大量配信するためのネットワークであるグローバル(CDN:コンテンツデリバリーネットワーク)が基盤となっており、コンテンツを高速で配信することができるほか、組み込みのSSLが提供されるため、独自ドメインも設定することができます。

※Firebase Hostingに関する最新情報は公式ドキュメントを参照ください。
Firebase Hosting
https://firebase.google.com/docs/hosting?hl=jahttps%3A%2F%2Ffirebase.google.com%2Fdocs%2Fhosting%3Fhl%3Dja

ユーザー認証機能:Firebase Authentication

4つ目は、ユーザー認証機能:Firebase Authenticationです。
OAuth2.0やOpenIDConnectなどの業界標準に準拠したユーザー認証機能を用いて、Google、Twitter、FacebookなどのSNSアカウントなどとの認証機能をアプリケーションに実装することができます。

ユーザー認証は、アプリケーション開発においてニーズがある機能ですが、Firebase Authenticationを利用することによって、
様々な認証方法に対応したアプリケーション開発におけるコストを削減することができます。

※Firebase Authenticationに関する最新情報は公式ドキュメントを参照ください。
Firebase Authentication
https://firebase.google.com/docs/auth/?hl=ja

クラウドを利用したメッセージ配信:Firebase Cloud Messaging

5つ目は、クラウドを利用したメッセージ配信:Firebase Cloud Messagingです。
メッセージ(プッシュ通知)を送受信できる機能で、特定のデバイスやアカウントなどセグメントを絞り込み、メッセージを送信することができます。

また、メッセージは、エンドユーザーのデバイスに通知を表示させる通知メッセージと、クライアントアプリが処理するためのメッセージを送信するデータメッセージの2種類のメッセージを送信することができます。

※Firebase Cloud Messagingに関する最新情報は公式ドキュメントを参照ください。
Firebase Cloud Messaging
https://firebase.google.com/docs/cloud-messaging/?hl=ja

データ保存先の提供:Cloud Storage for Firebase

6つ目は、データ保存先の提供:Cloud Storage for Firebaseです。
クラウドストレージサービスで、Firebaseを利用するスマートフォンアプリ、Webアプリなどのためのデータ格納領域(ストレージ)を提供しています。

GCPのサービスであるCloud Storageと同様に高性能・高セキュリティなクラウドストレージとなっています。
また、権限設定によっては、アプリケーションでアップロード・加工したファイルをユーザー間で共有することもできます。

※Cloud Storage for Firebaseに関する最新情報は公式ドキュメントを参照ください。
Cloud Storage for Firebase
https://firebase.google.com/docs/storage?hl=ja

アプリ利用状況の解析:Google Analytics for Firebase

7つ目は、アプリ利用状況の解析:Google Analytics for Firebaseです。
Webサイトのアクセス状況を取得できるGCPのサービスであるGoogle AnalyticsのFirebaseバージョンとなります。

アプリケーションの利用状況やユーザーエンゲージメントなどを分析することができ、アプリケーション内のユーザーアクションを最大で500種類のアクション(イベント)で分析することができます。

※Google Analytics for Firebaseに関する最新情報は公式ドキュメントを参照ください。
Google Analytics for Firebase
https://firebase.google.com/docs/analytics/?hl=ja

アプリのクラッシュ分析:Firebase Crashlytics

最後は、アプリのクラッシュ分析:Firebase Crashlyticsです。
AndroidとiOS、Flutter、Unity向けのクラッシュ分析サービスで、リアルタイムでのアプリケーションのエラーやクラッシュを把握することができます。

また、クラッシュに対して重要度により重みづけ・グループ化や重要度の高いクラッシュをリアルタイムに通知することができるため、
トラブルシューティングや緊急性の高いクラッシュに柔軟に対応することができます。

※Firebase Crashlyticsに関する最新情報は公式ドキュメントを参照ください。
Firebase Crashlytics
https://firebase.google.com/docs/crashlytics/?hl=ja

Firebase の料金体系

Firebaseには、Sparkプラン(無料)とBlazeプラン(従量課金制)の2つのプランがあります。
それぞれの詳細は以下の通りです。

〇Sparkプラン
・料金体系:無料
・概要:データ保存先であるCloud Storage for Firebaseへの保存GBが5GBまで、ダウンロードは、1GB/日までなど、利用に制限があるプランです。

〇Blazeプラン
・料金体系:従量課金制
・概要:認証回数やCloud Storage for Firebaseへの保存GBなどによって、課金されるプランです。

あらかじめ、想定するユーザー数やデータ容量から料金計算ツールを用いて、費用算出することもできます。

※Firebase の料金プランに関する最新情報は公式ドキュメントを参照ください。
Firebase の料金プラン 
https://firebase.google.com/pricing/?hl=ja

まとめ

Googleが提供するスマートフォンアプリやWebアプリケーションにおけるバックエンドサービスである「Firebase」にフォーカスし、Firebaseの概要や主な機能、料金体系などは理解できましたでしょうか。

スマートフォンアプリやWebアプリケーションを開発・運用中もしくは、新規サービス企画中の方で
「現在の開発・運用コストが気になる」
「利用状況やユーザーエンゲージメントなどの分析を行いたい」
といった方は、Firebaseの導入・利用を検討してはいかがでしょうか。

株式会社KUIXではGCPを用いたシステムの開発やコンサルティングを行っています。本格的なGCP環境の構築・導入をご検討される際は、ぜひ一度ご連絡ください!お問い合わせはこちらから

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次