為 AWS 專家量身打造的 Google Cloud Platform:行動後端

更新日期:2017 年 10 月 17 日

Amazon Web Services (AWS) 和 Google Cloud Platform (GCP) 在各自的雲端環境提供行動後端服,而下列將會比較這些服務。

服務模型比較

AWS Mobile Hub 和 Firebase 均會針對驗證、資料儲存、無伺服器處理常式、內容傳遞、通知、裝置測試及分析等作業提供相關服務,但是兩種平台的涵蓋範圍不同。

AWS Mobile Hub 提供的服務集合適用於行動後端開發。GCP 中的 Firebase 同樣提供一組後端服務,但除此之外還會提供用戶端程式庫,您可利用其中的前端功能來加速用戶端應用程式開發。

這些功能包括 UI 流程及驗證、整合的應用程式效能監控、共用功能、遠端設定、應用程式索引及動態連結。

功能 AWS Mobile Hub Firebase
驗證 Amazon Cognito Firebase 驗證 (包括 UI 流程)
資料庫 Amazon DynamoDB Firebase 即時資料庫
資料儲存/CDN Amazon S3 和 Amazon CloudFront Firebase 託管
無伺服器處理常式 Cloud Logic 和 AWS Lambda Firebase 託管Cloud Functions for Firebase
通知 Amazon SNS Firebase 雲端通訊
用戶端應用程式服務 不適用 效能監控、應用程式索引、應用程式監控、當機回報、應用程式共用、遠端設定、動態連節

支援平台

AWS Mobile Hub 和 Firebase 都支援大部分主要的行動平台。除此之外,Firebase 還會提供 JavaScript 程式庫 (例如 Angular),讓您在網路應用程式和架構中進行直接整合。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 驗證。這兩項服務均透過幾家聯合識別資訊提供者提供電子郵件和密碼驗證,包括 Facebook、Google、Twitter 和 GitHub 驗證。此外,Amazon Cognito 也支援 Amazon 驗證。

兩個平台提供的驗證支援類型有所不同。Amazon Cognito 會提供伺服器端端點和資料庫等後端服務來執行驗證,此平台也會利用附加於使用者或使用者群組的 AWS 身分與存取權管理 (IAM) 來佈建對於其他 AWS 服務的存取。

除了使用後端服務和伺服器端的端點來執行驗證以外,Firebase 驗證還會提供預建的 UI 流程以及 UI 導向 SDK,以利針對驗證作業和後端服務互動。

語言和平台

AWS Cognito 和 Firebase 驗證都支援 Android、iOS、Node.js 和 REST。此外,Amazon Cognito 也支援 React、.NET、Python、PHP 和 Ruby。

下表列出 Amazon Cognito 和 Firebase 驗證的大致對照比較:

功能 Amazon Cognito Firebase 驗證
基本電子郵件/密碼驗證
聯合識別資訊提供者 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
部署位置 多地區 全域通用
定價模式 按每月各級別作用中的使用者計費 所有級別皆可免費使用。

資料庫

AWS Mobile Hub 主要的資料儲存空間提供者為 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 託管和 Cloud Functions 以支援從用戶端存取在雲端上執行的無伺服器處理常式。

功能 AWS Mobile Hub Firebase
無伺服器處理常式 AWS Lambda Cloud Functions for Firebase
轉送至無伺服器處理常式 Cloud Logic Firebase 託管
部署位置 可用地區:美國東部 (俄亥俄)、美國東部 (維吉尼亞北部)、
美國西部 (加州北部)、美國西部 (奧勒岡)、
加拿大 (中部)、亞太地區 (孟買)、
亞太地區 (首爾)、亞太地區 (新加坡)、亞太地區 (雪梨)、
亞太地區 (東京)、歐洲 (法蘭克福)、
歐洲 (愛爾蘭)、歐洲 (倫敦)、南美洲 (聖保羅)
無法選取。
定價模式 依據數百萬次的 API 呼叫和資料移轉。 依據叫用、記憶體用量、cpu 秒數、網路數據傳出量和資料移轉。

內容傳遞

AWS 和 Firebase 都會提供內容傳遞聯播網 (CDN)。Amazon 提供的是 Amazon CloudFront,而 Google 提供的是 Cloud CDN。這兩種平台的機制很相近,但是用來傳遞內容的網路可能有極大差異。如需進一步瞭解兩種平台使用之網路的詳細比較內容,請參閱為 AWS 專家量身打造的 Google Cloud Platform:網路

功能 AWS Mobile Hub Firebase
內容傳遞聯播網 (CDN) CloudFront Cloud CDN
來源託管 Amazon S3 Firebase 託管
部署位置 全域通用 全域通用
定價模式 依據資料移轉和儲存空間。 依據資料移轉和儲存空間。

推播通知

AWS 和 Firebase 擁有類似的推播通知設定。Amazon Simple Notification Service (SNS) 和 Firebase 雲端通訊之間僅在其特定實作和部分支援架構方面有所不同。這兩種支援服務平台的比較如下所示。

功能 Amazon SNS Firebase
支援的通知服務 Google Cloud Messaging、Apple 推播通知服務、Windows 推播通知服務、Baidu Cloud Push、Unity Google Cloud Messaging、Apple 推播通知服務、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。您可以使用 Cloud IAM 在專案之間移轉 Firebase 專案。

應用程式測試

Both Firebase 和 AWS 都支援將自動測試提交至提供者在雲端託管的各種裝置上執行。這些測試可讓開發人員進行快速冒煙測試以確保應用程式結構健全,或是針對 UI 中要在一或多部雲端裝置上執行的特定步驟以純手工撰寫程式碼。AWS Device Farm 支援更多測試架構和裝置。 Firebase Device Lab 僅支援 使用 Robo 或 Android 檢測設備測試的 Android 裝置。

功能 Amazon Device Farm Firebase Device Lab
iOS 測試類型 Appium、Calabash、XCTest、KIF、UI 自動化 不適用
Android 測試類型 Appium、Calabash、Robotium、Espresso、UI Automator、自訂檢測設備測試、內建瀏覽器 Robo 和 Android 檢測設備測試 (包括 Espresso)。
部署位置 無法選取 無法選取
定價模式 依據分鐘或固定費率。 依據裝置時數,不包括每天免費測試的設定數量。

分析

Amazon Pinpoint 和 Google Analytics for Firebase 均支援分析、目標對象區隔和目標對象廣告活動。這兩項功能也都支援將事件匯出至資料倉儲服務。Firebase Analytics 也會與其他 GCP 服務整合使用,包括 Firebase 當機回報、Firebase 遠端設定、Firebase 雲端通訊和 Google 代碼管理工具。

功能 AWS Mobile Hub/Pinpoint Google Analytics for Firebase
分析及行銷活動
匯出至資料倉儲 匯出至 Amazon Redshift 匯出至 BigQuery
無限報表
整合通知
遠端設定 不適用
標記管理 是 (Google Tag Manager)
部署位置 全域通用 全域通用
定價模式 依據每月目標對象 免費

其他功能

Firebase 和 AWS Mobile Hub 各自擁有對方缺少的功能。

其他 AWS Mobile Hub 功能

交談機器人

AWS Mobile Hub 具備名為 Conversational Bots (交談機器人) 的功能。此功能會整合進行文字和語音交談的 Amazon Lex 以及 AWS Lambda 功能。雖然 Firebase 並未正式提供交談機器人功能,但是 GCP 的 Dialogflow 和 API.AI 均可與 Firebase 結合以實現使用者對話體驗。

其他 Firebase 功能

當機回報

Firebase 當機回報提供兩種當機回報選項:Firebase 當機工具和 Fabric Crashlytics。相對地,AWS Mobile Hub 則是依賴合作夥伴的技術來進行當機回報。

內建應用程式測試版發佈

除了當機回報外,Fabric Crashlytics 還會提供分佈用的 Crashlytics 測試版。Crashlytics 測試版是常見的測試版發佈架構,可用來邀請/撤銷使用者以及和其他 Fabric 程式庫整合。Crashlytics 測試版也會與適用於 iOS 和 Android 的 Fastlane 建立工具整合,以進行自動發佈作業。

應用程式索引

Firebase 應用程式索引會針對應用程式的內容製作索引,以便在裝置上進行的 Google 搜尋提供連結以連至結果中的應用程式。

在裝置上開啟 Firebase Dynamic Links 時,這類動態連結會連結至內建應用程式,此外也可以從電腦版瀏覽器連結至網路內容。如要提供動態連結,Firebase 會先建立網域以便在 Android 或 iOS 平台上用來註冊通用連結網域。

邀請

Firebase 邀請是一種應用程式推薦功能,可讓應用程式的使用者透過動態連結共用 Firebase 應用程式。動態連結可視受邀使用者的平台為網路、Android 或 iOS 來進行調整。

遠端設定

Firebase 遠端設定可讓開發人員變更應用程式的行為和外觀,而且無需應用程式更新即可達成。遠端設定會使用應用程式內預設值來控制應用程式的行為和外觀。開發人員可透過主控台,針對所有使用者或特定使用者群體覆寫應用程式內預設值。

Performance Monitoring

Firebase Performance Monitoring 是一項測試版功能,可監控啟動時間、前景和背景活動、HTTP/S 網路要求以及使用其內附 API 建立的自訂追蹤。

費用

AWS Mobile Hub 會依據使用的各項服務元件來收費。 Firebase 會自動包含下列各種產品

  • 驗證 (不包括電話號碼驗證)
  • 分析
  • 應用程式索引
  • Dynamic Links
  • 邀請
  • 遠端設定
  • 雲端通訊
  • Performance Monitoring 和當機回報

AWS Mobile Hub 建立免費版和中等級距的組合套裝方案。Each Firebase 的組合套裝方案則包含下列項目,並提供特定的用量限制。

  • 儲存空間
  • Cloud Functions
  • 電話號碼驗證
  • 託管/內容傳遞
  • Test Lab

超過中等用量限制的部分,Firebase 會針對各項服務收取以量計價的費用。

其他如 BigQuery 之類的 GCP 產品則會另外收費。

後續步驟

請參閱其他「為 AWS 專家量身打造的 Google Cloud Platform」文章:

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
為 AWS 專家量身打造的 Google Cloud Platform