Direkt zum Inhalt
Anwendungsentwicklung

13 Beispielarchitekturen für Ihren Schnelleinstieg in Google Cloud

14. Januar 2021
Priyanka Vergadia

Staff Developer Advocate, Google Cloud

GCP testen

Profitieren Sie von einem 300 $-Guthaben, um Google Cloud und mehr als 20 zu jeder Zeit kostenlose Produkte kennenzulernen.

JETZT TESTEN

Unabhängig von den Anforderungen Ihres Unternehmens in puncto Kosten oder Leistung erhalten Sie mit Google Cloud eine äußerst flexible Plattform, die viele verschiedene Anwendungsarchitekturen unterstützt. Aber womit fangen Sie am besten an? 

Als Google Cloud Developer Advocate habe ich kürzlich eine Twitter-Serie zum Thema 13 Tage GCP (in englischer Sprache) gepostet, in der einige der häufig genutzten Google Cloud-Referenzarchitekturen behandelt wurden. Diese habe ich nun hier zusammengefasst. Möchten Sie lernen, wie Sie Hybrid-Cloud- oder mobile Apps bereitstellen? Wie Mikrodienste, CI/CD, Machine Learning oder Sicherheit funktionieren? In diesem Artikel finden Sie alle nötigen Informationen, um zuversichtlich die ersten Schritte mit Google Cloud zu gehen. (Beachten Sie, dass es sich hier natürlich lediglich um Beispiele handelt und jede Lösung auf vielfältige Art und Weise umgesetzt werden kann.) 

1. Hybrid-Architektur in Google Cloud und lokal einrichten

https://storage.googleapis.com/gweb-cloudblog-publish/images/image4_iG3ISDj.max-2000x2000.jpg

Wenn es um die Migration oder einfach nur das Ausführen von Anwendungen teils auf lokalen Systemen und teils in der Cloud geht, sind hybride Architekturen eine sehr verbreitete Lösung. Besonders gerne wird eine Hybrid-Architektur eingesetzt, bei der das Front-End und/oder der Anwendungsserver in Google Cloud und das Back-End lokal bereitgestellt werden. 

  • In diesem Szenario fordern Nutzer:innen die Apps über das Internet an und ein globaler Load-Balancer leitet sie zu Ihrer Anwendung in Google Cloud oder im lokalen System weiter. 

  • Hier verteilt das globale Load-Balancing den Traffic gleichmäßig auf die entsprechenden Dienste. Diese können sich auf jeder Compute-Plattform befinden, wie Compute Engine, Google Kubernetes Engine (GKE), App Engine usw. 

  • Die Anwendungen, die mit den Back-End-Systemen in Ihrem Rechenzentrum interagieren müssen, müssen sich je nach Ihren Bandbreitenanforderungen über Cloud VPN oder Interconnect verbinden. Sie sind unsicher, welche Variante Sie wählen sollen? Hier finden Sie Antworten.

  • Anfragen für die lokale Anwendung landen beim Load-Balancer, der die Last über die Anwendungsserver verteilt. 

  • Anwendungsserver verbinden sich mit Back-End-Funktionen wie Suche, Cache und Datenbanken, um die Anfragen der Nutzer:innen zu erfüllen.

Weitere Informationen zu Hybrid-Lösungen finden Sie in diesem Artikel.

2. Hybrid-Architektur für Cloud Bursting einrichten

https://storage.googleapis.com/gweb-cloudblog-publish/images/image5_BDTbjUZ.max-2000x2000.jpg

Das Bursting von Traffic zur Cloud kann ein guter Einstieg in die Nutzung der Cloud sein. Wenn Ihre Anwendung lokal bereitgestellt ist, können Sie diese für die Basislast nutzen und vorübergehend einen Burst zu Google Cloud nutzen, wenn Sie bei einem plötzlichen Anstieg des Traffic zusätzliche Kapazität benötigen. Ein Hauptvorteil wäre hier, dass Sie keine zusätzlichen Kapazitäten lokal bereithalten und warten müssen. Da Sie in der Cloud nur für das bezahlen, was Sie auch nutzen, können Sie durch Bursting auch Kosten sparen.

Hier erfahren Sie mehr über Hybrid-Lösungen und -Muster.

3. Sensible Daten in Chatbots mit der Data Loss Prevention (DLP) API maskieren

https://storage.googleapis.com/gweb-cloudblog-publish/images/image6_89IEjBr.max-2000x2000.jpg

Stellen Sie sich eine Situation vor, in der Ihr Unternehmen oder Ihre Nutzer:innen vertrauliche Informationen an einen Chatbot weitergeben müssen. Mit Dialogflow können Sie Ihren Nutzer:innen ein dialogorientiertes Erlebnis bieten, ohne Machine Learning oder künstliche Intelligenz erlernen zu müssen. 

In dieser Architektur interagiert die Nutzerin oder der Nutzer beispielsweise mit einem Chat über Telefon oder Internet, der den Dialogflow-Agent aufruft. Die Anfrage wird von Geschäftslogik über die serverlose Cloud Functions-Umgebung oder VMs erfüllt. Wenn Sie dann vertrauliche Informationen aus dem Chat unkenntlich machen möchten, können Sie die DLP API nutzen und die Daten zur weiteren Verarbeitung in BigQuery speichern. 

4. Back-Ends für mobile Apps in Google Cloud erstellen

https://storage.googleapis.com/gweb-cloudblog-publish/images/image7_NHjobqw.max-2000x2000.jpg

Wenn Sie mobile Apps in Google Cloud erstellen, ist Firebase eine gute Option für die Speicherung, die Authentifizierung der Nutzer:innen, das Hosting und mehr. Sie können Firebase mit vielen Back-Ends zusammen verwenden, wie die serverlose Cloud Functions-Umgebung zum Vereinen von Geschäftslogik oder Cloud Run zum Ausführen serverloser Container als App-Back-Ends. Sie können auch eine Verbindung mit App Engine und Compute Engine herstellen, wenn Ihre Back-Ends sich dort befinden. 

Weitere Informationen erhalten Sie in dieser Serie.

5. Oracle-Datenbank zu Spanner migrieren

https://storage.googleapis.com/gweb-cloudblog-publish/images/image8_lrViz7M.max-2000x2000.jpg

Wie lässt sich Oracle am besten zu Cloud Spanner migrieren? Wenn Sie eine Oracle-Datenbank nutzen und diese zu Spanner migrieren möchten, um von der globalen Skalierung zu profitieren, müssen Sie zunächst Ihre Oracle-Datenbank in ein mobiles Dateiformat wie CSV exportieren und sie in Cloud Storage speichern. Dann können Sie die Daten in Dataflow aufnehmen. Hier werden die Dateien gelesen und geparst, die Daten konvertiert, Spanner-Mutationen erstellt, etwaige Fehler behandelt und letztendlich die Daten in Spanner geschrieben. 

Hier finden Sie weitere Informationen zu dieser Lösung.

6. Data Lake in Google Cloud erstellen

https://storage.googleapis.com/gweb-cloudblog-publish/images/image9_WNMVyhq.max-2000x2000.jpg

Der Zweck eines Data Lake ist die Aufnahme und Speicherung von Daten für das Mining und andere Workflows wie Data-Marts, Echtzeitanalysen, ML und mehr. Folgendes sollten Sie berücksichtigen, wenn Sie einen Data Lake in Google Cloud einrichten:

  • Sie können Daten aus verschiedenen Quellen aufnehmen, z. B. aus (IoT-)Sensoren, lokalen Systemen, Nutzungsaktivitäten wie Clickstreams oder Onlinetransaktionen.

  • Echtzeitdaten können über Pub/Sub und Dataflow aufgenommen werden, die für variierende Datenvolumen skalierbar sind.

  • Batchdaten können je nach Bandbreite und Volumen über Transfer Appliance, Transfer Service oder gsutil aufgenommen werden. Die optimierten Echtzeitdaten können dann in Bigtable oder Spanner gespeichert werden. 

  • Sie können das Data Mining der Daten im Data Lake mit Datalab und Dataprep ausführen. Für Machine Learning nutzen Sie Datalab oder ML Engine, um die Engine zu trainieren, und speichern die Prognosen in Bigtable.

  • Für Warehousing können Sie die Daten an BigQuery senden oder Dataproc nutzen, wenn Sie ein Hive-System verwenden. 

Weitere Informationen finden Sie in dieser Lösung zum Einsatz von Cloud Storage als Data Lake

7. Websites in Google Cloud hosten

https://storage.googleapis.com/gweb-cloudblog-publish/images/image10_s2nTDFe.max-2000x2000.jpg

Das Skalieren einer Website anhand des Traffics ist nicht immer einfach. Google Cloud bietet einfache und kosteneffiziente Möglichkeiten, um Websites zu hosten und auch für umfangreiches Anfragenaufkommen zu skalieren. So skalieren Sie eine Website
in Google Cloud:

  • Wenn eine Nutzerin oder ein Nutzer eine Anfrage an Ihre Website sendet, übersetzt Cloud DNS den Hostnamen in die IP-Adresse Ihres Webservers. 

  • Die Anfrage geht dann an Cloud CDN, die Antwort erfolgt aus dem Cache. Wenn keine Antwort im Cache gespeichert ist, geht die Anfrage an das globale Load-Balancing, das die Last über die Webserver der Compute Engine verteilt. Sie können auch ein lokales System oder eine andere Cloud als Back-End festlegen. 

  • Statische Dateien wie Bilder werden aus Cloud Storage geliefert. Der interne Load-Balancer sendet die Anfrage dann an die App-Server und letztendlich an die Datenbanken. 

  • Nutzen Sie die Firestore-Dokumentendatenbank für die Profile und Aktivitäten von Nutzerinnen und Nutzern.

  • Nutzen Sie Cloud SQL für relationale Daten.

  • Zum Schutz Ihres Back-Ends vor L3- und L4-DDoS-Angriffen aktivieren Sie Cloud Armor mit einem globalen Load-Balancer.

  • In diesem Beispiel wird Compute Engine als Back-End genutzt, aber Sie können Ihr Back-End auch in Containern auf GKE, Cloud Run oder App Engine bereitstellen.

  • Verwenden Sie zum Skalieren der Infrastruktur bei Nutzung von Compute Engine verwaltete Instanzgruppen, die automatisch skalieren, wenn die Last steigt. (App Engine und Cloud Run skalieren automatisch mit der Last). 

Hier finden Sie weitere Informationen zu dieser Webhosting-Lösung

8. CI/CD-Pipeline in Google Cloud einrichten

https://storage.googleapis.com/gweb-cloudblog-publish/images/image11_iHuvfUB.max-2000x2000.jpg

CI/CD ist eine effektive Möglichkeit, Entwicklerteams die Arbeit zu erleichtern und Bereitstellungen am Laufen zu halten. Das Einrichten von CI/CD mit Google Cloud ist einfach: 

  • Entwickler:innen schreiben den Code und pushen ihn in Google Cloud Source Repositories, Bitbucket oder ein Git-Repo. 

  • Sobald der Code im Repository ankommt, startet Cloud Build. Es führt Tests und Sicherheitsscans durch, erstellt ein Docker-Image und überträgt es dann per Push zu Spinnaker, einer Open Source Multi-Cloud-Plattform für Continuous Delivery. Sie können auch Jenkins oder Gitlab nutzen. 

  • Spinnaker stellt dann den Container in einem Produktions-Cluster auf GKE, Cloud Run oder Compute Engine bereit. Es kann auch eine Test-App bereitstellen, um sicherzustellen, dass Änderungen mit echtem Traffic getestet werden. 

  • Der eingehende Traffic trifft auf den Load-Balancer und wird an die Test- oder Produktions-App weitergeleitet. 

  • Wenn die Test-App nicht zufriedenstellend arbeitet, können Sie ein schnelles Rollback automatisieren. 

Hier finden Sie weitere Informationen zur CI/CD-Lösung.

9. Serverlose Mikrodienste in Google Cloud erstellen

https://storage.googleapis.com/gweb-cloudblog-publish/images/image12.max-2000x2000.jpg

Mikrodienste und serverlose Architekturen bieten höhere Skalierbarkeit, mehr Flexibilität und kürzere Veröffentlichungszeiträume – all das bei geringeren Kosten. Eine gute Methode zum Erstellen einer serverlosen Mikrodienstarchitektur in Google Cloud ist Cloud Run. Nehmen wir als Beispiel eine E-Commerce-App: 

  • Wenn eine Nutzerin oder ein Nutzer eine Bestellung aufgibt, empfängt ein Front-End in Cloud Run die Anfrage und sendet sie an Pub/Sub, einen asynchronen Messaging-Dienst. 

  • Die nachgeordneten Mikrodienste, die ebenfalls in Cloud Run bereitgestellt sind, abonnieren die Pub/Sub-Ereignisse. 

  • Zum Beispiel kann der Authentifizierungsdienst einen Aufruf an Firestore senden, eine serverlose NoSQL-Dokumentendatenbank. Der Inventardienst fragt die Datenbank ab: entweder in einer vollständig verwalteten relationalen Cloud SQL-Datenbank oder in Firestore. Der Bestelldienst empfängt dann ein Ereignis von Pub/Sub, um die Bestellung zu verarbeiten. 

  • Die statischen Dateien werden in Cloud Storage gespeichert. Hier kann dann durch das Aufrufen der ML APIs eine Cloud Functions-Funktion zur Datenanalyse ausgelöst werden. 

  • Es können weitere Mikrodienste wie Adressensuche in Cloud Functions bereitgestellt sein. 

  • Alle Logs werden in Cloud Logging gespeichert.

  • BigQuery speichert alle Daten für den serverlosen Warehouse-Prozess. 

Weitere Informationen finden Sie in diesem Handbuch zum Thema Serverlose Plattform auswählen

10. Machine Learning in Google Cloud

https://storage.googleapis.com/gweb-cloudblog-publish/images/image13.max-2000x2000.jpg

Organisationen generieren immer weitere Daten und können Machine-Learning-Techniken einsetzen, um wertvolle Informationen aus diesen Daten zu ziehen. So können Sie in wenigen Schritten Machine Learning in Google Cloud nutzen:

  • Nehmen Sie zunächst die Daten über eine Transfer Appliance oder einen Transfer Service in Cloud Storage oder BigQuery auf. 

  • Bereiten Sie die Daten anschließend mit BigQuery, Dataprep, Dataflow oder Dataproc vor.

  • Nutzen Sie AI Hub, um bereits vorhandene Pipelines und KI-Inhalte zu ermitteln. 

  • Wenn alles bereit ist, verwenden Sie den Data Labeling Service von AI Platform, um Label zu Ihren Daten hinzuzufügen.

  • Erstellen Sie Ihre ML-Anwendung mithilfe von verwalteten Jupyter-Notebooks und eines Deep-Learning-VM-Images.

  • Mit den Trainings- und Vorhersagediensten von AI Platform können Sie Ihr Modell dann trainieren und in Google Cloud in einer serverlosen Umgebung oder lokal mittels Kubeflow bereitstellen.

  • Verwenden Sie verständliche KI, um Ihre Modellergebnisse für geschäftliche Nutzer:innen zu erläutern, und geben Sie die Ergebnisse für andere auf AI Hub frei.

Weitere Informationen finden Sie unter Machine Learning in Google Cloud

11. Serverlose Bild-, Video- oder Textverarbeitung in Google Cloud

https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_1.max-2000x2000.jpg

Die meisten Anwendungen erfordern ein gewisses Maß an Bild-, Video- oder Textverarbeitung. Nehmen wir als Beispiel für diese Architektur eine Blogging-Website, auf der Nutzerinnen und Nutzer Inhalte in Form von Videos, Bildern und Text erstellen. 

  • Von Nutzer:innen generierte Inhalte aus dem Front-End werden in Cloud Storage gespeichert. Hier wird ein Pub/Sub-Ereignis generiert und eine Cloud Functions-Funktion ausgelöst.

  • Cloud Functions ruft dann die Vision API, Video Intelligence API oder NLP API auf, je nach Typ der hochgeladenen Datei. 

  • Die Cloud Functions-Funktion empfängt eine JSON-Antwort von der entsprechenden ML API, verarbeitet die Ergebnisse weiter und sendet sie zur weiteren Analyse an BigQuery. 

  • Mit Google Data Studio oder einem anderen Visualisierungstool können individuelle Dashboards für die Analyse der Trends erstellt werden. 

Weitere Informationen finden Sie auf der Seite AI Platform.

12. Internet of Things (IoT) in Google Cloud

https://storage.googleapis.com/gweb-cloudblog-publish/images/image2_1_LeZsT8y.max-2000x2000.jpg

Wenn Sie eine große Anzahl von Geräten haben, die Daten generieren, können Sie mit IoT-Workflows Daten einfach und sicher verbinden, verwalten und aufnehmen, um sie für nachgeordnete Anwendungen zu nutzen. Im Folgenden finden Sie ein Beispiel für einen IoT-Workflow in Google Cloud.

  • Ein Sensor sendet Daten an ein Edge-Gerät mit einer Edge-TPU, einem Chip, der ML-Modelle auf Edge-Geräten ausführt. 

  • Der Cloud IoT Edge-Softwarelayer ermöglicht Ihnen das Ausführen von ML-Modellen und von Android Things oder Linux OS. 

  • Vom Edge-Gerät aus werden die Daten über MQTT oder HTTP(S) an Cloud IoT Core gesendet, was wiederum Ereignisse in Pub/Sub generiert.

  • Pub/Sub löst dann die Aktualsierung der Gerätekonfigurationen über Cloud Functions aus.

  • Zur langfristigen Speicherung filtert und verarbeitet Dataflow die Daten und sendet sie an eine Bigtable NoSQL-Datenbank oder BigQuery. 

  • Über BigQuery können Sie ein ML-Modell mit BigQueryML oder AI Platform trainieren.

  • Sie können die Daten in Data Studio oder einem anderen Dashboard visualisieren.

Weitere Informationen finden Sie unter Cloud IoT Core

13. Zero-Trust-Sicherheitsmodell von BeyondCorp einrichten

https://storage.googleapis.com/gweb-cloudblog-publish/images/image3_u1oKZx2.max-2000x2000.jpg

BeyondCorp ist die Umsetzung eines Zero-Trust-Sicherheitsmodells von Google. Dahinter stecken acht Jahre Erfahrung im Erstellen von Zero-Trust-Netzwerken bei Google und die Ideen und Best Practices aus der Community. Nehmen wir als Beispiel ein Unternehmen, in dem ein Teammitglied auf eine interne App zugreifen möchte. 

  • Die Anfrage geht an Cloud Load Balancing und wird an einen Identity Aware Proxy (IAP) weitergeleitet.

  • IAP stellt eine Verbindung zum Geräteinventar her und prüft, ob die Nutzerin oder der Nutzer berechtigt ist. Dann werden folgende Verbindungen hergestellt: zu Cloud Identity für die Endpunktverwaltung, zu Active Directory für die Authentifizierung und zu Identity and Access Management (IAM) sowie Access Context Manager für den richtlinienbasierten, kontextabhängigen Zugriff. Diese Prüfungen können unterschiedlich konfiguriert werden, z. B. für Mitarbeiter:innen oder externe Angestellte. 

  • Wenn alle Prüfungen bestanden wurden, erfolgt die Weiterleitung an den Service. Wenn die Prüfungen nicht bestanden werden, wird der Zugriff verwehrt. 

  • Wenn das Back-End lokal ist, stellen der lokale IAP-Connector und Cloud Interconnect oder Cloud VPN eine direkte Verbindung zum Rechenzentrum her. 

Hier finden Sie weitere Informationen zu BeyondCorp.

Alles klar!

Wir hoffen, diese Übersicht der häufigsten Google Cloud-Referenzarchitekturen war für Sie hilfreich. Ihre neu erworbenen Kenntnisse können Sie mit diesem Rätsel testen. Haben Sie weitere Fragen zu Google Cloud-Architekturen? Sie erreichen mich auf Twitter unter @pvergadia.

Gepostet in