Ajouter des options personnalisables à votre architecture déployable

Ce tutoriel vous présente une façon d'étendre une architecture déployable avec des options personnalisables pour répondre aux besoins de votre entreprise. Suivez ce tutoriel pour apprendre à créer une nouvelle version d'une architecture déployable existante dans votre catalogue privé et à y ajouter d'autres architectures que les utilisateurs peuvent choisir d'inclure.

Imaginez que vous êtes un professionnel de l'ingénierie de l'automatisation de l'informatique en nuage pour l'entreprise fictive Example Corp. Vous avez précédemment personnalisé une architecture déployable appelée Example Corp's infrastructure et l'avez ajoutée à un catalogue privé. Cette architecture déployable personnalisée est la base sur laquelle les applications d'Example Corp seront construites. Vous souhaitez maintenant donner à vos développeurs de logiciels des options de base de données à utiliser avec Example Corp's infrastructure. Après avoir parcouru le catalogue IBM Cloud, vous décidez de donner à vos développeurs le choix entre deux architectures déployables qui créent des bases de données différentes :

Automatisation de l'informatique en nuage pour Databases for Elasticsearch
Cette architecture déployable crée une instance de Elasticsearch, qui est une base de données NoSQL adaptée à la recherche plein texte et à l'interrogation de grands ensembles de données. Cette base de données est un choix approprié pour l'application d'Example Corp, car elle est suffisamment souple pour traiter des données non structurées et semi-structurées telles que du texte, des images et des vidéos. Ce tutoriel a été créé sur la base de la version 1.32 de l'architecture déployable, mais vous pouvez utiliser une version plus récente si vous le souhaitez.
Automatisation de l'informatique en nuage pour Databases for PostgreSQL
Cette architecture déployable crée une instance de PostgreSQL, qui est une base de données SQL pour les requêtes relationnelles et les données structurées. Cette base de données est un autre choix approprié pour Example Corp, car elle gère des données transactionnelles structurées pour offrir aux utilisateurs des applications personnalisées. Ce tutoriel a été créé sur la base de la version 3.22, mais vous pouvez utiliser une version plus récente si vous le souhaitez.

Ce tutoriel utilise un scénario fictif pour vous aider à comprendre comment créer une architecture déployable plus complexe en l'empilant avec d'autres architectures. Au fur et à mesure que vous complétez le tutoriel, adaptez chaque étape aux besoins de votre organisation.

Avant de commencer

  1. Assurez-vous d'utiliser un compte Paiement à la carte ou Abonnement en accédant à Gérer > Compte > Paramètres de compte dans la console IBM Cloud.

  2. Vérifiez que les rôles suivants vous ont été attribués : IBM Cloud Identity and Access Management (IAM):

    • Administrateur de tous les services de gestion des comptes et de tous les services IAM.
    • Editeur sur le service de gestion de catalogue.
    • Rôle d'accès au service Manager pour Schematics.
    • Autres rôles requis pour des ressources spécifiques dans votre architecture déployable. L'automatisation du cloud pour Code Engine nécessite le rôle d'accès au service Writer qui est limité à toutes les ressources du service Code Engine.

    Pour plus d'informations, voir Attribution de l'accès aux services de gestion des comptes et Gestion de l'accès aux ressources.

  3. Créer une architecture déployable personnalisée appelée Example Corp's infrastructure et l'intégrer à un catalogue privé appelé Example Corp catalog. Cette architecture est celle que vous allez étendre au cours de ce tutoriel.

  4. Définir une méthode d'authentification. Vous pouvez utiliser une clé API stockée sur Secrets Manager ou un profil de confiance pour autoriser un déploiement vers votre compte cible.

    Déploiement d'une validation de principe à des fins de test? Vous pouvez créer une clé API ultérieurement, lorsque vous modifiez une configuration dans votre projet. Cette opération autorise le projet à se déployer sur le compte actuellement sélectionné.

Création d'une version d'une architecture déployable

Comme Example Corp's infrastructure est déjà disponible dans un catalogue privé, vous devez le mettre à jour avec une nouvelle version.

  1. Dans la console IBM Cloud, cliquez sur Gérer > Catalogues > Catalogues privés et ouvrez le catalogue privé Example Corp catalog.
  2. Sélectionnez l'infrastructure de la société Exemple dans la liste des produits.
  3. Cliquez sur Versions > Ajouter une version
  4. Sélectionnez Terraform comme méthode de livraison.
  5. Indiquez si votre dépôt est public ou privé et fournissez la source URL. Pour les besoins de ce tutoriel, vous pouvez utiliser la même source URL que celle que vous avez utilisée pour embarquer la version 0.0.1 de Example Corp's infrastructure.
  6. Sélectionnez Deploy Example Corp AI app on IBM Cloud Code Engine comme variation.
  7. Entrez 0.0.2 pour la version du logiciel.
  8. Cliquez sur Ajouter une version

À partir de là, vous pouvez configurer les détails de la version que vous avez ajoutée.

Extension de l'infrastructure de la société Exemple par l'ajout d'options de base de données

Au fur et à mesure que vous configurez les détails de la version, étendez Example Corp's infrastructure en l'associant à deux autres architectures déployables qui créent des bases de données différentes. Vous voulez que vos utilisateurs choisissent IBM Cloud Databases for Elasticsearch ou IBM Cloud Databases for PostgreSQL. Procédez comme suit :

  1. À l'étape 3 - Étendre votre architecture, cliquez sur Ajouter.

  2. Dans le menu Produit, recherchez Cloud automation for Databases for Elasticsearch et sélectionnez-le.

  3. User Semantic Versioning Specification ( SemVer ) pour dresser la liste des versions de l'architecture qui fonctionnent avec l'infrastructure de Example Corp.

    En règle générale, les versions de correctifs ne contiennent pas de modifications importantes. Vous pouvez donc utiliser SemVer pour spécifier une plage de versions compatibles avec l'infrastructure d'Example Corp, par exemple ~1.32. Ainsi, si l'automatisation Cloud pour Databases for Elasticsearch est mise à jour avec une version patch vers 1.32.5, par exemple, tout utilisateur ayant déployé Example Corps avec Elasticsearch peut mettre à jour son projet afin d'utiliser la nouvelle version. Pour les changements de version majeurs, Elasticsearch créez une nouvelle version de l'infrastructure d'Example Corp afin de vous assurer que la Elasticsearch nouvelle version fonctionne correctement avec votre architecture.

  4. Sélectionnez la variante standard.

  5. Spécifiez Standard comme variation par défaut, c'est-à-dire la variation sélectionnée par défaut pour les utilisateurs.

  6. Sélectionnez Optional dans le menu Relationship, car l'architecture n'est pas nécessaire pour déployer Example Corp's infrastructure.

  7. (Facultatif) fournir une description de l'affichage pour aider les utilisateurs à comprendre comment cette architecture fonctionne avec Example Corp's infrastructure et quels sont les avantages qu'elle offre. Par exemple, entrez : NoSQL database for full-text searching and querying large datasets.

  8. Cliquez sur Ajouter.

Maintenant que vous avez ajouté l'automatisation du nuage pour Databases for Elasticsearch, répétez les étapes, mais cette fois-ci, recherchez Cloud automation for Databases for PostgreSQL. Pour la description de l'affichage facultatif, entrez SQL database for relational queries and structured data.

Rendre les bases de données interchangeables

Maintenant que vous avez ajouté les deux bases de données comme optionnelles à Example Corp's infrastructure, vous pouvez spécifier qu'elles sont permutables l'une avec l'autre. Vos utilisateurs peuvent choisir l'option de base de données qu'ils souhaitent utiliser avec Example Corp's infrastructure. Procédez comme suit :

  1. À l'étape 3 - Étendre votre architecture, cochez la case Automatisation du cloud pour Databases for Elasticsearch.
  2. Cochez la case Automatisation du cloud pour Databases for PostgreSQL.
  3. Cliquez sur le groupe comme étant interchangeable.
  4. Saisissez Databases comme nom de groupe et cliquez sur Ajouter.
  5. Cliquez sur Suivant.

Définir des variables pour vos utilisateurs

Maintenant que vous avez ajouté quelques options de base de données à votre architecture, vous devez définir des variables pour vos utilisateurs. Cela permet de relier les entrées des architectures, ce qui facilite la configuration de Example Corp's infrastructure par vos utilisateurs en vue du déploiement.

  1. À l'étape 4 - Configuration des détails du déploiement, cliquez sur Définir les variables.

    La fenêtre Définir les variables s'affiche avec l'option Automatisation Databases for Elasticsearch cloud sélectionnée pour vous, afin que vous puissiez accéder aux entrées et sorties de cette architecture. À partir de là, vous pouvez soit ajouter des références, soit déplacer des entrées vers Example Corp's infrastructure afin que les utilisateurs puissent les configurer.

  2. Lors de la création de Example Corp's infrastructure, la région était limitée aux États-Unis. Pour s'assurer que Cloud automation for Databases for Elasticsearch utilise la même région que Example Corp's infrastructure, ajoutez une référence pour les relier en suivant les étapes suivantes :

    1. Dans la fenêtre Entrées requises pour l'automatisation du cloud pour Databases for Elasticsearch, sélectionnez l'icône Référence à une variable Référence à une variable pour l'entrée region.
    2. Sélectionnez ensuite la région dans le menu Nom de la variable.
    3. Cliquez sur Ajouter. Lorsqu'un utilisateur configure l'entrée region dans Example Corp's infrastructure, l'automatisation du nuage pour Databases for Elasticsearch utilisera la valeur fournie par l'utilisateur comme entrée.
  3. Puisque Example Corp's infrastructure contient également une entrée prefix, effectuez les mêmes étapes pour l'entrée prefix dans Cloud automation pour Databases for Elasticsearch:

    1. Sélectionnez l'icône Référence à une variable Référence à une variable pour l'entrée prefix.
    2. Sélectionnez ensuite préfixe dans le menu Nom de la variable.
    3. Cliquez sur Ajouter.
  4. Puisque Example Corp's infrastructure contient une entrée pour existing_resource_group_name, vous pouvez utiliser ce même groupe de ressources pour l'automatisation du nuage pour Databases for Elasticsearch:

    1. Sélectionnez l'icône Référence à une variable Référence à une variable pour l'entrée resource_group_name.
    2. Ensuite, sélectionnez nom_du_groupe_de_ressources_existant dans le menu Nom de la variable.
    3. Cliquez sur Ajouter.
  5. Définissez la valeur par défaut de use_existing_resource_group sur true pour indiquer que vos utilisateurs ont besoin d'un groupe de ressources existant pour votre architecture.

  6. Pour simplifier l'installation et réduire les coûts d'un environnement de développement, supprimez l'exigence de cryptage des clés en suivant les étapes suivantes :

    1. Fixez la valeur par défaut de existing_kms_instance_crn à __NULL__.
    2. Cliquez sur Entrées optionnelles.
    3. Fixer la valeur par défaut de use_ibm_owned_encryption_key à true.
    4. Fixez la valeur par défaut de plan à enterprise.
    5. Fixez la valeur par défaut de member_cpu_count à 2.
    6. Fixez la valeur par défaut de member_host_flavor à multitenant.

Maintenant que vous avez défini des variables pour Cloud automation for Databases for Elasticsearch, vous devez définir des variables pour l'autre option de base de données que vous avez incluse : Cloud automation pour Databases for PostgreSQL. Procédez comme suit :

  1. Dans la fenêtre Définir les variables, utilisez le menu architecture pour passer de Cloud automation for Databases for Elasticsearch à Cloud automation for Databases for PostgreSQL.
  2. Cliquez sur Entrées requises et supprimez l'exigence de cryptage des clés en définissant la valeur par défaut de existing_kms_instance_crn sur __NULL__.
  3. Les trois autres entrées requises dans cette architecture peuvent toutes faire référence à des entrées déjà disponibles sur le site Example Corp's infrastructure. Suivez les étapes suivantes pour ajouter des références à ces entrées :
    1. Sélectionnez l'icône Référence à une variable Référence à une variable pour resource_group_name, puis sélectionnez nom_du_groupe_de_ressources_existant dans le menu Nom de la variable. Cliquez sur Ajouter, et l'entrée resource_group_name dans Cloud automation pour Databases for PostgreSQL fera référence à la valeur existing_resource_group_name de l'infrastructure de Example Corp fournie par votre utilisateur.
    2. Sélectionnez l'icône Référence à une variable Référence à une variable pour prefix et sélectionnez préfixe dans le menu Nom de la variable et cliquez sur Ajouter.
    3. Sélectionnez l'icône Référence à une variable Référence à une variable pour region et sélectionnez région dans le menu Nom de la variable et cliquez sur Ajouter.
  4. Cliquez sur Entrées optionnelles.
  5. Définissez la valeur par défaut de use_existing_resource_group sur true pour indiquer que vos utilisateurs ont besoin d'un groupe de ressources existant pour votre architecture.
  6. Fixer la valeur par défaut de use_ibm_owned_encryption_key à true.
  7. Cliquez sur Sauvegarder.

Communiquer les changements à vos utilisateurs

La dernière version de Example Corp's infrastructure ne contient pas de changements radicaux, mais elle inclut de nouvelles fonctionnalités que vos utilisateurs doivent connaître. Informez vos utilisateurs des nouvelles options de base de données qu'ils peuvent utiliser avec Example Corp's infrastructure en ajoutant un avis de modification. Procédez comme suit :

  1. À l'étape 6 - Ajouter des avis de modification, cliquez sur Ajouter une nouvelle fonctionnalité.
  2. Dans le champ Titre, saisissez Database options added to Example Corp's infrastructure.
  3. Pour la description, saisissez Version 0.0.2 includes two optional databases that you can choose to add. You can either use Cloud automation for Databases for Elasticsearch, or Cloud automation for Databases for PostgreSQL.
  4. Cliquez sur Sauvegarder.

Dans le menu Actions, sélectionnez Générer un manifeste pour télécharger les dernières modifications. La meilleure pratique consiste à télécharger les fichiers et à les ajouter à votre dépôt de code source afin que vos modifications soient prises en compte dans la prochaine version.

Valider les architectures en les déployant à partir d'un projet

La version 0.0.2 de Example Corp's infrastructure est désormais disponible en tant que projet dans votre catalogue privé. Tout utilisateur ayant accès à votre catalogue privé peut le déployer. Pour s'assurer que les options de la base de données fonctionnent avec Example Corp's infrastructure, déployez-le deux fois à partir de votre projet. Pour un déploiement, inclure Elasticsearch. Et, pour l'autre déploiement, inclure PostgreSQL. En déployant l'architecture deux fois, vous vérifiez que les deux options de base de données fonctionnent avec Example Corp's infrastructure comme prévu.

Avant de pouvoir partager Example Corp's infrastructure avec votre entreprise, vous devez valider la version lorsque vous l'intégrez à votre catalogue privé. Actuellement, la validation de la version dans le catalogue ne valide pas les architectures que vous avez empilées avec les vôtres. Le déploiement des architectures d'un projet alors que Example Corp's infrastructure est à l'état de projet dans le catalogue privé permet de s'assurer que les architectures que vous avez incluses fonctionnent correctement avec Example Corp's infrastructure.

Déployer l'infrastructure de Example Corp avec Elasticsearch

  1. Allez dans le catalogue IBM Cloud et ouvrez le catalogue privé Example Corp catalog.

  2. Sélectionnez l'infrastructure de la société Example Corp pour ouvrir son catalogue.

  3. Assurez-vous que 0.0.2 est sélectionné comme version.

  4. Cliquez sur Créer un projet, nommez le nouveau projet Testing Example Corp infrastructure, puis cliquez sur Créer.

  5. Cliquez sur l'icône Paramètres du projet Icône, modifiez le nom de la configuration en Example Corp infrastructure with Elasticsearch, puis cliquez sur Enregistrer.

  6. Dans la section Présentation de l'architecture déployable, cliquez sur Personnaliser, assurez-vous que l'option Automatisation cloud pour Databases for Elasticsearch est sélectionnée, puis cliquez sur Enregistrer.

  7. Cliquez sur Configurer et déployer.

  8. Configurez l'architecture en suivant les étapes suivantes :

    1. Dans la section Détails, vérifiez les informations et cliquez sur Suivant.
    2. Dans la section Sécurité, indiquez une méthode d'authentification à déployer sur votre compte cible et cliquez sur Suivant. Utilisez un profil de confiance ou une clé API.
    3. Dans la section Entrées, entrez test-south comme valeur pour la variable d'entrée prefix.
    4. Sélectionnez Défaut pour la variable d'entrée existing_resource_group_name.
    5. Sélectionnez us-south pour la variable d'entrée region.
    6. Cliquez sur Enregistrer pour sauvegarder la configuration de Example Corp's infrastructure.
  9. Cliquez sur Valider. La fenêtre modale qui s'affiche fournit plus de détails sur la validation en cours.

    Si la validation échoue, vous pouvez résoudre le problème. Ou bien, un administrateur du service IBM Cloud Projets peut examiner les résultats par l'intermédiaire du service Schematics, passer outre l'échec et approuver la configuration pour la déployer quand même. Cependant, il faut s'assurer que l'échec du pipeline est dû à l'analyse du Code Risk Analyzer et non à une défaillance de la validation ou du plan. Il n'est pas recommandé d'ignorer un échec signalé en raison d'un échec de validation ou de planification, car la configuration ne peut pas être déployée avec succès. Pour plus d'informations sur la sécurité et la conformité dans les projets, voir Atteindre une conformité continue en tant qu'entreprise.

  10. Une fois la validation terminée, approuvez et déployez les modifications :

    1. Dans le projet Testing Example Corp infrastructure, sélectionnez l'onglet Configurations.
    2. Cliquez sur Example Corp infrastructure with Elasticsearch > Afficher les détails pour consulter la dernière validation et approuver les modifications.
    3. Ajoutez un commentaire avec plus de détails sur l'approbation, puis cliquez sur Approuver.
  11. Cliquez sur Déployer et attendez la fin du déploiement.

    Si le déploiement a réussi, vous savez alors que Example Corp's infrastructure fonctionne comme prévu Elasticsearch avec.

  12. Enfin, il faut annuler le déploiement des ressources créées par les architectures. Dans l'onglet Configurations du projet, cliquez sur l'icône Options Icône des options pour Example Corp infrastructure with Elasticsearch > Déploiement.

Déployer l'infrastructure de Example Corp avec PostgreSQL

Procédez de la même manière pour vérifier que Example Corp's infrastructure fonctionne avec PostgreSQL:

  1. Dans l'onglet Configurations du projet Testing Example Corp infrastructure, cliquez sur Créer et ouvrez le catalogue privé Example Corp catalog.

  2. Sélectionnez l'infrastructure de la société Example Corp pour ouvrir son catalogue.

  3. Assurez-vous que 0.0.2 est sélectionné comme version.

  4. Assurez-vous que l'infrastructure Testing Example Corp est sélectionnée comme projet.

  5. Cliquez sur l'icône Paramètres du projet Icône, modifiez le nom de la configuration en Example Corp infrastructure with PostgreSQL, puis cliquez sur Enregistrer.

  6. Dans la section Présentation de l'architecture déployable, cliquez sur Personnaliser, assurez-vous que l'option Automatisation cloud pour Databases for PostgreSQL est sélectionnée, puis cliquez sur Enregistrer.

  7. Cliquez sur Configurer et déployer.

  8. Configurer l'architecture. Ensuite, il faut le valider, l'approuver et le déployer pour vérifier que Example Corp's infrastructure fonctionne avec PostgreSQL comme prévu.

    Lorsque vous configurez l'architecture, sélectionnez us-east pour la variable d'entrée region afin de confirmer que l'architecture peut être déployée à la fois dans les régions du sud et de l'est des États-Unis. Saisissez test-east comme préfixe pour indiquer la région dans laquelle les ressources sont déployées.

  9. Déployez les configurations de votre projet pour dé-déployer les ressources.

Etapes suivantes

Poursuivre l'intégration de la dernière version de Example Corp's infrastructure. Lorsque vous avez terminé, une nouvelle version de l'architecture déployable est disponible pour les utilisateurs. Lorsqu'ils ajoutent la nouvelle version à un projet, ils peuvent la personnaliser en incluant l'automatisation du nuage pour Databases for Elasticsearch ou l'automatisation du nuage pour Databases for PostgreSQL.

Si un utilisateur a déjà déployé la version précédente de Example Corp's infrastructure, il est invité dans son projet à mettre à jour l'architecture avec la dernière version.