Mehrstufige Anwendung mit Gemini für Unterstützung durch Google Cloud erstellen

In diesem Tutorial erfahren Sie, wie Sie Gemini für Google Cloud, ein KI-gestütztes Tool in Google Cloud für die Entwicklung eines mehrschichtigen Webs mit vollständig verwalteten Diensten.

Lernziele

  • Entdecken Sie verschiedene Google-Dienste, mit denen Sie Traffic über die öffentlich zugänglichen Internet.
  • Entdecken Sie verschiedene Google-Dienste, mit denen Sie Daten schneller im Cache speichern können Datenabruf.
  • Entdecken Sie verschiedene Google-Dienste, mit denen Sie zustandsorientierte Daten speichern können.
  • Zusammenarbeit verschiedener Google-Dienste entwickeln

Verwendete Google Cloud-Produkte

  • Cloud Run: Cloud Run ist eine verwaltete Computing-Plattform mit der Sie Container direkt auf der Grundlage der skalierbaren und Infrastruktur. Sie können Code in einer beliebigen Programmiersprache auf Cloud Run, wenn Sie ein Container-Image daraus erstellen können.
  • Cloud Memorystore: Cloud Memorystore ist eine vollständig verwaltete In-Memory-Datenspeicherdienst für Redis und Memcached. Anwendung erstellen -Caches, die Datenzugriff in weniger als einer Millisekunde ermöglichen.
  • Cloud SQL: Cloud SQL ist ein Dienst, der vollständig verwaltete relationalen Datenbanken in der Cloud zu erstellen. Es bietet MySQL, PostgreSQL und SQL Server-Datenbankmodule.

Hinweise

  1. Prüfen Sie, ob Gemini für Ihr Google Cloud-Nutzerkonto und -Projekt eingerichtet ist.

Web-Serving in Google Cloud kennenlernen

Nehmen wir für das folgende Beispiel an, dass Sie als Architekt mit Gemini, das Ihnen hilft, Entscheidungen auf dem organisationsweiten goldenen Pfad für Entwickelnden, die schnell eine Webanwendung in Google Cloud erstellen möchten. Ihr Ziel ist es, mit Gemini, um zu erfahren, welche Optionen Ihnen zur Verfügung stehen, Eigenschaften und Interoperabilität.

In der Google Cloud Console können Sie mit Gemini chatten, um Hilfe. Im Bereich Gemini geben Sie Prompts ein. Das sind Fragen oder Aussagen, die die gewünschte Hilfe beschreiben. Gemini gibt daraufhin Antworten.

Zuerst bitten Sie Gemini, Ihnen bei der Entscheidung für die Computing-Stufe zu helfen wo Ihre Webbereitstellung ausgeführt wird. Gehen Sie so vor:

  1. Klicken Sie in der Symbolleiste der Google Cloud Console auf Gemini öffnen.

  2. Geben Sie im Bereich Gemini den folgenden Prompt basierend auf Ihre Anforderungen und Einstellungen und klicken Sie dann auf „Senden“:

    I am designing a multi-tier web app in Google Cloud. First, I would
    like help on deciding what to use for the compute tier. What are my
    options for running an app to serve traffic over the public internet?
    I would like to prioritize fully-managed services.
    

    Die Antwort von Gemini sollte in etwa so aussehen:

    Es gibt mehrere Möglichkeiten, eine App so auszuführen, dass Traffic über den für das öffentliche Internet in Google Cloud. Sie können Cloud Run verwenden, App Engine oder Compute Engine.
    Cloud Run ist ein eine verwaltete serverlose Plattform für die Ausführung zustandsloser Container, können über HTTP-Anfragen aufgerufen werden. App Engine ist eine vollständig verwaltete Plattform die eine Programmierumgebung für die Entwicklung und Ausführung von Anwendungen. Compute Engine ist ein Dienst für virtuelle Maschinen (VMs), mit dem erstellen und verwalten Sie virtuelle Maschinen.
    Sie können entscheiden, welche Option am besten für Sie geeignet ist. müssen Sie folgende Faktoren berücksichtigen:
    Die Größe und Komplexität deiner App
    Wie viele Zugriffe du erwarten
    Das Maß an Kontrolle, das du über deine App benötigst
    Die Kosten
    Wenn du ein kleine, einfache App, die nur wenig Traffic erhält, ist Cloud Run eine gute Option. Wenn Sie eine größere, für eine komplexe App, bei der Sie eine hohe Anzahl an Zugriffen erwarten, App Engine oder Compute Engine sind möglicherweise eine bessere Option. Wenn Sie viel brauchen, mehr Kontrolle über Ihre App haben, ist Compute Engine eine gute Option. Wenn Sie ist Cloud Run eine gute Option.

  3. Da Sie den schnellsten Weg zum Ausführen kleinerer Webanwendungen finden in Ihrer Organisation funktioniert, scheint die Beschreibung von Cloud Run durch Gemini Ihren Anforderungen am besten entspricht. Zunächst möchten Sie jedoch einige der Merkmale der Plattform. Geben Sie den folgenden Prompt ein und klicken Sie auf „Senden“:

    Okay, I think I will move forward with Cloud Run. What metric does
    Cloud Run use to perform autoscaling?
    

    Die Antwort von Gemini sollte in etwa so aussehen:

    Cloud Run nutzt die Anzahl der eingehenden Anfragen oder Ereignisse, ein Autoscaling durchzuführen. Wenn eine Überarbeitung keinen Traffic empfängt, standardmäßig auf null Instanzen skaliert. Weitere Informationen zu Ihrem Frage hier: Informationen zum Instanz-Autoscaling.

  4. Mit der automatischen Skalierung von Cloud Run auf Basis eingehender Anfragen möchten Sie um nachzuvollziehen, wie der Traffic in die Anwendungen eingeht, die er hostet. Geben Sie den folgenden Prompt:

    How is a Cloud Run application exposed to users over the internet?
    

    Die Antwort von Gemini sollte in etwa so aussehen:

    Cloud Run akzeptiert eingehenden Traffic von folgenden Quellen:
    Öffentliches Internet: Anfragen werden direkt von öffentlichen Quellen zu Ihren Cloud Run-Diensten mit der Option, Traffic über einen externen HTTP(S)-Load-Balancer.
    Google APIs und -Dienste: Anfragen von Google APIs und Diensten werden an Ihre Cloud Run-Dienste ohne externe HTTP(S)-Last aus.
    VPC-Netzwerke: Anfragen von VPC-Netzwerken werden an Ihr Cloud Run-Dienste über einen VPC-Connector.
    Du bestimmst wie Ihr Cloud Run-Dienst für Nutzer verfügbar ist. Einstellungen für eingehenden Traffic.

  5. Für diese Klasse von möchten Sie mit Gemini wissen, ob die Plattform Diese Anwendung nur authentifizierten Nutzern mit der Berechtigung Berechtigungen. Geben Sie den folgenden Prompt ein:

    Is there an easy mechanism in Cloud Run that allows only
    authenticated users to access an application?
    

    Die Antwort von Gemini sollte in etwa so aussehen:

    Ja, es gibt einen Mechanismus, mit dem sichergestellt wird, dass nur authentifizierte Nutzer auf eine Cloud Run-Anwendung zugreifen. Geben Sie dazu das Feld no-allow-unlern-Option beim Bereitstellen eines Dienstes. Dies führt dazu, dass wird Ihr Dienst nicht authentifizierte Anfragen mit dem HTTP-Statuscode 403 Forbidden ablehnen. Fehler. Weitere Informationen zu Ihrer Frage finden Sie hier: Öffentlichen (nicht authentifizierten) Zugriff zulassen

  6. Um dies für Entwickler in Ihrer Organisation einzurichten, dass sie keine Konfigurationen schreiben dürfen, die sich auf die Infrastruktur beziehen, als Dockerfiles.

    We have standardized on using Django as a web framework. Can I deploy
    a Python app to Cloud Run directly from source code? Or do we need to
    implement a way to containerize this ourselves?
    

    Die Antwort von Gemini sollte in etwa so aussehen:

    Ja, Sie können eine Python-Anwendung direkt in Cloud Run bereitstellen aus Quellcode verfügbar. Mit dem Python-Buildpack für Cloud Run und stellen die Python-Anwendung bereit. Weitere Informationen zu Ihrer Frage finden Sie hier: Wird aus Quellcode bereitgestellt.

Caching in Google Cloud

Jetzt möchten Sie einen Dienst für die nächste Stufe auswählen: das Caching. A ein häufiger Bedarf an dieser Ebene des Teams führt Sie dazu, Gemini zu bitten, Ihnen zu helfen Sie kennen die Angebote von Google Cloud in diesem Bereich. Nehmen Sie Folgendes: Schritte, um Gemini um Unterstützung zu bitten:

  1. Klicken Sie in der Symbolleiste der Google Cloud Console auf Gemini öffnen.

  2. Geben Sie den folgenden Prompt ein und klicken Sie auf „Senden“:

    Okay! Thank you. Now let's move on to the caching tier. How can I
    introduce a caching layer to my web app? I would like to prioritize
    fully-managed services.
    

    Die Antwort von Gemini sollte in etwa so aussehen:

    Es gibt verschiedene Möglichkeiten, eine Caching-Ebene in Ihre Webanwendung einzuführen. Eins können Sie einen vollständig verwalteten Dienst wie Cloud Memorystore verwenden. Cloud Memorystore ist ein vollständig verwalteter In-Memory-Datenspeicherdienst für Redis Sie bietet ein leistungsstarkes, skalierbares und zuverlässiges Caching -Lösung, mit der Sie die Leistung Ihrer Webanwendung verbessern können. Ich Cloud Memorystore auch zum Speichern statischer Inhalte wie Bilder und JavaScript-Dateien. Weitere Informationen zu Ihrer Frage finden Sie hier: Jetzt neu: Memorystore: Ein vollständig verwalteter In-Memory-Datenspeicherdienst für Redis.

  3. Bevor Sie Cloud Memorystore for Redis verwenden, sollten Sie dass die Kommunikation zwischen Cloud Run und Cloud Memorystore ist privat. Geben Sie den folgenden Prompt ein:

    If I were to use Cloud Memorystore, how do I ensure the communication
    between Cloud Run and Cloud Memorystore is private?
    

    Die Antwort von Gemini sollte in etwa so aussehen:

    Um die Kommunikation zwischen Cloud Run und Cloud sicherzustellen Memorystore ist privat. Sie müssen einen Connector für Serverloser VPC-Zugriff Dadurch wird eine Verbindung zwischen Cloud Run und der VPC, in der Memorystore -Instanzleben. Weitere Informationen zu Ihrer Frage finden Sie hier: Memorystore for Redis zum Zwischenspeichern von Django-Anwendungen verwenden

Relationale Datenbanken in Google Cloud kennenlernen

Schließlich möchten Sie einen relationalen Datenbankspeicher festlegen. Sie fordern ein Gemini für Google Cloud erleichtert Ihnen die Auswahl Ihrer Optionen:

  1. Geben Sie den folgenden Prompt ein:

    And for the relational database tier, where do you recommend I
    persist data? Please keep in mind that I would like to continue to
    prioritize fully-managed services.
    

    Gemini sollte eine Antwort ausgeben, die in etwa so aussieht:

    Es gibt mehrere Möglichkeiten, Daten in einem vollständig verwalteten Dienst dauerhaft zu speichern. Eine Möglichkeit ist die Verwendung von Cloud SQL. Cloud SQL ist eine vollständig verwaltete Relationaler Datenbankdienst, der eine einfache, zuverlässige und sichere zum Ausführen von SQL Server-, MySQL- und PostgreSQL-Arbeitslasten auf Google Cloud Sie wurde entwickelt, um Ihnen den schnellen Einstieg in serverlose Lösungen zu erleichtern. mit Database Migration Service. Cloud SQL for SQL Server sorgt automatisch dafür, dass Ihre SQL Server-Datenbanken zuverlässig, sicher Skalierbar, damit Ihr Unternehmen ohne Unterbrechung weiterläuft. Suchen Weitere Informationen zu Ihrer Frage finden Sie hier: Cloud SQL – Übersicht

Beispielarchitektur bereitstellen

Schließlich möchten Sie einen relationalen Datenbankspeicher festlegen. Sie fordern ein Gemini für Google Cloud erleichtert Ihnen die Auswahl Ihrer Optionen:

Okay, we have landed on using Cloud Run, Cloud Memorystore, and Cloud
SQL together. Is there a solution I can use that is available from
Google that uses these three technologies for a web application?

Gemini sollte eine Antwort ausgeben, die in etwa so aussieht:

Kein Problem, hier ist eine Lösung, die Cloud Run, Cloud Memorystore und Cloud SQL zusammen für eine Webanwendung erstellen:
Schnellstart-Lösung: Dreistufige Webanwendung.
Diese Lösung ist eine dreistufige Webanwendung, die Cloud Run, Cloud Memorystore for Redis und Cloud SQL for PostgreSQL Die Anwendung verwendet Cloud Memorystore zum Speichern im Cache. und Cloud SQL, um persistente Daten zu speichern.

Um Ihre neue Architektur zu testen, entscheiden Sie, Anleitung auf der bereitgestellten Webseite und stellen diese Beispiellösung bereit, die Architektur des goldenen Pfades testen und prüfen!

Bereinigen

So vermeiden Sie, dass Ihrem Google Cloud-Konto die verwendeten Ressourcen in Rechnung gestellt werden In dieser Anleitung können Sie das Google Cloud-Projekt löschen, das Sie für dieser Anleitung. Alternativ können Sie die einzelnen Ressourcen löschen.

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Nächste Schritte