Pulumi - AWS Conseils prescriptifs

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Pulumi

Pulumi est une plateforme IaC qui n'est pas exclusivement conçue pour GitOps. Cependant, il peut être utilisé efficacement pour mettre en œuvre des GitOps principes, en particulier pour l'infrastructure cloud et les déploiements de Kubernetes.

GitOps soutien

Area Capacités des outils

IaC

Pulumi vous permet de définir votre infrastructure en utilisant des langages de programmation polyvalents tels que Python et Go TypeScript. Cette approche basée sur le code s'inscrit dans le cadre de l' GitOps accent mis sur les configurations déclaratives versionnées.

Git comme source unique de vérité

Le code d'infrastructure de Pulumi peut être stocké et contrôlé par version dans des référentiels Git. Cela garantit que Git est la source unique de vérité pour les définitions d'infrastructure.

État souhaité déclaratif

Bien que Pulumi utilise des langages de programmation, il décrit toujours l'état souhaité de l'infrastructure de manière déclarative. Le code définit à quoi doit ressembler l'infrastructure, et non le step-by-step processus de création de celle-ci.

Synchronisation automatisée

Pulumi peut être intégré à des CI/CD pipelines pour appliquer automatiquement les modifications lorsque le code est mis à jour dans Git. Cela permet le déploiement continu des modifications de l'infrastructure, ce qui est un GitOps principe clé.

Support multi-cloud et Kubernetes

Pulumi prend en charge un large éventail de fournisseurs de cloud et Kubernetes, afin que vous puissiez suivre les GitOps pratiques dans divers environnements. L'outil permet une gestion cohérente des ressources sur différentes plateformes.

Gestion des états

Pulumi gère l'état de l'infrastructure, qui peut être stockée à distance et en toute sécurité. Cette gestion de l'état est cruciale pour GitOps les pratiques et garantit la cohérence entre l'état défini et l'état réel de votre infrastructure.

Détection des dérives et réconciliation

Pulumi peut détecter les différences entre l'état souhaité (dans le code) et l'état réel de l'infrastructure. Il concilie ces différences conformément au GitOps principe de réconciliation continue.

La politique en tant que code

Vous pouvez définir et appliquer des politiques sous forme de code à l'aide de Pulumi CrossGuard. Cela permet une gestion des politiques de conformité et de sécurité de GitOps type contrôlé par version.

Gestion des secrets

Pulumi fournit des moyens sécurisés de gérer les informations sensibles dans le code de l'infrastructure. Il prend en charge l'intégration avec des systèmes de gestion des secrets externes, ce qui est crucial pour les pratiques GitOps de sécurité.

Composants modulaires et réutilisables

Pulumi soutient la création de composants et de modules réutilisables. Cette modularité s'aligne sur les GitOps pratiques de gestion de déploiements complexes dans plusieurs environnements.

Aperçu et planification

Pulumi offre la possibilité de prévisualiser les modifications avant de les appliquer. Cela soutient le GitOps principe de modifications sûres et prévisibles de l'infrastructure.

Annulations et historique

Pulumi conserve un historique des déploiements et prend en charge les annulations vers les états précédents. Cela est conforme GitOps aux principes de traçabilité et de réversibilité.

Livraison continue pour l'infrastructure

Pulumi peut être intégré dans des CI/CD pipelines pour une mise en œuvre continue des modifications de l'infrastructure. Il prend en charge les tests automatisés et la validation du code d'infrastructure.

RBAC et contrôle d'accès

Pulumi fournit un contrôle d'accès basé sur les rôles pour gérer les personnes autorisées à apporter des modifications à l'infrastructure. Cela soutient les pratiques GitOps de sécurité et de gouvernance.

Observabilité et journalisation

Pulumi propose des fonctionnalités de journalisation et de surveillance pour les modifications de l'infrastructure. Ces capacités soutiennent l'aspect observabilité des GitOps pratiques.

Intégration avec d'autres outils

Pulumi peut s'intégrer à différents outils dans le cloud. Cette flexibilité permet des GitOps flux de travail complets.

Gestion de l'environnement

Pulumi prend en charge la gestion de plusieurs environnements (développement, mise en scène, production) en utilisant la même base de code avec différentes configurations. Cela correspond aux GitOps pratiques de gestion cohérente de plusieurs environnements.

Gestion des dépendances

Pulumi gère les dépendances entre les ressources et garantit le bon ordre des opérations. Cela est crucial pour les GitOps déploiements complexes impliquant des composants interdépendants.

Fournisseurs de ressources personnalisés

Pulumi vous permet de créer des fournisseurs personnalisés pour gérer n'importe quel service piloté par API. Cela étend GitOps les pratiques à un large éventail de ressources au-delà des offres cloud standard.

Fonctionnalités de collaboration

Pulumi soutient la collaboration en équipe grâce à des contrôles d'état et d'accès partagés. Cela facilite GitOps les flux de travail dans les environnements d'équipe.

En utilisant ces fonctionnalités de Pulumi, les entreprises peuvent mettre en œuvre GitOps des pratiques pour leur infrastructure, en particulier dans les scénarios où elles ont besoin d'un contrôle précis ou d'une logique complexe, ou lorsqu'elles souhaitent gérer un ensemble diversifié de ressources cloud et sur site au sein d'un cadre unique et cohérent.

L'approche de Pulumi GitOps est unique car elle apporte la puissance et la flexibilité des langages de programmation à usage général à la gestion de l'infrastructure tout en respectant les principes. GitOps Cela peut être particulièrement avantageux pour les équipes qui préfèrent travailler avec des langages de programmation familiers et qui souhaitent appliquer les meilleures pratiques d'ingénierie logicielle à la gestion de l'infrastructure.

Le principal facteur de différenciation de Pulumi GitOps réside dans son utilisation de langages de programmation standard pour définir l'infrastructure. Les GitOps outils traditionnels utilisent souvent le YAML ou des langages spécifiques à un domaine, tandis que Pulumi permet une logique plus complexe, une meilleure réutilisation du code et une intégration plus facile aux flux de travail de développement existants.

Pour plus d'informations, consultez la documentation de Pulumi.