Optimiser les coûts des applications avec Gemini Cloud Assist

1. Introduction

Gemini Cloud Assist est un agent complet qui prend en charge vos charges de travail Google Cloud. Il vous aide à concevoir de nouvelles applications ou à mettre à jour celles existantes, à déployer et à exécuter des charges de travail dans Google Cloud, à résoudre les problèmes liés aux charges de travail et à les optimiser en termes de coûts et de performances.

Gemini Cloud Assist optimise vos coûts et vos performances en vous fournissant des recommandations et des insights proactifs, en vous aidant à dimensionner correctement les ressources, à identifier les inefficacités et à améliorer en permanence l'efficacité de votre application au fil du temps.

Points abordés

  1. Configurer un service multirégional
  2. Utiliser Gemini Cloud Assist pour analyser vos coûts
  3. Obtenir des recommandations pour améliorer les coûts et les performances de votre service

2. Configurer votre projet

Configuration du projet

Créer un projet Google Cloud

  1. Dans la console Google Cloud, sur la page du sélecteur de projet, sélectionnez ou créez un projet Google Cloud.
  2. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet.

Démarrer Cloud Shell

Cloud Shell est un environnement de ligne de commande exécuté dans Google Cloud, qui est préchargé avec les outils nécessaires.

  1. Cliquez sur Activer Cloud Shell en haut de la console Google Cloud.
  2. Une fois connecté à Cloud Shell, vérifiez votre authentification :
    gcloud auth list
    
  3. Vérifiez que votre projet est configuré :
    gcloud config get project
    
  4. Si votre projet n'est pas défini comme prévu, définissez-le :
    export PROJECT_ID=<YOUR_PROJECT_ID>
    gcloud config set project $PROJECT_ID
    

3. Activer les API

Activez les API suivantes pour déployer les composants de l'application et utiliser Google Cloud Assist :

Dans le terminal, activez les API :

gcloud services enable \
  geminicloudassist.googleapis.com \
  run.googleapis.com \
  cloudbuild.googleapis.com \
  storage.googleapis.com \
  compute.googleapis.com \
  artifactregistry.googleapis.com \
  cloudasset.googleapis.com \
  recommender.googleapis.com \
  appoptimize.googleapis.com \
  monitoring.googleapis.com \
  cloudscheduler.googleapis.com

Une fois la commande exécutée, un résultat semblable aux lignes suivantes s'affiche :

Operation "operations/acf.p2-176675280136-b03ab5e4-3483-4ebf-9655-43dc3b345c63" finished successfully.

4. Préparer le projet

Vous allez créer l'application et le déploiement de base afin de tester Gemini Cloud Assist.

Cloner le dépôt

  1. Clonez le dépôt dans votre environnement Cloud Shell :
git clone --depth 1 https://github.com/GoogleCloudPlatform/devrel-demos.git
  1. Accédez au répertoire de démonstration :
cd infrastructure/cross-region-demo

5. Déployer l'application

Le code de l'application et les ressources Google Cloud sont prêts à être déployés. Cette opération peut prendre jusqu'à 15 minutes.

Configurer le projet

Exécutez la commande ci-après à partir du terminal :

chmod +x scripts/setup.sh
./scripts/setup.sh

Ce script valide l'activation de l'API pour le projet et crée les liaisons de stratégie requises pour que vous puissiez créer des ressources.

Déployer les composants de l'application

Exécutez la commande ci-après à partir du terminal :

chmod +x scripts/deploy.sh
./scripts/deploy.sh

Ce script déploie les ressources Google Cloud, y compris :

  • les services Cloud Run pour l'interface et le backend ;
  • les buckets Cloud Storage pour les transferts d'objets ;
  • la tâche Cloud Scheduler pour exécuter des transferts selon une programmation temporelle afin de créer du trafic.

Pendant le déploiement des composants, parcourez les fichiers dans l'éditeur Cloud Shell pour en savoir plus.

6. Afficher le service déployé

Ouvrez Cloud Run dans le volet de gauche. Cliquez ensuite sur le service two-tier-frontend.

Vous pouvez déclencher différents modèles dans le service pour les types de trafic interrégional, y compris les transferts d'objets de bucket et les transferts via des appels d'API entre les services.

La tâche Cloud Scheduler s'exécutera automatiquement pour commencer à remplir les données de coûts. Cette opération prend environ 24 heures.

7. Afficher les insights d'optimisation

Après avoir exécuté le trafic pendant environ une journée (les métriques de coûts sont mises à jour vers 00h00, heure du Pacifique), le tableau de bord sera prêt.

Remarque : Si aucune donnée de coûts ne s'affiche, revenez le lendemain.

Ouvrir le tableau de bord d'optimisation

Ouvrez Optimisation Cloud Hub.

Vous verrez quelque chose comme ceci :

Tableau de bord d&#39;optimisation Cloud Hub

Le tableau de bord d'optimisation contient les frais Cloud Billing sur la période précédente (par défaut, 7 jours).

Faites défiler le tableau de bord pour afficher des insights, y compris les principaux locuteurs représentant le trafic réseau dans le projet.

Discuter avec Gemini Cloud Assist

Ouvrez Gemini Cloud Assist en cliquant sur l'icône en forme d'étincelle dans la barre de navigation supérieure.

Dans la discussion Gemini Cloud Assist, posez une question telle que : Why are my networking costs so high? (Pourquoi mes coûts de mise en réseau sont-ils si élevés ?). Gemini Cloud Assist analyse les frais de mise en réseau spécifiques de votre projet et propose un ensemble d'idées pour corriger votre trafic réseau.

Vous verrez quelque chose comme ceci :

Chat Gemini Cloud Assist

8. Supprimer des ressources

Pour empêcher les services de continuer à générer du trafic et des journaux, ouvrez l'éditeur Cloud Shell et exécutez la commande suivante :

Exécutez la commande ci-après à partir du terminal :

cd ~/devrel-demos/infrastructure/cross-region-demo
chmod +x scripts/destroy.sh
./scripts/destroy.sh

9. Félicitations

Félicitations ! Vous avez terminé cette introduction à l'optimisation cloud et au processus d'optimisation des coûts et des performances de votre application sur Google Cloud.

Étape suivante