※こちらは2021年4月19日時点で執筆された内容です。実際の最新情報につきましては Google Cloud の公式情報をご確認ください。

こんにちは、クラウドエース編集部です。
今回の Google Cloud 入門記事では、アプリ開発に欠かせないプラットフォームとなっている『Firebase』について5分で解説していきたいと思います。

Firebase とは? 機能は?何ができるの?

Firebase は、アプリケーションを簡単に、爆速で構築するためのプラットフォームで、BaaS(Backend as a service)の一つとして、Google Cloud によって提供されています。
近年、サービスのリリースまでの時間をいかに短縮するかが求められるなか、サーバーレスアーキテクチャが注目を集めており、Firebase などの BaaS を利用することでバックエンドの構築あれこれを考えなくても、開発者はアプリケーションやコンテンツの開発に専念することができるようになりました。例えば、Andoroid と iOS 向けのゲームを開発しようとした際、SNSを使ったアカウント作成機能や、チャット機能、プッシュ通知などの機能は、Firebase の様々なサービスで簡単に実装することが可能です。

Firebase には15以上のサービス・機能があり、モバイルアプリやWebアプリを開発する上であったら便利なお道具箱になっています。
ここではその中から7つほどご紹介していきたいと思います。

1 Firebase Realtime Database

クラウドホスト型のデータベースでアプリケーションのデータの保存と全体への同期を瞬時に、リアルタイムで行うことができます。オフラインでも保存でき、オンラインになった時に自動的にデータを同期することもできます。

2 Firebase Analytics(アプリの解析)

Firebase には Google Analytics の機能が埋め込まれていて、アプリの使用状況やユーザーの行動を解析することができます。
後ほどご紹介する『Firebase Cloud Messaging』や『Firebase Crashlytics』を Firebase Analytics の解析データと連携して活用させることができたり、『BigQuery』と連携して解析データをクエリで処理することも可能です。

3 Firebase Cloud Messaging(FCM)

Firebase Cloud Messaging はアプリケーションに対してメッセージ(プッシュ通知)を無料で送受信できる機能です。iOS や Android など異なるデバイス間でも送受信ができ、セグメントごとにメッセージを送信することも可能です。送信したメッセージはダッシュボード上でモニタリングもできます。

4 Firebase Crashlytics

Firebase Crashlytics はリアルタイムでアプリのクラッシュ分析を行うことができる機能です。アプリケーションがエンドユーザー端末でクラッシュした際の原因の特定やユーザーに与える影響の測定などをスピーディーに行うことでユーザビリティの低下を防ぐのに役立ちます。

5 Firebase Cloud Firestore

Firebase Cloud Firestore は Firebase Realtime Database の次世代版のデータベースになっています。Realtime Database は 制約がいくつかありパフォーマンスを考慮したデータベース構造にする必要がありましたが、自由度が高まりデータの格納がスムーズになったことで、より高速でスケールアウトに対応しています。

6 Firebase Hosting

Firebase Hosting は静的なWebページやWebアプリを簡単に素早くデプロイできるサービスで、HTML、CSS、JavaScript を使う程度のWebサイトであれば、サーバーを用意しなくても簡単に公開することができます。コンテンツはCDNでキャッシュされるので、高速で配信でき、アプリ内に作るほどではないページなどをWebページとしてアプリ内に流用することができます。

7 Firebase Authentication

Firebase Authentication は、強固な認証システムをアプリに組み込むことができる機能です。メールアドレスとパスワード、電話番号、各種SNSアカウントなどの認証情報を利用してユーザーIDの発行やログイン/ログアウトの判定などを実装することができます。
認証システムはアプリ開発において非常にニーズが高いのですが、様々な認証方法に対応させるのには非常にコストがかかります。しかしFirebase Authentication で提供されている SDK を使うことでベストプラクティスな認証機能を使って安全にユーザー認証のUIを構築することができます。弊社のサイトの会員機能もこの Firebase Authentication を使って実装していますのでよかったら実際に触ってみてもらえると嬉しいです。

Firebase の料金について

Firebase には無料プランの『Spark』と有料プランの『Blaze』があり、Blazeプランは従量課金制になっているので、利用した分だけ費用がかかるという仕組みになっています。

プロダクト 無料
Spark プラン

Generous limits to
get started

従量制
Blaze プラン

大規模なアプリの料金を計算
checkSpark プランの
無料使用量を含む*

A/B テスト 無料
Analytics 無料
App Distribution 無料
App Indexing 無料
認証  
・電話認証 – 米国、カナダ、インド help 1 万/月 $0.01/認証
・電話認証 – 他のすべての国 help 1 万/月 $0.06/認証
・他の認証サービス
Cloud Firestore  
・保存データ 合計 1 GiB $0.18/GiB
・下りネットワーク 10 GiB/月 Google Cloud pricing
・ドキュメントの書き込み 2 万/日 $0.18/10 万
・ドキュメントの読み取り 5 万/日 $0.06/10 万
・ドキュメントの削除 2 万/日 $0.02/10 万
Cloud Functions  
・Invocations Not applicable Free up to 2M/month
Then $0.40/million
・GB-seconds Free up to 400K/month
Then Google Cloud pricing
・CPU-seconds Free up to 200K/month
Then Google Cloud pricing
・Outbound networking Free up to 5GB/month
Then $0.12/GB
・Cloud Build minutes Free up to 120min/day
Then $0.003/min
・Container storage No free usage
$0.026/GB
Cloud Messaging(FCM) 無料
Crashlytics 無料
Dynamic Links 無料
Hosting  
・ストレージ 10 GB $0.026/GB
・Data transfer 360 MB/day $0.15/GB
・Custom domain & SSL
・プロジェクトごとに複数のサイト
アプリ内メッセージング 無料
Firebase MLhelp  
・Custom Model Deployment
・Cloud Vision API × $1.50/K
(See Cloud Vision pricing)
パフォーマンス監視 無料
Predictions 無料
Realtime Database  
・同時接続 help 100 20 万/データベース
・GB 保存済み 1 GB $5/GB
・GB ダウンロード済み 10 GB/月 $1/GB
・プロジェクトごとに複数のデータベース ×
Remote Config 無料
Cloud Storagehelp  
・GB 保存済み 5 GB $0.026/GB
・GB ダウンロード済み 1 GB/日 $0.12/GB
・オペレーションをアップロード 2 万/日 $0.05/1 万
・ダウンロード オペレーション 5 万/日 $0.004/1 万
・プロジェクトごとに複数のバケット ×
Test Labhelp  
・仮想デバイスでのテスト 10 件/日 $1/デバイス/時間
・物理デバイスでのテスト 5 件/日 $5/デバイス/時間
Google Cloud  
・BigQuery help
・Other IaaS help ×

Firebase についてのまとめ

Firebase にはアプリケーション開発やWebサービスの立ち上げに便利な様々な機能が備わっています。料金も無料から開始することができ、必要に応じて利用した分の課金形態になっていますので、小規模なビジネスでも本格的なサービスの開発が低コストで可能になりました。クラウドエースでも Firebase を使ったアプリケーションの開発についてのご相談を受け付けておりますので、ご興味がありましたら一度お気軽にお問い合わせいただければ幸いです。

合わせて読みたい