AWS プロフェッショナルのための Google Cloud: モバイル バックエンド

更新日: 2017 年 10 月 17 日

Amazon Web Services(AWS)と Google Cloud がそれぞれのクラウド環境で提供しているモバイル バックエンド サービスを比べてみましょう。

サービスモデルの比較

AWS Mobile Hub と Firebase のどちらも、認証、データ ストレージ、サーバーレス ルーチン、コンテンツ配信、通知、端末テスト、分析用のサービスを提供します。ただし、2 つのプラットフォームの有効範囲が異なります。

AWS Mobile Hub は、モバイル バックエンド開発に適した一連のサービスを提供します。Google Cloud では、Firebase が一連のバックエンド サービスを提供するとともに、クライアント アプリケーション開発のスピードアップを目的としたフロントエンド機能を含むクライアント ライブラリも提供しています。

これらの機能には、認証のための UI フロー、統合されたアプリのパフォーマンス モニタリング、機能の共有、リモート設定、アプリのインデックス作成、ダイナミック リンクなどがあります。

機能 AWS Mobile Hub Firebase
認証 Amazon Cognito Firebase Authentication(UI フローを含む)
データベース Amazon DynamoDB Firebase Realtime Database
データ ストレージ / CDN Amazon S3 および Amazon CloudFront Firebase Hosting
サーバーレス ルーチン Cloud Logic および AWS Lambda Firebase Hosting および Cloud Functions for Firebase
通知 Amazon SNS Firebase Cloud Messaging
クライアント アプリケーション サービス なし パフォーマンス モニタリング、アプリのインデックス作成、アプリのモニタリング、クラッシュ レポート、アプリ共有、リモート設定、ダイナミック リンク

対応プラットフォーム

AWS Mobile Hub と Firebase のどちらも、主要なモバイル プラットフォームのほとんどに対応しています。さらに、Firebase には、ウェブ アプリケーションや Angular などのフレームワークに直接統合するための JavaScript ライブラリが用意されています。 AWS Mobile Hub は、Xamarin や React Native などの各種モバイルアプリ開発プラットフォームと統合されています。

機能 AWS Mobile Hub Firebase
REST HTTP API
Android
iOS
Xamarin ×
React Native ×
Unity ○(デベロッパー向けプレビュー)
JavaScript

認証

AWS Mobile Hub と Firebase のどちらにも、認証用のバックエンドと SDK が用意されています。AWS は Amazon Cognito を提供し、Firebase は Firebase Authenticationを提供します。 どちらのサービスにも、Facebook、Google、Twitter、GitHub 認証などの多数のフェデレーション プロバイダを通じたメールとパスワードに基づく認証が備わっています。 Amazon Cognito は、Amazon 認証にも対応します。

2 つのプラットフォームは、提供する認証サポートのタイプが異なります。 Amazon Cognito は、認証を実行するため、サーバー側のエンドポイントとデータベースを含むバックエンド サービスを提供します。 他の AWS サービスへのアクセスは、ユーザーまたはユーザー グループに適用された AWS Identity and Access Management(IAM)を使用してプロビジョニングされます。

Firebase Authentication は、認証を実行するためのバックエンド サービスとサーバー側のエンドポイントに加えて、認証のためのバックエンド サービスとのインターフェースを形成するため、事前に構築された UI フローと UI 指向の SDK を提供します。

言語とプラットフォーム

AWS Cognito と Firebase Authentication のいずれも、Android、iOS、Node.js、REST に対応しています。さらに、Amazon Cognito は React、.NET、Python、PHP、Ruby にも対応します。

次の表に、Amazon Cognito と Firebase Authentication の間の一般的な対応付けをまとめます。

機能 Amazon Cognito Firebase Authentication
基本的なメール / パスワードによる認証
フェデレーション プロバイダ Amazon、Facebook、GitHub、Google、Twitter、OpenID プロバイダ Facebook、GitHub、Google、Twitter
カスタム プロバイダ
匿名認証
ユーザーデータ ストレージ Amazon Cognito Sync ユーザーベースのセキュリティ
対応プラットフォーム Android、iOS Android、iOS
対応する言語とフレームワーク .NET、Node.js、PHP、Python、Ruby Node.js
デプロイの範囲 マルチリージョン グローバル
料金モデル 階層内の 1 か月のアクティブ ユーザーに対して課金されます。 すべての階層で無料です。

データベース

AWS Mobile Hub の主なデータ ストレージ プロバイダは、マネージド ドキュメント / Key-Value ストアである Amazon DynamoDB です。Firebase は、ドキュメント ベースのリアルタイム データベースにちなんで名付けられ、接続されているすべてのクライアントとリアルタイムで同期します。Firebase データベースは、データへのオフライン アクセスと変更、クライアント ディスクへのデータの永続化、接続が復元された後のクライアントとサーバー状態の同期にも対応しています。

どちらのデータベースも、クライアントからの直接アクセスに対応します。Firebase セキュリティ ルールは、Firebase 内のデータへのアクセスを管理し、AWS IAM は DynamoDB へのクライアント アクセスの保護を管理します。

機能
AWS Mobile Hub NoSQL データベース(DynamoDB) Firebase
クライアントからの直接アクセス
セキュリティ AWS IAM Firebase セキュリティ ルール
トランザクショナル ×
リアルタイム アップデート ×
オフラインと再同期 ×、*注: Amazon Cognito Sync で一部のオフラインと再同期が可能
デプロイの範囲 使用可能なリージョン: 米国東部(オハイオ)、米国東部(バージニア北部)、
米国西部(北カリフォルニア)、米国西部(オレゴン)、
カナダ(中央)、アジアパシフィック(ムンバイ)、
アジアパシフィック(ソウル)、アジアパシフィック(シンガポール)、アジアパシフィック(シドニー)、
アジアパシフィック(東京)、欧州(フランクフルト)、
欧州(アイルランド)、欧州(ロンドン)、南米(サンパウロ)
構成不可
料金モデル リージョン、スループット、データ ストレージ、データ転送に基づきます。 同時接続、データ ストレージ、データ転送に基づきます。

サーバーレス機能

どちらのプラットフォームも、サーバーレス ルーチンとクライアントからのアクセスに対応しています。AWS Mobile Hub は Cloud Logic を使用して、モバイル アプリケーションで使用する AWS Lambda ルーチンを選択し、AWS API Gateway を介してそれらのルーチンへのアクセスを提供します。 Firebase は Firebase Hosting と Cloud Functions を提供し、クラウド内で動作するサーバーレス ルーチンへのクライアント アクセスをサポートしています。

機能 AWS Mobile Hub Firebase
サーバーレス ルーチン AWS Lambda Cloud Functions for Firebase
サーバーレス ルーチンへのルーティング Cloud Logic Firebase Hosting
デプロイの範囲 使用可能なリージョン: 米国東部(オハイオ)、米国東部(バージニア北部)、
米国西部(北カリフォルニア)、米国西部(オレゴン)、
カナダ(中央)、アジアパシフィック(ムンバイ)、
アジアパシフィック(ソウル)、アジアパシフィック(シンガポール)、アジアパシフィック(シドニー)、
アジアパシフィック(東京)、欧州(フランクフルト)、
欧州(アイルランド)、欧州(ロンドン)、南米(サンパウロ)
選択不可
料金モデル 数百万件の API 呼び出しとデータ転送に基づきます。 呼び出し、メモリ使用、CPU 秒、アウトバウンド ネットワーキング、データ転送に基づきます。

コンテンツ配信

AWS と Firebase はいずれもコンテンツ配信ネットワーク(CDN)を提供しています。Amazon は Amazon CloudFront を、Google は Cloud CDN を提供しています。2 つのプラットフォームの仕組みは似ていますが、コンテンツの配信に使用されるネットワークには大きな違いがあります。2 つのプラットフォームにおけるネットワーキングの詳細な比較については、AWS プロフェッショナルのための Google Cloud: ネットワーキングをご覧ください。

機能 AWS Mobile Hub Firebase
コンテンツ配信ネットワーク(CDN) CloudFront Cloud CDN
送信元ホスティング Amazon S3 Firebase Hosting
ローカルでのデプロイ グローバル グローバル
料金モデル データ転送と保存に基づきます。 データ転送と保存に基づきます。

プッシュ通知

AWS と Firebase のプッシュ通知の構成は似ています。Amazon Simple Notification Service(SNS)と Firebase Cloud Messaging の違いは、特定の実装と、対応するフレームワークのみです。対応するサービスのプラットフォームは以下のとおりです。

機能 Amazon SNS Firebase
対応する通知サービス Google Cloud Messaging、Apple Push Notification Service、Windows Push Notification Service、Baidu Cloud Push、Unity Google Cloud Messaging、Apple Push Notification Service、Unity、Chrome 50 以降、Firefox 44 以降、Opera Mobile 37 以降
対応するプラットフォームと言語 REST HTTP API、JavaScript、Java、Python、Node.js、Ruby、Go、C++、PHP、.NET REST HTTP API、XMPP、JavaScript、Node.js、C++
デプロイの範囲 マルチリージョン グローバル
料金モデル 数百万のメッセージに基づく 無料

インポートとエクスポート

AWS Mobile Hub により、デベロッパーはプロジェクトを YAML ファイルとしてインポート / エクスポートできます。Firebase を使用した場合、プロジェクト データとルールの自動夜間バックアップを設定し、JSON ファイルとして Cloud Storage に保存できます。IAM を使用すると、プロジェクト間で Firebase プロジェクトを転送できます。

アプリケーションのテスト

Firebase と AWS のいずれも、プロバイダがクラウド内でホストするさまざまな端末上で実行される、自動テストの実施に対応しています。これらのテストにより、デベロッパーはアプリケーションの正常なビルドを保証するためのクイックスモーク テストを取得したり、クラウド端末上で実行される UI のコード固有のステップを渡したりすることができます。AWS Device Farm は、より多くのテスト フレームワークと端末に対応します。 Firebase Device Lab は、Robo インストゥルメンテーション テストまたは Android インストゥルメンテーション テストを使用して Android 端末のみに対応します。

機能 Amazon Device Farm Firebase Device Lab
iOS テストタイプ Appium、Calabash、XCTest、KIF、UI Automation 該当なし
Android テストタイプ Appium、Calabash、Robotium、Espresso、UI Automator、カスタム インストゥルメンテーション テスト、組み込みエクスプローラ Robo & Android インストゥルメンテーション テスト(Espresso を含む)
デプロイの範囲 選択不可 選択不可
料金モデル 分単位または定額料金。 デバイス 1 台 1 時間あたり、1 日あたりの無料テストの設定数は除外。

アナリティクス

Amazon Pinpoint と Firebase 向け Google アナリティクスは、分析、オーディエンス セグメンテーション、ターゲティング キャンペーンをサポートしています。両方ともデータ ウェアハウス サービスへのイベントのエクスポートに対応します。Firebase 向け Google アナリティクスには、Firebase Crash Reporting、Firebase Remote Config、Firebase Cloud Messaging、Google タグ マネージャーなどの他の GCP サービスも統合されます。

機能 AWS Mobile Hub / Pinpoint Firebase 向け Google アナリティクス
分析とキャンペーン
データ ウェアハウスへのエクスポート Amazon Redshift へのエクスポート BigQuery へのエクスポート
無制限のレポート
通知を組み込む
リモート構成 該当なし
タグ管理 × ○(Google タグ マネージャー
ローカルでのデプロイ グローバル グローバル
料金モデル 毎月の対象ユーザーに基づく 無料

その他の機能

Firebase と AWS Mobile Hub にはそれぞれ、他の機能に含まれていない機能が含まれています。

追加の AWS Mobile Hub 機能

会話型ボット

AWS Mobile Hub には、会話型ボットと呼ばれる機能があります。この機能はテキストおよび音声変換用の Amazon Lex を AWS Lambda 機能に統合します。 会話型ボットは Firebase の正式な機能ではありませんが、Google Cloud には Dialogflow と API.AI が用意されており、そのいずれかを Firebase と組み合わせて会話型のユーザー エクスペリエンスを実現できます。

追加の Firebase 機能

クラッシュ レポート

Firebase Crash Reporting には、Firebase Crash Tool と Fabric Crashlytics というクラッシュ レポート用の 2 つのオプションがあります。一方 AWS Mobile Hub は、クラッシュ レポートにはパートナー テクノロジーを使用します。

ネイティブ アプリケーションのベータ版配布

クラッシュ レポートに加えて、Fabric Crashlytics は、Beta by Crashlytics を配布用に用意しています。Beta by Crashlytics は、ユーザーの招待 / 取り消しや他のファブリック ライブラリとの統合を可能にする、人気のあるベータ版の配布フレームワークです。Beta by Crashlytics は、iOS と Android の Fastlane ビルドツールとも統合され、自動配信されます。

App Indexing

Firebase App Indexing は、アプリのコンテンツにインデックスを付けるため、端末での Google 検索で、その結果のアプリへのリンクが得られます。

Firebase Dynamic Links は、端末で開いたときにネイティブ アプリにリンクし、デスクトップ ブラウザからウェブ コンテンツにリンクします。Firebase は、ダイナミック リンクを提供するために、Android または iOS プラットフォーム内でユニバーサル リンクドメインを登録するために使用できるドメインを作成します。

Invites

Firebase Invites は、アプリのユーザーがダイナミック リンクを使用して Firebase アプリを共有できるようにする、アプリ紹介機能です。ダイナミック リンクは、招待されたユーザーのプラットフォーム(ウェブ、Android、iOS)に適応します。

リモート構成

Firebase Remote Config を使用すると、デベロッパーはアプリケーションを更新しなくても、アプリケーションの動作や外観を変更することができます。Remote Config では、アプリ内のデフォルト値を使用して、アプリケーションの動作と外観を制御します。デベロッパーはコンソールを使用して、すべてのユーザーまたはそのセグメントに対し、アプリ内デフォルト値を上書きできます。

パフォーマンス モニタリング

Firebase Performance Monitoring は、そこに含まれる API を使用して作成される、起動時間、フォアグラウンドとバックグラウンドでのアクティビティ、HTTP/S ネットワーク リクエスト、カスタム トレースなどをモニタリングするベータ版の機能です。

費用

AWS Mobile Hub の料金は、使用されている個々のサービス コンポーネントに基づいています。 Firebase には以下のように自動的にいくつかのプロダクトが含まれています

  • Authentication(電話番号認証を除く)
  • アナリティクス
  • App Indexing
  • Dynamic Links
  • Invites
  • Remote Config
  • Cloud Messaging
  • Performance Monitoring、Crash Reporting

AWS Mobile Hub には、無料枠と中間階層のプランがバンドルされています。 各 Firebase バンドルプランには、使用制限付きで次のものが含まれています。

  • ストレージ
  • Cloud Functions
  • 電話番号認証
  • ホスティング / コンテンツ配信
  • Test Lab

Firebase には、中レベルの使用制限以外に、サービスごとの従量課金制料金が含まれています。

BigQuery などの追加の GCP プロダクトの料金は、別途請求されます。

次のステップ

AWS プロフェッショナルのための Google Cloud に関するその他の記事もご覧ください。