Pulumi - AWS Guida prescrittiva

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Pulumi

Pulumi è una piattaforma iAC che non è progettata esclusivamente per. GitOps Tuttavia, può essere utilizzato efficacemente per implementare GitOps i principi, in particolare per l'infrastruttura cloud e le implementazioni di Kubernetes.

GitOps supporto

Area funzionalità dello strumento

IaC

Pulumi ti consente di definire la tua infrastruttura utilizzando linguaggi di programmazione generici come Python e Go. TypeScript Questo approccio basato sul codice si allinea all'enfasi sulle configurazioni dichiarative e versionate GitOps .

Git come unica fonte di verità

Il codice dell'infrastruttura in Pulumi può essere archiviato e controllato dalla versione nei repository Git. Ciò garantisce che Git funga da unica fonte di verità per le definizioni dell'infrastruttura.

Stato dichiarativo desiderato

Sebbene Pulumi utilizzi linguaggi di programmazione, descrive comunque lo stato desiderato dell'infrastruttura in modo dichiarativo. Il codice definisce come dovrebbe essere l'infrastruttura, non il step-by-step processo per crearla.

Sincronizzazione automatica

Pulumi può essere integrato con CI/CD le pipeline per applicare automaticamente le modifiche quando il codice viene aggiornato in Git. Ciò consente l'implementazione continua delle modifiche all'infrastruttura, che è un principio chiave GitOps .

Supporto multi-cloud e Kubernetes

Pulumi supporta un'ampia gamma di provider di cloud e Kubernetes, quindi puoi seguire le pratiche in diversi ambienti. GitOps Lo strumento consente una gestione coerente delle risorse su diverse piattaforme.

Gestione dello stato

Pulumi gestisce lo stato dell'infrastruttura, che può essere archiviata in remoto e in modo sicuro. Questa gestione dello stato è fondamentale per GitOps le pratiche e garantisce la coerenza tra lo stato definito e lo stato effettivo dell'infrastruttura.

Rilevamento e riconciliazione delle derive

Pulumi è in grado di rilevare le differenze tra lo stato desiderato (nel codice) e lo stato effettivo dell'infrastruttura. Concilia queste differenze di allineamento con il principio della riconciliazione continua. GitOps

La politica come codice

È possibile definire e applicare le politiche come codice utilizzando Pulumi CrossGuard. Ciò consente una gestione controllata in base alla versione delle GitOps politiche di conformità e sicurezza.

Gestione dei segreti

Pulumi offre modi sicuri per gestire le informazioni sensibili all'interno del codice dell'infrastruttura. Supporta l'integrazione con sistemi di gestione dei segreti esterni, fondamentale per le pratiche GitOps di sicurezza.

Componenti modulari e riutilizzabili

Pulumi supporta la creazione di componenti e moduli riutilizzabili. Questa modularità è in linea con GitOps le pratiche per la gestione di implementazioni complesse e multiambiente.

Visualizza in anteprima e pianifica

Pulumi offre la possibilità di visualizzare in anteprima le modifiche prima di applicarle. Ciò supporta il GitOps principio di modifiche sicure e prevedibili all'infrastruttura.

Rollback e cronologia

Pulumi mantiene una cronologia delle implementazioni e supporta i rollback agli stati precedenti. Ciò è in linea con i GitOps principi di tracciabilità e reversibilità.

Distribuzione continua per l'infrastruttura

Pulumi può essere integrato nelle CI/CD pipeline per la fornitura continua delle modifiche all'infrastruttura. Supporta il test e la convalida automatizzati del codice dell'infrastruttura.

RBAC e controllo degli accessi

Pulumi fornisce il controllo degli accessi basato sui ruoli per la gestione di chi può apportare modifiche all'infrastruttura. Ciò supporta le pratiche GitOps di sicurezza e governance.

Osservabilità e registrazione

Pulumi offre funzionalità di registrazione e monitoraggio per le modifiche all'infrastruttura. Queste funzionalità supportano l'aspetto dell'osservabilità delle pratiche. GitOps

Integrazione con altri strumenti

Pulumi può integrarsi con vari strumenti nel cloud. Questa flessibilità consente flussi di GitOps lavoro completi.

Gestione dell'ambiente

Pulumi supporta la gestione di più ambienti (sviluppo, staging, produzione) utilizzando la stessa base di codice con configurazioni diverse. Ciò è in linea con le GitOps pratiche per una gestione coerente di più ambienti.

Gestione delle dipendenze

Pulumi gestisce le dipendenze tra le risorse e garantisce il corretto ordine delle operazioni. Questo è fondamentale per GitOps implementazioni complesse che coinvolgono componenti interdipendenti.

Fornitori di risorse personalizzate

Pulumi ti consente di creare provider personalizzati per gestire qualsiasi servizio basato su API. Ciò estende GitOps le pratiche a un'ampia gamma di risorse oltre alle offerte cloud standard.

Funzionalità di collaborazione

Pulumi supporta la collaborazione in team attraverso controlli di stato e accesso condivisi. Ciò facilita i GitOps flussi di lavoro negli ambienti di team.

Utilizzando queste funzionalità di Pulumi, le organizzazioni possono implementare GitOps pratiche per la propria infrastruttura, specialmente in scenari in cui necessitano di un controllo granulare o di una logica complessa, o desiderano gestire un set diversificato di risorse cloud e locali all'interno di un unico framework coerente.

L'approccio di Pulumi GitOps è unico perché offre la potenza e la flessibilità dei linguaggi di programmazione generici alla gestione dell'infrastruttura, rispettando al contempo i principi. GitOps Ciò può essere particolarmente vantaggioso per i team che preferiscono lavorare con linguaggi di programmazione familiari e desiderano applicare le migliori pratiche di ingegneria del software alla gestione dell'infrastruttura.

Il principale elemento di differenziazione di Pulumi in GitOps è l'uso di linguaggi di programmazione standard per definire l'infrastruttura. GitOps Gli strumenti tradizionali utilizzano spesso YAML o linguaggi specifici del dominio, mentre Pulumi consente una logica più complessa, un migliore riutilizzo del codice e una più facile integrazione con i flussi di lavoro di sviluppo esistenti.

Per ulteriori informazioni, consulta la documentazione di Pulumi.