Concevoir une application à plusieurs niveaux avec Gemini pour bénéficier de l'assistance Google Cloud

Ce tutoriel vous explique comment utiliser Gemini pour Google Cloud, un collaborateur optimisé par l'IA dans Google Cloud, pour concevoir un environnement Web à plusieurs niveaux à l'aide de services entièrement gérés lorsque cela est possible.

Objectifs

  • Découvrez les différents services Google à votre disposition pour diffuser du trafic sur le l'Internet public.
  • Découvrez les différents services Google que vous pouvez utiliser pour mettre en cache des données pour accélérer la récupération.
  • Explorez les différents services Google que vous pouvez utiliser pour conserver des données avec état.
  • Concevoir l'interopérabilité des différents services Google

Produits Google Cloud utilisés

  • Cloud Run. Cloud Run est une plate-forme de calcul gérée qui vous permet d'exécuter des conteneurs directement sur l'infrastructure de l'infrastructure. Vous pouvez déployer du code écrit dans n'importe quel langage de programmation Cloud Run si vous pouvez créer une image de conteneur à partir de celle-ci.
  • Cloud Memorystore. Cloud Memorystore est un service service de datastore en mémoire pour Redis et Memcached. Créer une application qui fournissent un accès aux données en moins d'une milliseconde.
  • Cloud SQL. Cloud SQL est un service qui fournit des services entièrement gérés des bases de données relationnelles dans le cloud. Il offre MySQL, PostgreSQL et SQL Moteurs de base de données serveur.

Avant de commencer

  1. Assurez-vous que Gemini est configuré pour votre compte utilisateur et votre projet Google Cloud.

Découvrir la diffusion Web dans Google Cloud

Pour l'exemple suivant, considérez que vous êtes un architecte souhaitant utiliser Gemini pour vous aider à prendre des décisions sur la voie optimale à suivre à l'échelle de l'entreprise pour qui souhaitent créer rapidement une application Web dans Google Cloud. Votre objectif est d’utiliser Gemini pour comprendre les options à votre disposition, leurs et leur interopérabilité.

Dans la console Google Cloud, vous pouvez discuter avec Gemini pour obtenir pour vous aider. Dans le volet Gemini, vous saisissez des requêtes, c'est-à-dire des questions ou d'instructions qui décrivent l'aide souhaitée, puis Gemini réponses.

Vous commencez par demander à Gemini de vous aider à prendre une décision concernant le niveau de calcul où s'exécutera votre diffusion Web. Procédez comme suit:

  1. Dans la barre d'outils de la console Google Cloud, cliquez sur Ouvrir Gemini.

  2. Dans le volet Gemini, saisissez la requête suivante en fonction de vos besoins et préférences, puis cliquez sur "Envoyer" :

    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.
    
    <ph type="x-smartling-placeholder">
    </ph>

    La réponse de Gemini doit se présenter comme suit:

    Il existe plusieurs options pour exécuter une application afin de diffuser du trafic sur le l'Internet public sur Google Cloud. Vous pouvez utiliser Cloud Run, App Engine ou Compute Engine.
    Cloud Run est un service une plate-forme sans serveur gérée qui vous permet d'exécuter des conteneurs sans état peuvent être appelés à l'aide de requêtes HTTP. App Engine est une plate-forme entièrement gérée qui fournit un environnement de programmation permettant de développer et d'exécuter applications. Compute Engine est un service de machine virtuelle (VM) qui permet vous créez et gérez des machines virtuelles.
    Pour choisir la meilleure option vous devez tenir compte des facteurs suivants
    :la taille et la complexité de votre application
    Le volume de trafic que vous espérez recevoir
    Le niveau de contrôle dont vous avez besoin sur votre application
    Le coût
    Si vous disposez d'un une petite application simple qui devrait recevoir un faible volume de trafic, Cloud Run est alors une bonne option. Si vous avez un plus grand, plus complexe qui doit recevoir une grande quantité de trafic, App Engine ou Compute Engine peuvent être une meilleure option. Si vous avez besoin de beaucoup de contrôle sur votre application, Compute Engine est une bonne option. Si vous ont un budget limité, Cloud Run est donc une bonne option.

  3. Sachant que vous établissez l'architecture la plus rapide pour exécuter des applications Web plus petites, dans votre organisation, la description de Cloud Run par Gemini répondent le mieux à vos besoins. Mais d'abord, vous voulez confirmer certaines des de la plate-forme. Saisissez l'invite suivante, puis cliquez sur "Envoyer" :

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

    La réponse de Gemini doit se présenter comme suit:

    Cloud Run utilise le nombre de requêtes ou d'événements entrants pour effectuer un autoscaling. Lorsqu'une révision ne reçoit aucun trafic, par par défaut, il est réduit à zéro instance. En savoir plus sur votre question ici: À propos de l'autoscaling des instances

  4. Avec l'autoscaling de Cloud Run basé sur les requêtes entrantes, vous pouvez pour comprendre comment le trafic entre dans les applications qu'il héberge. Saisissez le invite suivante:

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

    La réponse de Gemini doit se présenter comme suit:

    Cloud Run accepte le trafic entrant provenant des sources:
    Internet public: les requêtes sont acheminées directement à partir de sources vers vos services Cloud Run, avec la possibilité de router via un équilibreur de charge HTTP(S) externe.
    API Google et les requêtes des API et des services Google sont acheminées vers votre Services Cloud Run sans charge HTTP(S) externe de votre équilibreur de charge.
    réseaux VPC: les requêtes provenant des réseaux VPC sont acheminées vers votre services Cloud Run via un connecteur VPC.
    Vous pouvez contrôler comment votre service Cloud Run est exposé aux utilisateurs à l'aide du d'entrée.

  5. Bien qu'un équilibreur de charge externe public convienne à cette classe de applications, vous souhaitez que Gemini vous aide à comprendre si la plate-forme n'exposer cette application qu'aux utilisateurs authentifiés disposant des droits autorisations. Saisissez la requête suivante :

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

    La réponse de Gemini doit se présenter comme suit:

    Oui, il existe un mécanisme pour s'assurer que seuls les utilisateurs authentifiés peuvent à accéder à une application Cloud Run. Pour ce faire, spécifiez no-allow-unauthenticated lors du déploiement d'un service. Dans ce cas, permet à votre service de rejeter les requêtes non authentifiées présentant le code d'erreur HTTP 403 (Accès interdit) . Vous trouverez plus d'informations à ce sujet ici: Autoriser l'accès public (non authentifié).

  6. Enfin, pour configurer cette fonctionnalité pour les développeurs de votre organisation, est de ne pas leur demander d'écrire une configuration liée à l'infrastructure, en tant que 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?
    

    La réponse de Gemini doit se présenter comme suit:

    Oui, vous pouvez déployer une application Python sur Cloud Run directement du code source. Le buildpack Python Cloud Run vous permet de créer et déployer votre application Python. Vous trouverez plus d'informations à ce sujet ici: Déploiement à partir du code source

Découvrir la mise en cache dans Google Cloud

Vous souhaitez maintenant choisir un service pour le niveau suivant: la mise en cache. A besoin couramment pour cette couche de la part des prospects de votre équipe. Vous devez demander à Gemini de vous aider vous comprenez les offres de Google Cloud dans ce domaine. Prenez les mesures suivantes : étapes pour demander de l'aide à Gemini:

  1. Dans la barre d'outils de la console Google Cloud, cliquez sur Ouvrir Gemini.

  2. Saisissez l'invite suivante, puis cliquez sur "Envoyer" :

    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.
    

    La réponse de Gemini doit se présenter comme suit:

    Il existe plusieurs façons d'introduire une couche de mise en cache dans votre application Web. Un consiste à utiliser un service entièrement géré comme Cloud Memorystore. Cloud Memorystore est un service de datastore en mémoire entièrement géré Redis. Il offre une mise en cache hautes performances, évolutive et fiable qui peut vous aider à améliorer les performances de votre application Web. Toi peuvent également utiliser Cloud Memorystore pour mettre en cache du contenu statique, des images et des fichiers JavaScript. Vous trouverez plus d'informations à ce sujet ici: Présentation de Memorystore, service de datastore en mémoire entièrement géré pour Redis

  3. Avant de commencer à utiliser Cloud Memorystore pour Redis, vous devez pour garantir que la communication entre Cloud Run et Cloud Memorystore est privé. Saisissez la requête suivante :

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

    La réponse de Gemini doit se présenter comme suit:

    Pour assurer la communication entre Cloud Run et Cloud Memorystore est privé. Vous devez donc créer Connecteur d'accès au VPC sans serveur. Cela permettra la connectivité entre Cloud Run et le VPC dans lequel Compute Engine. Vous trouverez plus d'informations à ce sujet ici: Utiliser Memorystore pour Redis afin de mettre en cache vos applications Django.

Explorer les bases de données relationnelles dans Google Cloud

Enfin, vous allez maintenant choisir un magasin de base de données relationnelle. Votre invite Gemini pour Google Cloud pour vous aider à gérer les options qui s'offrent à vous:

  1. Saisissez la requête suivante :

    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.
    

    Vous devriez obtenir une réponse semblable à la suivante de la part de Gemini :

    Il existe plusieurs options pour conserver les données dans un service entièrement géré. Une option consiste à utiliser Cloud SQL. Cloud SQL est un service de base de données de base de données relationnelle offrant un environnement simple, fiable et sécurisé qui permet d'exécuter des charges de travail SQL Server, MySQL et PostgreSQL sur Google Cloud. Il est conçu pour vous aider à démarrer rapidement avec des solutions sans serveur à l'aide de Database Migration Service. Cloud SQL pour SQL Server assure automatiquement la fiabilité, la sécurité et évolutifs pour que votre entreprise continue de fonctionner sans interruption. Rechercher Vous trouverez plus d'informations sur cette question ici: Présentation de Cloud SQL

Déployer un exemple d'architecture

Enfin, vous allez maintenant choisir un magasin de base de données relationnelle. Votre invite Gemini pour Google Cloud pour vous aider parcourir les options:

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?

Vous devriez obtenir une réponse semblable à la suivante de la part de Gemini :

Bien sûr, voici une solution qui utilise Cloud Run, Cloud Memorystore et Cloud SQL pour une application Web:
Solution de démarrage rapide: application Web à trois niveaux.
Cette solution est une application Web à trois niveaux qui utilise Cloud Run, Cloud Memorystore pour Redis et Cloud SQL pour PostgreSQL L'application utilise Cloud Memorystore pour mettre en cache et Cloud SQL pour stocker des données persistantes.

Pour tester votre nouvelle architecture, vous décidez de suivre des instructions sur la page Web fournie et déployer cet exemple de solution afin que vous puissiez testez et inspectez l'architecture du chemin doré.

Effectuer un nettoyage

Pour éviter que les ressources utilisées soient facturées sur votre compte Google Cloud, dans ce tutoriel, vous pouvez supprimer le projet Google Cloud que vous avez créé pour ce tutoriel. Vous pouvez également supprimer les différentes ressources.

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Étape suivante