Concevoir des modèles d'application standards

Les modèles d'application standards d'Application Design Center vous permettent de définir une architecture préférée et de gérer les ressources et les configurations que les équipes de développement utilisent dans leurs déploiements. Vous pouvez partager un modèle standard avec les membres de votre espace, le publier dans un catalogue pour d'autres espaces ou l'intégrer dans un modèle composite plus grand. Lorsque les développeurs créent une application à partir d'un modèle standard, ils peuvent configurer chaque composant sans ajouter ni supprimer de composants. Chaque modèle génère du code Terraform que les développeurs peuvent télécharger ou déployer directement depuis App Design Center.

Avant de commencer

Pour effectuer les tâches décrites dans ce document, demandez à votre administrateur de vous accorder les rôles nécessaires sur le dossier compatible avec les applications ou le projet de gestion, comme indiqué dans le tableau suivant :

Tâche Rôles requis
Créer, concevoir et modifier des modèles d'application standards Administrateur Application Design Center (roles/designcenter.admin) ou
Utilisateur Application Design Center (roles/designcenter.user)
Publier ou partager des modèles standards dans un catalogue Administrateur Application Design Center (roles/designcenter.admin)

Pour en savoir plus sur les rôles, consultez Contrôle des accès avec IAM.

Créer un modèle d'application standard

Créez des modèles d'application standards pour partager votre conception d'architecture avec les équipes de développement. Vous pouvez ajouter les composants suivants à la conception de votre modèle :

  • Éléments : ressources de haut niveau qui vous aident à contrôler d'autres ressources, telles que les comptes de service.

  • Services : interfaces réseau ou API utilisées sur le réseau, telles que Cloud Storage et Vertex AI.

  • Charges de travail : déploiements binaires qui exécutent des fonctions métier, telles que Cloud Run et Compute Engine.

Vous pouvez sélectionner l'un des composants suivants :

Lorsque vous concevez votre modèle, App Design Center génère du code Terraform pour refléter les détails de la conception et de la configuration.

Spécifier les détails du modèle

Les détails du modèle vous aident à classer votre modèle et aident les développeurs à décider s'ils doivent l'utiliser.

Pour saisir les détails de votre modèle, procédez comme suit :

Canevas de conception

  1. Dans le menu de navigation, cliquez sur Modèles.

    Accéder aux modèles

  2. Cliquez sur Créer un modèle.

  3. Le champ ID du modèle est renseigné automatiquement. Vous pouvez également saisir un identifiant unique pour le modèle. Ce champ est obligatoire.

  4. Dans le champ Nom du modèle, saisissez un identifiant lisible par l'humain à afficher dans la console Google Cloud .

    Si vous n'en indiquez pas, l'ID du modèle est copié dans ce champ.

  5. Dans le champ Description, saisissez une brève explication de l'objectif de l'application.

  6. Cliquez sur Créer un modèle. Le canevas de conception s'affiche.

gcloud CLI

Créer un modèle d'application

gcloud design-center spaces application-templates create APPLICATION_TEMPLATE \
--project=PROJECT \
--location=LOCATION \
--space=SPACE \
--display-name=DISPLAY_NAME \
--description=DESCRIPTION

Remplacez les éléments suivants :

  • APPLICATION_TEMPLATE : ID du modèle d'application que vous souhaitez créer.
  • PROJECT : ID de votre projet de gestion.
  • LOCATION : région du modèle d'application.
  • SPACE : ID de votre espace.
  • DISPLAY_NAME : nom à afficher dans la console Google Cloud .
  • DESCRIPTION : brève description.

Pour en savoir plus, consultez gcloud design-center spaces application-templates create.

Concevoir votre modèle

Concevez votre modèle en ajoutant et en connectant des composants. L'exemple suivant inclut trois composants connectés sur le canevas de conception.

Une application Web à trois niveaux dans le canevas de conception. L'application comprend des composants d'interface, de backend et de base de données.

Vous pouvez concevoir votre modèle en ajoutant des composants aux points de départ suivants :

Pour aider les développeurs à configurer une application basée sur votre modèle, désignez des variables d'entrée et de sortie spécifiques. Les variables vous aident à définir les éléments suivants :

  • Entrées spécifiques que les développeurs doivent fournir lorsqu'ils créent une application basée sur votre modèle. Par exemple, vous pouvez fournir des valeurs de variables distinctes pour chaque environnement lorsque vous déployez une application dans des environnements de développement, de production et de test. Ces variables sont automatiquement exposées dans les fichiers Terraform variables.tf et outputs.tf générés.

  • Connexions entre deux modèles d'application standards intégrés dans un modèle composite. Par exemple, pour créer une connexion dans un modèle composite, un modèle de base de données peut générer une variable de nom de base de données qui est utilisée comme entrée pour un modèle de logique d'application.

Pour concevoir votre modèle, procédez comme suit :

Canevas de conception

  1. Dans le canevas de conception, sélectionnez Design pour afficher le canevas.

  2. Pour commencer, effectuez l'une des opérations suivantes :

    • Pour partir de zéro, dans la zone Composants, cliquez sur un composant pour l'ajouter à la zone du canevas.

    • Pour commencer à partir d'un modèle fourni par Google, cliquez sur le nom du modèle dans la zone Premiers pas du canevas.

    • Pour utiliser le chat en langage naturel afin de générer un modèle, cliquez sur Application personnalisée avec Gemini.

  3. Pour créer un canal de communication entre les composants, effectuez l'une des opérations suivantes :

    • Pour connecter deux composants sur le canevas, faites glisser un point bleu d'un composant vers un point bleu d'un autre composant.

    • Pour ajouter un composant existant, cliquez sur Ajouter, puis sélectionnez le composant à ajouter.

    Pour en savoir plus sur la connexion, consultez la documentation de configuration de chaque ressource compatible.

  4. Pour supprimer un composant ou une connexion, procédez comme suit :

    1. Dans le canevas, cliquez sur le composant ou la connexion.

    2. Dans la zone Configuration, cliquez sur Supprimer.

    3. Dans le champ, saisissez delete.

    4. Cliquez sur Supprimer.

  5. Pour spécifier des variables d'entrée et de sortie pour votre modèle, procédez comme suit :

    1. Cliquez sur Détails du modèle.

    2. Dans le panneau Détails du modèle, cliquez sur l'onglet Variables.

    3. Dans la zone Modifier la variable, procédez comme suit :

      1. Dans la liste Composant, sélectionnez le composant sur lequel repose votre variable.

      2. Dans la liste Type de variable, sélectionnez l'une des options suivantes :

        • Sortie : le composant génère une valeur qui peut être requise pour une connexion. Par exemple, un service Cloud Run peut générer une adresse IP.

        • Entrée : le composant nécessite une entrée du développeur ou d'un autre modèle d'application standard. Par exemple, un modèle de traitement de données peut nécessiter un nom de base de données provenant d'un modèle de stockage de données.

      3. Pour créer une autre variable, cliquez sur Ajouter une variable et répétez ces étapes.

gcloud CLI

  1. Identifiez les URI de révision de modèle pour les composants du catalogue Google que vous souhaitez ajouter au modèle.

    gcloud design-center spaces shared-templates list \
    --google-catalog \
    --location=us-central1
    

    Pour en savoir plus, consultez gcloud design-center spaces shared-templates list.

  2. Ajoutez un composant à votre modèle d'application.

    gcloud design-center spaces application-templates components create COMPONENT \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE \
    --shared-template-revision-uri=SHARED_TEMPLATE_URI
    

    Remplacez les éléments suivants :

    • COMPONENT : ID du composant que vous souhaitez ajouter au modèle.
    • PROJECT : ID de votre projet de gestion.
    • LOCATION : région du modèle d'application.
    • SPACE : ID de votre espace.
    • APPLICATION_TEMPLATE : ID du modèle d'application auquel vous ajoutez le composant.
    • SHARED_TEMPLATE_URI : URI du modèle partagé du composant. Exemple :projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1

    Pour en savoir plus, consultez gcloud design-center spaces application-templates components create.

  3. Ajoutez un deuxième composant à votre modèle.

    gcloud design-center spaces application-templates components create COMPONENT_2 \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE \
    --shared-template-revision-uri=SHARED_TEMPLATE_URI_2
    

    Remplacez les éléments suivants :

    • COMPONENT_2 : ID du deuxième composant que vous souhaitez ajouter au modèle.
    • PROJECT : ID de votre projet de gestion.
    • LOCATION : région du modèle d'application.
    • SPACE : ID de votre espace.
    • APPLICATION_TEMPLATE : ID du modèle d'application auquel vous ajoutez le composant.
    • SHARED_TEMPLATE_URI_2 : URI du modèle partagé du deuxième composant. Exemple :projects/my-project/locations/us-central1/spaces/my-space/sharedTemplates/my-shared-template/revisions/rev1

    Pour en savoir plus, consultez gcloud design-center spaces application-templates components create.

  4. Créez une connexion entre les deux composants.

    gcloud design-center spaces application-templates components connections create CONNECTION \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE \
    --component=COMPONENT \
    --destination-component-uri=COMPONENT_2
    

    Remplacez les éléments suivants :

    • CONNECTION : ID de la connexion que vous souhaitez ajouter au modèle.
    • PROJECT : ID de votre projet de gestion.
    • LOCATION : région du modèle d'application.
    • SPACE : ID de votre espace.
    • APPLICATION_TEMPLATE : ID du modèle d'application auquel vous ajoutez la connexion.
    • COMPONENT : ID du composant source.
    • COMPONENT_2 : ID du composant de destination.

    Pour en savoir plus, consultez gcloud design-center spaces application-templates components connections create.

  5. Ajoutez des variables d'entrée et de sortie pour exiger une entrée de développeur ou pour vous connecter à d'autres composants dans des modèles composites.

    gcloud design-center spaces application-templates update APPLICATION_TEMPLATE \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --add-root-input-variables=componentUri=COMPONENT_URI,variable=VARIABLE \
    --add-root-output-variables=componentUri=COMPONENT_URI,variable=VARIABLE
    

    Remplacez les éléments suivants :

    • APPLICATION_TEMPLATE : ID du modèle d'application auquel vous ajoutez des variables.
    • PROJECT : ID de votre projet de gestion.
    • LOCATION : région du modèle d'application.
    • SPACE : ID de votre espace.
    • COMPONENT_URI : URI du composant sur lequel repose votre variable.
    • VARIABLE : variable de composant que vous souhaitez saisir ou générer. Par exemple, un composant de base de données peut comporter une variable database_name que vous souhaitez afficher ou qui nécessite une entrée de la part des développeurs.

    Pour en savoir plus, consultez gcloud design-center spaces application-templates update.

Configurer les valeurs par défaut des composants

Pour chaque composant que vous ajoutez à un modèle, vous pouvez spécifier des détails de configuration par défaut, tels que le projet et l'emplacement de déploiement de la ressource. App Design Center applique ces valeurs par défaut lorsqu'une application est créée à partir de ce modèle.

Les développeurs d'applications peuvent également modifier les détails de la connexion si la configuration par défaut ne répond pas à leurs exigences. Par exemple, vous pouvez modifier les noms des clés de variable d'environnement, changer les ports de connexion ou ajouter des rôles supplémentaires aux comptes de service lorsque vous créez une application.

Avant de déployer une application, les développeurs peuvent afficher et modifier les valeurs par défaut que vous avez configurées dans le modèle. Les développeurs doivent configurer les détails requis pour chaque ressource compatible.

Pour configurer les composants et les connexions, procédez comme suit :

Canevas de conception

  1. Dans le canevas de conception, cliquez sur un composant.

  2. Dans la zone Configuration, sélectionnez le projet dans lequel vous souhaitez déployer la ressource dans la liste ID du projet. Sélectionnez un projet répondant aux critères suivants :

  3. Configurez des paramètres supplémentaires pour la ressource. Par exemple, pour Cloud SQL, vous pouvez configurer les éléments suivants :

    • Région
    • Configuration des sauvegardes
    • Indicateurs de base de données
    • Configuration IP

    Pour obtenir des liens vers la documentation de configuration de chaque composant, consultez Ressources compatibles.

  4. Lorsque vous connectez des composants sur le canevas de conception, les valeurs de configuration par défaut sont utilisées pour créer la connexion. Pour ajouter ou modifier les détails de la connexion, procédez comme suit :

    1. Dans le canevas de conception, cliquez sur la connexion entre deux composants. Le panneau Connexion s'ouvre et affiche les paramètres de connexion.

    2. Effectuez l'une des opérations suivantes :

      • Pour modifier un paramètre de connexion existant, cliquez sur Modifier.

      • Pour ajouter un paramètre de connexion, cliquez sur Ajouter un paramètre.

    3. Mettez à jour les champs Clé et Valeur. Par exemple, vous pouvez modifier les détails suivants :

      • Les noms des clés des variable d'environnement pour répondre aux exigences de votre application.
      • Valeur du port de connexion.
      • Rôles ajoutés à un compte de service.
  5. Cliquez sur Enregistrer.

gcloud CLI

  1. Décrivez chaque composant du modèle d'application pour afficher ses paramètres.

    gcloud design-center spaces application-templates components describe COMPONENT \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --application-template=APPLICATION_TEMPLATE
    

    Remplacez les éléments suivants :

    • COMPONENT : ID du composant que vous souhaitez décrire.
    • PROJECT : ID de votre projet de gestion.
    • LOCATION : région du modèle d'application.
    • SPACE : ID de votre espace.
    • APPLICATION_TEMPLATE : ID du modèle d'application.

    Pour en savoir plus, consultez gcloud design-center spaces application-templates components describe.

  2. Pour chaque composant que vous souhaitez modifier, créez un fichier JSON dans votre répertoire d'accueil contenant les valeurs des paramètres.

    Par exemple, vous pouvez créer le fichier suivant pour un composant Cloud Run :

      [
          {
            "key": "service_name",
            "value": "frontend-service"
          },
          {
            "key": "project_id",
            "value": "DEPLOYMENT_PROJECT"
          }
      ]
    
  3. Mettez à jour chaque composant du modèle d'application pour configurer les paramètres requis.

    gcloud design-center spaces application-templates components update COMPONENT \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE \
    --parameters=PARAMETERS_FILE_PATH \
    --application-template=APPLICATION_TEMPLATE
    

    Remplacez les éléments suivants :

    • COMPONENT : ID du composant que vous souhaitez mettre à jour.
    • PROJECT : ID de votre projet de gestion.
    • LOCATION : région du modèle d'application.
    • SPACE : ID de votre espace.
    • PARAMETERS_FILE_PATH : fichier JSON incluant les paramètres du composant.
    • APPLICATION_TEMPLATE : ID du modèle d'application.

    Pour en savoir plus, consultez gcloud design-center spaces application-templates components update.

  4. Décrivez les connexions des composants.

    gcloud design-center spaces application-templates components connections describe CONNECTION \
    --component=COMPONENT \
    --application-template=APPLICATION_TEMPLATE \
    --project=PROJECT \
    --location=LOCATION \
    --space=SPACE
    

    Remplacez les éléments suivants :

    • CONNECTION : ID de connexion
    • COMPONENT : ID du composant.
    • APPLICATION_TEMPLATE : ID du modèle.
    • PROJECT : ID de votre projet de gestion.
    • LOCATION : région du modèle d'application.
    • SPACE : ID de votre espace.

    Pour en savoir plus, consultez gcloud design-center spaces application-templates components connections describe.

  5. Modifiez les paramètres de connexion du composant.

    gcloud design-center spaces application-templates components connections update CONNECTION \
        --component=COMPONENT \
        --application-template=APPLICATION_TEMPLATE \
        --project=PROJECT \
        --location=LOCATION \
        --space=SPACE \
        --source-component-parameters='[{"key": "SOURCE_KEY", "value": "SOURCE_VALUE"}]'
    

    Remplacez les éléments suivants :

    • CONNECTION : ID de connexion
    • COMPONENT : ID du composant.
    • APPLICATION_TEMPLATE : ID du modèle.
    • PROJECT : ID de votre projet de gestion.
    • LOCATION : région du modèle d'application.
    • SPACE : ID de votre espace.
    • SOURCE_KEY : nouvelle clé de paramètre.
    • SOURCE_VALUE : nouvelle valeur de paramètre.

    Pour en savoir plus, consultez gcloud design-center spaces application-templates components connections update.

Vérifier la conformité aux frameworks de sécurité

Vous pouvez appliquer un ensemble de règles cohérent à toute application déployée à partir d'un modèle afin d'appliquer des exigences de sécurité spécifiques de votre organisation avant le déploiement. L'exécution d'évaluations lors de la phase de conception du modèle est facultative, mais il est vivement recommandé de résoudre les erreurs de configuration dès le début, car les évaluations sont appliquées lors de la phase de prédéploiement de l'application.

Si vous disposez du niveau Standard de Security Command Center, vos modèles sont validés par rapport au framework Google CloudSecurity Essentials. Si vous disposez du niveau Premium ou Enterprise, vous pouvez créer des frameworks supplémentaires et les associer directement à votre modèle d'application dans une limite au niveau du dossier ou d'un seul projet.

Pour en savoir plus sur l'association de frameworks de sécurité à votre modèle, consultez Appliquer des règles de sécurité.

Modifier le code Terraform

Lorsque vous concevez votre modèle d'application, App Design Center génère du code Terraform pour refléter les détails de conception et de configuration. Vous pouvez modifier le fichier Terraform pour spécifier les détails de configuration des composants.

Le système génère les fichiers Terraform suivants :

  • main.tf : code d'infrastructure incluant un module pour chaque composant du modèle.
  • outputs.tf : expose des informations sur les composants d'infrastructure déployés.
  • variables.tf : déclare le nom, le type et la description des variables utilisées dans le fichier main.tf.
  • input.tfvars : définit les valeurs des variables utilisées dans le fichier main.tf.
  • providers.tf : définit les libellés qui aident Terraform à interagir avec les API et les ressources Google Cloud .

Pour en savoir plus, consultez Présentation de Terraform surGoogle Cloud.

Pour modifier le code Terraform, procédez comme suit :

  1. Dans le canevas de conception, cliquez sur Code. Le système affiche les fichiers Terraform générés.

  2. Cliquez sur main.tf. Le système affiche le module Terraform pour chaque composant.

  3. Modifiez les détails de la configuration. Pour en savoir plus, consultez la documentation de configuration de chaque ressource compatible.

    Le système valide automatiquement vos modifications et affiche des erreurs si elles ne sont pas valides.

  4. Pour mettre en évidence et comparer vos modifications, procédez comme suit :

    1. Cliquez sur Afficher les différences.

    2. Pour annuler une modification, cliquez sur Cliquez pour annuler la modification dans la marge.

    3. Cliquez sur Afficher les différences pour fermer la vue de comparaison.

  5. Pour enregistrer vos modifications, cliquez sur Enregistrer les modifications du code.

  6. Pour vérifier vos modifications, procédez comme suit :

    1. Cliquez sur Design.
    2. Cliquez sur un composant et examinez les détails de sa configuration.

Vérifier votre modèle

Avant de partager votre modèle avec des développeurs, assurez-vous qu'il fonctionne comme prévu. Pour vérifier votre modèle, procédez comme suit :

  1. Créez une application avec les paramètres suivants :
    1. Dans la liste Environnement, sélectionnez TEST.
    2. Dans la liste Criticité, sélectionnez FAIBLE.
  2. Déployez l'application.
  3. Testez votre infrastructure pour vous assurer qu'elle répond à vos exigences.
  4. Pour éviter des frais récurrents, supprimez le déploiement de test.

Partager un modèle dans un catalogue

Une fois que vous avez validé votre modèle, vous pouvez le publier dans un catalogue. Le modèle peut être utilisé par les développeurs d'applications qui ont accès à un espace où le catalogue est partagé.

  1. Dans le canevas de conception, cliquez sur Ajouter au catalogue.
  2. Pour gérer les espaces dans lesquels le catalogue est partagé, consultez Gérer les catalogues.

Modifier et repartager votre modèle

À mesure que vous gagnez en expérience avec votre application et que vos besoins évoluent, vous pouvez mettre à jour votre modèle. Par exemple, vous pouvez décider d'améliorer les performances d'un service de backend en ajoutant un service Memorystore pour la mise en cache.

Lorsque vous modifiez un modèle, vous créez une révision de modèle. Pour appliquer vos modifications aux applications existantes, les développeurs doivent déployer les applications à l'aide de la révision.

App Design Center ne publie pas automatiquement les révisions de modèles dans les catalogues. Pour partager la dernière révision, publiez à nouveau le modèle dans le catalogue.

Pour créer une révision, procédez comme suit :

  1. Dans le menu de navigation, cliquez sur Modèles.

    Accéder aux modèles

  2. Sélectionnez le modèle d'application que vous souhaitez modifier. Le canevas s'ouvre.

  3. Modifiez le modèle pour l'adapter à vos nouvelles exigences. Par exemple, ajoutez et configurez un nouveau composant.

  4. Pour partager la dernière révision avec d'autres espaces, ajoutez à nouveau le modèle à votre catalogue.

Pour supprimer un modèle

Si vous n'avez plus besoin d'un modèle, vous pouvez le supprimer.

Canevas de conception

  1. Dans le canevas de conception, cliquez sur  Actions.
  2. Cliquez sur Supprimer.

gcloud CLI

Supprimez un modèle d'application.

```sh
gcloud design-center spaces application-templates delete APPLICATION_TEMPLATE \
--project=PROJECT \
--location=LOCATION \
--space=SPACE
```

Remplacez les éléments suivants :

  • APPLICATION_TEMPLATE : ID du modèle d'application que vous souhaitez supprimer.
  • PROJECT : ID de votre projet de gestion.
  • LOCATION : région du modèle d'application.
  • SPACE : ID de votre espace.

Pour en savoir plus, consultez gcloud design-center spaces application-templates delete.

Étapes suivantes