Google Cloud für AWS-Experten: Mobiles Back-End

Aktualisiert am 17. Oktober 2017

Vergleichen Sie die mobilen Back-End-Dienste, die Amazon Web Services (AWS) und Google Cloud in ihren jeweiligen Cloud-Umgebungen bieten.

Dienstmodelle im Vergleich

Sowohl AWS Mobile Hub als auch Firebase bieten Dienste für Authentifizierung, Datenspeicherung, serverlose Routinen, Inhaltsübermittlung, Benachrichtigungen, Gerätetests und Analysen an. Die beiden Plattformen unterscheiden sich jedoch in ihrem Umfang.

AWS Mobile Hub bietet eine Reihe von Diensten an, die für die Entwicklung mobiler Back-Ends gut geeignet sind. Firebase bietet in Google Cloud eine Reihe von Back-End-Diensten, aber auch Clientbibliotheken mit Front-End-Funktionen zur Beschleunigung der Entwicklung von Clientanwendungen.

Zu diesen Features gehören UI-Abläufe für die Authentifizierung, integrierte App-Leistungsüberwachung, Freigabefeatures, Fernkonfiguration, App-Indexierung und dynamische Links.

Feature AWS Mobile Hub Firebase
Authentifizierung Amazon Cognito Firebase-Authentifizierung (einschließlich UI-Abläufe)
Datenbank Amazon DynamoDB Firebase Realtime Database
Datenspeicherung/CDN Amazon S3 und Amazon CloudFront Firebase Hosting
Serverlose Routinen Cloud Logic und AWS Lambda Firebase Hosting und Cloud Functions for Firebase
Benachrichtigungen Amazon SNS Firebase Cloud Messaging
Dienste für Clientanwendungen Nicht zutreffend Leistungsüberwachung, App-Indexierung, App-Überwachung, Absturzberichte, App-Freigabe, Fernkonfiguration, dynamische Links

Unterstützte Plattformen

Sowohl AWS Mobile Hub als auch Firebase unterstützen die meisten der wichtigen mobilen Plattformen. Außerdem bietet Firebase JavaScript-Bibliotheken für die direkte Integration in Webanwendungen und Frameworks wie Angular an. AWS Mobile Hub kann in einige weitere Entwicklungsumgebungen für mobile Apps integriert werden, darunter Xamarin und React Native.

Feature AWS Mobile Hub Firebase
REST HTTP API Ja Ja
Android Ja Ja
iOS Ja Ja
Xamarin Ja Nein
React Native Ja Nein
Unity Ja (Entwicklervorschau) Ja
JavaScript Ja Ja

Authentifizierung

Sowohl AWS Mobile Hub als auch Firebase stellen Back-Ends und SDKs für die Authentifizierung bereit. Bei AWS wird Amazon Cognito, bei Firebase die Firebase Authentication dafür verwendet. Beide Dienste bieten E-Mail- und Passwort-Authentifizierung über eine Reihe von föderierten Anbietern an, darunter die Facebook-, Google-, Twitter- und GitHub-Authentifizierung. Amazon Cognito unterstützt außerdem die Amazon-Authentifizierung.

Die beiden Plattformen unterscheiden sich darin, wie sie die Authentifizierung unterstützen. Amazon Cognito bietet Back-End-Dienste zur Authentifizierung an, einschließlich serverseitiger Endpunkte und Datenbanken. Auf andere AWS-Dienste wird über AWS Identity and Access Management (IAM) zugegriffen, das Nutzern oder Nutzergruppen zugeordnet ist.

Neben den Back-End-Diensten und serverseitigen Endpunkten für die Authentifizierung bietet Firebase Authentication vorgefertigte UI-Abläufe und UI-orientierte SDKs an. Diese bilden die Schnittstelle zu den Back-End-Diensten für die Authentifizierung.

Sprachen und Plattformen

Sowohl AWS Cognito als auch Firebase Authentication unterstützen Android, iOS, Node.js und REST. Amazon Cognito unterstützt außerdem React, .NET, Python, PHP und Ruby.

Die folgende Tabelle liefert eine generelle Zuordnung zwischen Amazon Cognito und Firebase Authentication:

Feature Amazon Cognito Firebase Authentication
Einfache E-Mail-/Passwort-Authentifizierung Ja Ja
Föderierte Anbieter Amazon, Facebook, GitHub, Google, Twitter, OpenID-Anbieter Facebook, GitHub, Google, Twitter
Individuelle Anbieter Ja Ja
Anonyme Authentifizierung Ja Ja
Speicher für Nutzerdaten Amazon Cognito Sync Nutzerbasierte Sicherheit
Unterstützte Plattformen Android, iOS Android, iOS
Unterstützte Sprachen und Frameworks .NET, Node.js, PHP, Python, Ruby Node.js
Bereitstellungsort Multiregional Weltweit
Preismodell Abrechnung stufenweise nach monatlich aktiven Nutzern Kostenlos in allen Stufen enthalten

Datenbanken

Hauptanbieter für den Datenspeicher bei AWS Mobile Hub ist Amazon DynamoDB, ein verwalteter Speicher für Dokumente und Schlüssel-Wert-Paare. Firebase wurde nach seiner Echtzeitdatenbank benannt. Diese ist dokumentenbasiert und umfasst die Echtzeit-Synchronisation für alle verbundenen Clients. Mit der Firebase-Datenbank können Daten auch offline gelesen und geändert sowie auf der Festplatte des Clients gespeichert werden; wenn die Verbindung wiederhergestellt wurde, werden die Daten des Clients mit dem Zustand auf dem Server synchronisiert.

Beide Datenbanken unterstützen den direkten Clientzugriff. Der Zugriff auf Daten wird in Firebase über Sicherheitsregeln verwaltet. AWS IAM steuert die Absicherung des Clientzugriffs auf DynamoDB.

Feature
NoSQL-Datenbank für AWS Mobile Hub (DynamoDB) Firebase
Direkter Zugriff vom Client Ja Ja
Sicherheit AWS IAM Firebase-Sicherheitsregeln
Transaktionsorientiert Nein Ja
Echtzeitaktualisierungen Nein Ja
Offline und Resynchronisierung Nein *Hinweis: Einige Offline- und Resynchronisierungsdienste sind über Amazon Cognito Sync verfügbar Ja
Bereitstellungsort Verfügbare Regionen: US-Ost (Ohio), US-Ost (N.- Virginia),
US-West (N.- Kalifornien), US-West (Oregon),
Kanada (Zentral), Asien-Pazifik (Mumbai),
Asien-Pazifik (Seoul), Asien-Pazifik (Singapur), Asien-Pazifik (Sydney),
Asien-Pazifik (Tokio), EU (Frankfurt),
EU (Irland), EU (London), Südamerika (São Paulo)
Nicht konfigurierbar
Preismodell Nach Region, Durchsatz, Datenspeicherung und Datenübertragung Nach gleichzeitigen Verbindungen, Datenspeicherung und Datenübertragung

Serverlose Funktionen

Beide Plattformen unterstützen serverlose Routinen und den Zugriff vom Client aus. AWS Mobile Hub verwendet Cloud Logic, um AWS Lambda-Routinen auszuwählen, die mit der mobilen Anwendung genutzt werden, und um über das AWS API-Gateway auf diese Routinen zuzugreifen. Firebase bietet Firebase Hosting und Cloud Functions zur Unterstützung des Clientzugriffs auf serverlose Routinen an, die in der Cloud ausgeführt werden.

Feature AWS Mobile Hub Firebase
Serverlose Routine AWS Lambda Cloud Functions for Firebase
Routing zu serverlosen Routinen Cloud Logic Firebase Hosting
Bereitstellungsort Verfügbare Regionen: US-Ost (Ohio), US-Ost (N.- Virginia),
US-West (N.- Kalifornien), US-West (Oregon),
Kanada (Zentral), Asien-Pazifik (Mumbai),
Asien-Pazifik (Seoul), Asien-Pazifik (Singapur), Asien-Pazifik (Sydney),
Asien-Pazifik (Tokio), EU (Frankfurt),
EU (Irland), EU (London), Südamerika (São Paulo)
Nicht auswählbar
Preismodell Nach Millionen API-Aufrufen und Datenübertragungen Nach Aufrufen, Speicherverbrauch, CPU-Sekunden und ausgehenden Netzwerk- und Datenübertragungen

Inhaltsübermittlung

Sowohl AWS als auch Firebase bieten ein Content Delivery Network (CDN) an: Amazon bietet Amazon CloudFront und Google bietet Cloud CDN. Die Mechanismen beider Plattformen sind ähnlich, aber das Netzwerk, mit dem die Inhalte verteilt werden, kann erhebliche Unterschiede aufweisen. Einen detaillierten Vergleich der Netzwerkfunktionen auf den beiden Plattformen finden Sie unter Google Cloud für AWS-Experten: Netzwerke.

Feature AWS Mobile Hub Firebase
Content Delivery Network (CDN) CloudFront Cloud CDN
Ursprungshosting Amazon S3 Firebase Hosting
Bereitstellungsort Weltweit Weltweit
Preismodell Nach Datenübertragung und -speicherung Nach Datenübertragung und -speicherung

Push-Benachrichtigungen

Push-Benachrichtigungen werden in AWS und Firebase ähnlich konfiguriert. Der Simple Notification Service (SNS) von Amazon und Firebase Cloud Messaging unterscheiden sich nur in ihren spezifischen Implementierungen und einigen der unterstützten Frameworks. Die unterstützten Plattformen für Dienste sind nachfolgend aufgeführt.

Feature Amazon SNS Firebase
Unterstützte Benachrichtigungsdienste 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 und höher, Firefox 44 und höher, Opera Mobile 37 und höher
Unterstützte Plattformen und Sprachen REST HTTP API, JavaScript, Java, Python, Node.js, Ruby, Go, C++, PHP, .NET REST HTTP API, XMPP, JavaScript, Node.js, C++
Bereitstellungsort Multiregional Weltweit
Preismodell Nach Millionen Nachrichten Kostenlos

Import und Export

Mit AWS Mobile Hub können Entwickler ihre Projekte als YAML-Dateien importieren und exportieren. Mit Firebase kann man automatische nächtliche Sicherungen der Projektdaten und -regeln konfigurieren und diese als JSON-Dateien in Cloud Storage speichern. Firebase-Projekte können mithilfe von IAM zwischen Projekten übertragen werden.

Anwendungen testen

Sowohl Firebase als auch AWS unterstützen automatisierte Tests, die auf verschiedenen vom Anbieter in der Cloud gehosteten Geräten ausgeführt werden. Mit diesen Tests kann der Entwickler entweder einen schnellen Smoke Test durchführen, um sicherzugehen, dass der Build einer Anwendung grundsätzlich brauchbar ist, oder bestimmte Schritte in der Benutzeroberfläche manuell codieren, die auf den Cloud-Geräten ausgeführt werden sollen. Das Firebase Device Lab unterstützt iOS- und Android-Geräte sowie viele Test-Frameworks auf den beiden Plattformen.

Feature Amazon Device Farm Firebase Device Lab
iOS-Testtypen Appium, Calabash, XCTest, KIF, UI Automation XCTest, EarlGrey, Spielschleife
Android-Testtypen Appium, Calabash, Robotium, Espresso, UI Automator, benutzerdefinierte Instrumentierungstests, integrierter Explorer Robo, Android-Instrumentierungstests, Espresso, Spielschleife
Bereitstellungsort Nicht auswählbar Nicht auswählbar
Preismodell Pro Minute oder Flatrate Pro Gerätestunde, solange der Test läuft, mit Ausnahme der festgelegten Anzahl kostenloser Tests pro Tag

Analytics

Amazon Pinpoint und Google Analytics für Firebase unterstützen Analysen, Zielgruppensegmentierung und gezielte Kampagnen. Beide unterstützen das Exportieren von Ereignissen in einen Data Warehouse-Service. Firebase Analytics kann auch in andere GCP-Dienste integriert werden, darunter Firebase Crash Reporting, Firebase Remote Config, Firebase Cloud Messaging und Google Tag Manager.

Feature AWS Mobile Hub/Pinpoint Google Analytics for Firebase
Analysen und Kampagnen Ja Ja
Export in Data Warehouse Export nach Amazon Redshift Export nach BigQuery
Uneingeschränkte Berichterstellung Ja Ja
Benachrichtigungen integrieren Ja Ja
Remote Config Nicht zutreffend Ja
Tag-Verwaltung Nein Ja (Google Tag Manager)
Bereitstellungsort Weltweit Weltweit
Preismodell Nach monatlicher Zielgruppe Kostenlos

Zusätzliche Funktionen

Firebase und AWS Mobile Hub enthalten Funktionen, die in der jeweils anderen Lösung nicht enthalten sind.

Zusätzliche Funktionen in AWS Mobile Hub

Konversationsbots

AWS Mobile Hub enthält sogenannte Conversational Bots. Dieses Feature integriert Amazon Lex für Text- und Sprachkonvertierung mit AWS Lambda-Funktionen. Obwohl Konversationsbots nicht zum offiziellen Firebase-Featureumfang gehören, verfügt die Google Cloud über Dialogflow und API.AI, die jeweils mit Firebase kombiniert werden können und dem Nutzer eine Oberfläche in Gesprächsform bieten.

Zusätzliche Features in Firebase

Absturzberichte

Firebase Crash Reporting bietet zwei Optionen für Absturzberichte: das Firebase Crash Tool und Fabric Crashlytics. AWS Mobile Hub setzt hingegen Partnertechnologien für Absturzberichte ein.

Verteilung von Betaversionen nativer Anwendungen

Zusätzlich zu den Absturzberichten bietet Fabric Crashlytics Beta by Crashlytics für die Verteilung an. Beta by Crashlytics ist ein beliebtes Beta-Verteilungs-Framework, mit dem Nutzer ein- und ausgeladen und andere Fabric-Bibliotheken eingebunden werden können. Für automatisierte Verteilung lässt sich Beta von Crashlytics auch in Fastlane-Build-Tools für iOS und Android integrieren.

App-Indexierung

Bei der Firebase App-Indexierung wird der App-Inhalt so indexiert, dass eine Google-Suche auf dem Gerät unter den Ergebnissen auch Links zur App liefert.

Firebase Dynamic Links führen zu der nativen App, wenn sie auf dem Gerät geöffnet werden; über einen Desktop-Browser führen sie zu Webinhalten. Um dynamische Links zu erzeugen, erstellt Firebase eine Domain, die zum Registrieren der universellen Link-Domain auf der Android- oder iOS-Plattform genutzt werden kann.

Invites

Firebase Invites sind eine App-Verweisfunktion, mit der App-Nutzer Firebase-Apps über dynamische Links freigeben können. Die dynamischen Links passen sich der Plattform (Web, Android oder iOS) des eingeladenen Nutzers an.

Fernkonfiguration

Mit Firebase Remote Config können Entwickler das Verhalten und Erscheinungsbild einer Anwendung ändern, ohne dass ein Anwendungsupdate erforderlich ist. Remote Config verwendet Standardwerte innerhalb der App, um das Verhalten und das Erscheinungsbild der Anwendung zu steuern. Entwickler können dann die Konsole verwenden, um die Standardwerte innerhalb der App für alle Nutzer oder Teile davon zu überschreiben.

Leistungsüberwachung

Firebase Performance Monitoring ist eine Betafunktion, die die Startzeit, Aktivitäten im Vordergrund und im Hintergrund, HTTP/S-Netzwerkanforderungen und benutzerdefinierte Traces überwacht, die mit der enthaltenen API erstellt werden.

Kosten

Die Preise für AWS Mobile Hub richten sich nach den einzelnen verwendeten Komponenten des Dienstes. Bei Firebase sind automatisch mehrere Produkte enthalten:

  • Authentifizierung (ohne Authentifizierung der Telefonnummer)
  • Analyse
  • App-Indexierung
  • Dynamic Links
  • Invites
  • Remote Config
  • Cloud Messaging
  • Leistungsüberwachung und Absturzberichte

Für AWS Mobile Hub gibt es Pakettarife auf einer kostenlosen und einer mittleren Ebene. Bei jedem Firebase-Pakettarif sind folgende Elemente enthalten, die mit Nutzungseinschränkungen verbunden sind:

  • Speicher
  • Cloud Functions
  • Telefonnummer-Authentifizierung
  • Hosting/Lieferung von Inhalten
  • Test Lab

Wenn die Nutzung über die genannten Einschränkungen hinausgeht, ist Firebase mit individuellen nutzungsabhängigen Kosten pro Dienst verbunden.

Weitere GCP-Produkte wie BigQuery werden separat abgerechnet.

Weitere Informationen

Weitere Artikel zu Google Cloud für AWS-Experten: