Utilisation de projets pour les déploiements IaC

Les projets IBM Cloud® sont une collection nommée de configurations qui sont utilisées pour gérer les ressources et les déploiements liés à travers les comptes, en adoptant une approche Infrastructure as Code (IaC) pour les déploiements. Ils permettent aux équipes de configurer, de déployer et de surveiller les déploiements à l'aide des meilleures pratiques DevOps. Chaque projet inclut des outils permettant d'analyser les changements de ressources potentiellement préjudiciables, la conformité, la sécurité et les coûts, ainsi que le suivi de la gestion des versions de configuration et de la gouvernance. Ils sont conçus avec un IaC et une approche basée sur la conformité qui permet de s'assurer qu'un projet est géré, sécurisé et toujours conforme.

Le diagramme montre le flux qu'un utilisateur utiliserait lorsqu'il travaille avec des projets. L'information est transmise dans le texte environnant.
Understanding the projects workflow.

Après avoir choisi une architecture déployableAutomatisation cloud pour déployer un modèle d'architecture commun combinant une ou plusieurs ressources cloud, conçue pour faciliter le déploiement, l'évolutivité et la modularité. dans le catalogue, vous pouvez ajouter sa configuration à un projet nouveau ou existant et la configurer en fonction des besoins de votre entreprise. Avant d'utiliser la configuration pour déployer des ressources dans un environnement spécifique, la validation est effectuée sur votre code en effectuant des vérifications de validation, des analyses de vulnérabilité et des estimations de coût, de sorte que votre équipe dispose de toutes les informations essentielles dont elle a besoin avant le déploiement. Et, si la validation échoue, l'équipe peut travailler pour mettre à jour la configuration et exécuter à nouveau la validation jusqu'à ce qu'elle aboutisse. Avec une approbation, les ressources peuvent être déployées et surveillées à l'aide de IBM Cloud® Schematics. Ensuite, si une mise à jour de l'architecture déployable devient disponible, votre équipe est avertie dans votre projet et peut mettre à jour la version sur votre planning.

Avantages des projets

Les projets permettent de gérer les déploiements à l'échelle. Ils permettent de s'assurer que vos architectures configurées sont toujours valides, sécurisées et conformes. Etant donné qu'un seul projet peut être déployé sur différents comptes, les projets permettent aux utilisateurs de regrouper les ressources associées dans des comptes afin d'améliorer la collaboration, l'organisation et la gestion des utilisateurs. Les utilisateurs peuvent démarrer plus efficacement sur IBM Cloud en utilisant des projets pour créer des ressources à l'aide d'architectures déployables qui aident à créer des infrastructures de cloud complexes conçues pour répondre aux exigences de haute disponibilité, d'évolutivité, de résilience et de continuité des opérations et de reprise après incident (BC/DR). Un projet est un outil utile pour de nombreuses raisons:

  • Vous pouvez associer un ensemble d'architectures déployables, leurs configurations et les ressources résultantes dans une seule interface. Cela vous aide à gérer vos ressources de manière plus sécurisée et reproductible, tout en gérant simultanément le coût, le statut et l'activité de l'équipe.
  • Les projets offrent une chaîne d'approvisionnement de solution sécurisée en s'assurant que seules les architectures déployables approuvées sont utilisées pour déployer des ressources et en tirant parti des profils sécurisés pour fournir une autorisation sécurisée qui ne nécessite pas de rotation des clés et qui ne peut pas être mal placée.
  • Les projets assurent la gouvernance de votre infrastructure en s'assurant que les changements de configuration sont suivis, approuvés et soumis à des vérifications de validation et de conformité automatisées.
  • Les projets permettent de s'assurer que les problèmes de sécurité et de conformité sont résolus en informant les utilisateurs de projet des nouvelles versions et en les aidant à se déployer en temps opportun.
  • Les projets permettent de gérer l'infrastructure sous forme de code entre les comptes, ce qui permet de gérer toutes les infrastructures liées à un projet à partir d'un seul endroit. Cela permet de surveiller facilement que l'infrastructure de développement et de test est alignée sur l'infrastructure de production en évitant les surprises lorsque les applications passent en production.
  • Les projets aident à la gestion de la comptabilité et de la configuration en veillant à ce que toutes les ressources associées au projet puissent être retracées dans le projet à l'aide de balises et de rapports sur les ressources. Les projets peuvent également être balisés pour fournir un niveau d'organisation plus élevé.

Exploration des cas d'utilisation courants

Les projets permettent d'organiser et de sécuriser les configurations que vous créez à partir d'une architecture déployable ainsi que les ressources résultantes. Si vous êtes une grande organisation ou une grande entreprise, l'utilisation de projets IBM Cloud présente plusieurs avantages. Explorez ces cas d'utilisation populaires pour apprendre à adapter les projets à vos besoins métier.

Conformité et gouvernance de l'équipe de gauche
Lorsque vous déployez et exploitez une infrastructure partagée, les projets permettent d'organiser et de regrouper les configurations et les déploiements associés dans un seul emplacement, même dans des environnements différents. Les projets exécutent des vérifications de sécurité et de conformité de prédéploiement pour s'assurer que votre architecture déployable respecte toujours sa conformité réclamée au point de déploiement. Un administrateur de projet ou un éditeur distinct doit réviser et approuver les modifications, fournissant une couche supplémentaire de gouvernance.
Déploiement automatisé entre les comptes
Les projets peuvent être déployés sur n'importe quel compte, ce qui permet d'isoler plus facilement vos environnements dans des comptes distincts. Cela vous permet d'organiser et de gérer les configurations dans les environnements à partir d'une seule vue. Etant donné que les projets déploient des modifications via l'automatisation, ils réduisent les risques d'erreur humaine ou d'écart entre les environnements. Vous pouvez même verrouiller l'accès à vos comptes les plus sensibles et exiger que des modifications soient apportées à l'aide de projets.
Suivi de la maintenance et des mises à jour en cours
Les projets vous aident à gérer les mises à jour de l'architecture et à maintenir la conformité. En plus d'effectuer des analyses de conformité continues, les projets vous informent des mises à jour de version de l'architecture, des échecs de validation et des mises à jour de cluster requises. Les projets étant intégrés au service IBM Cloud de Event Notifications, vous pouvez acheminer les notifications de projet vers Slack, PagerDuty, et d'autres outils tiers.
Génération et partage d'architectures personnalisées à l'aide de catalogues privés
Les architectures déployables sont conçues pour être modulaires et flexibles. Vous pouvez créer des architectures déployables personnalisées et les partager avec votre équipe à l'aide de catalogues privés en ajoutant l'architecture à un nouveau projet. Vous pouvez télécharger un bundle de code à partir de la page de catalogue de l'architecture déployable, le personnaliser si nécessaire, puis le télécharger dans un référentiel que vous spécifiez. Une fois l'architecture personnalisée déployée, les pipelines d'EC et de CD vérifient la conformité des modifications et vous permettent de partager l'architecture directement dans un catalogue privé. Les catalogues privés facilitent la consommation et l'envoi des mises à jour de version à votre équipe.
Gérer le cycle de vie de votre infrastructure
Les projets vous aident à gérer, suivre et gérer votre infrastructure du début à la fin. A mesure que le cycle de vie de votre infrastructure change, vous pouvez utiliser des projets pour nettoyer facilement les ressources de projet qui ne sont plus nécessaires. Si un projet est terminé et n'est plus nécessaire, l'ensemble du projet et toutes les ressources associées dans tous les engagements peuvent être supprimés. En outre, un projet peut être mis en pause en supprimant les ressources associées tout en conservant le projet et ses configurations. Cela facilite la reprise du projet par la suite.
Génération de rapports et gestion des coûts
Les projets aident à la gestion des coûts et à d'autres types de génération de rapports en balisant automatiquement toutes les ressources créées et en fournissant un inventaire des ressources dans le projet. Par exemple, lorsqu'un rapport d'utilisation est généré, les balises de projet sont incluses, ce qui permet à l'équipe comptable d'allouer des coûts aux projets sans effort supplémentaire. D'autres types de tâches de gestion de la configuration, telles que la détermination d'un inventaire de types particuliers d'applications ou de ressources, peuvent également être réalisés par le balisage de projet et les vues de ressources.

Concepts essentiels

Passez en revue les concepts et processus suivants pour vous aider à utiliser les projets de votre compte.

Configurations

Un projet unique gère généralement des configurations pour un ou plusieurs modèles appelés architectures déployables dans IBM Cloud. L'ensemble des valeurs d'entrée et l'architecture que vous configurez ensemble deviennent une configuration. En plus de fournir des flux de travaux de révision et d'approbation, les projets surveillent chaque configuration pour les mises à jour de coût, de conformité et de version à partir du catalogue.

Généralement, un projet contient plusieurs configurations de chaque architecture. Une architecture peut avoir des configurations distinctes pour les environnements de développement, de test et de production, ou pour trois régions distinctes, qui se trouvent toutes dans l'environnement de production.

Architectures déployables

Les projets fournissent la gouvernance et la gestion des architectures déployables, qui sont des modèles conçus pour adopter une infrastructure en tant qu'approche de code pour la gestion des déploiements. Les architectures déployables personnalisées peuvent être développées à l'aide des outils de votre choix et peuvent être ajoutées à un catalogue privé dans la console IBM Cloud. Vous devez sélectionner Architecture déployable comme type de produit que vous intégrez pour qu'il soit utilisé avec des projets.

Outils de projet

Les projets disposent de pipelines de validation et de stockage de configuration versionnés internes pour prendre en charge la gouvernance de projet. Les projets optimisent également les espaces de travail Schematics pour stocker l'état Terraform de chaque configuration et exécuter l'automatisation. Ces espaces de travail se trouvent dans la région et le groupe de ressources que vous spécifiez lorsque vous créez le projet. L'espace de travail Schematics est également balisé avec le nom de projet, ce qui facilite l'identification de cet espace de travail parmi d'autres.

Ne supprimez pas ou ne modifiez pas directement ces espaces de travail. Cela peut entraîner une perte de suivi de l'état de configuration des projets, ce qui peut entraîner la création de ressources en double et d'autres problèmes. Pour empêcher les utilisateurs de modifier les espaces de travail, les administrateurs du service Projets ne doivent pas accorder aux utilisateurs l'accès au service Schematics.

Profils sécurisés

Les profils sécurisés autorisent l'accès inter-comptes pour les applications. Etant donné que les profils sécurisés peuvent générer des clés d'API d'ID de service temporaires qui n'existent que pendant le cycle de vie de l'opération, les projets les utilisent comme moyen sécurisé et conforme pour autoriser une configuration à se déployer. Contrairement aux autres méthodes d'authentification, les profils sécurisés ne nécessitent pas de rotation des clés. Créez un profil sécurisé qui peut gérer les clés d'API pour l'ID de service de votre compte, qui déploie l'architecture déployable.

Secrets Manager

Avec Secrets Manager, vous pouvez créer et gérer de manière centralisée les secrets utilisés dans les architectures déployables IBM Cloud. Les secrets sont un moyen simple et conforme de stocker des informations sensibles, telles que des clés d'API, des clés SSH, des données d'identification de base de données, etc. Créez une instance de serviceSecrets Manager dans votre compte d'accueil de projet que vous pouvez utiliser pour tous les projets de ce compte.

Secrets Manager peut également être utilisé pour stocker des clés d'API qui sont utilisées pour autoriser un projet à déployer des ressources dans un compte, bien qu'il existe d'autres options. Pour plus d'informations, voir Utilisation d'une clé d'API ou d'un secret pour autoriser un projet à déployer une architecture.

Coûts du projet

Bien qu'il n'y ait pas de frais pour un projet, il peut y avoir des coûts pour toutes les ressources créées par une architecture déployable. Ces ressources sont facturées normalement dans IBM Cloud. Lorsque vous personnalisez la configuration de votre architecture déployable, un coût de départ est estimé en fonction des données disponibles. Pour plus d'informations sur l'estimation du coût d'un projet, voir Estimation du coût.

Vous n'êtes pas facturé lors de la personnalisation d'une architecture déployable. Vous commencez à encourir des frais après son déploiement.

Eléments nécessitant une attention particulière

Les projets surveillent les configurations en vérifiant qu'elles passent avec succès divers tests automatisés, qu'elles reçoivent une approbation et qu'elles sont mises à jour lorsque de nouvelles versions sont disponibles dans le catalogue. Lorsque le projet requiert l'attention de l'utilisateur pour l'une de ces raisons, les informations opérationnelles clés sont affichées dans le tableau de bord du projet en tant qu'élément nécessitant une attention particulière. Pour plus d'informations sur la manière de traiter chaque type de notification d'attention requise, voir Affichage des éléments d'attention requise.

Les projets prennent en charge l'envoi de notifications nécessitant une attention particulière au service IBM Cloud® Event Notifications, ce qui permet de les filtrer et de les acheminer comme souhaité vers Slack, le courrier électronique et d'autres systèmes.

Initiation aux projets

Maintenant que vous avez appris les bases d'un projet, consultez la rubrique Configuration et déploiement d'une architecture déployable pour commencer à générer et consultez le livre blanc Architecture de compte d'entreprise afin de vous assurer que votre compte est configuré conformément aux meilleures pratiques IBM Cloud.