Cos'è Puppet? - Gestione della configurazione tramite Puppet

What is Puppet è il primo blog della serie di blog Puppet. Spiega la necessità di Puppet & Configuration Management con un caso d'uso.

Oggi, lo strumento più maturo per la gestione della configurazione è Puppet. Ma so che ti starai chiedendo perché Puppet è così popolare e cosa lo rende unico, rispetto ad altri strumenti di gestione della configurazione.In questo blog 'What is Puppet', risponderò a queste domande per te e ti aiuterò a percorrere il sentiero di .

Cos'è Puppet?

Puppet è uno strumento di gestione della configurazione utilizzato per la distribuzione, la configurazione e la gestione dei server. Svolge le seguenti funzioni:





  • Definire configurazioni distinte per ogni host e controllare e confermare continuamente se la configurazione richiesta è a posto e non è stata modificata (se alterata, Puppet tornerà alla configurazione richiesta) sull'host.
  • Scalabilità dinamica e ridimensionamento delle macchine.
  • Fornendo il controllo su tutte le macchine configurate, in modo che una modifica centralizzata (master-server o basata su repository) venga propagata a tutti, automaticamente.

Puppet utilizza un'architettura Master Slave in cui il Master e lo Slave comunicano attraverso un canale crittografato sicuro con l'aiuto di SSL. L'architettura dei burattini è spiegata in dettaglio nel mio Tutorial marionette Blog.

Guarda questo video su Puppet per una migliore comprensione.



Cos'è Puppet? | Formazione DevOps | Edureka

Ora che sai cos'è Puppet, facci capire le ragioni della popolarità di Puppet.

Cos'è Puppet - Metriche chiave

Di seguito sono riportati alcuni fatti su Puppet:



  • Ampia base installata: Puppet è utilizzato da oltre 30.000 aziende in tutto il mondo, tra cui Google, Red Hat, Siemens, ecc. Insieme a diverse università come la Stanford e la scuola di diritto di Harvard. Una media di 22 nuove organizzazioni al giorno utilizza Puppet per la prima volta.
  • Ampia base di sviluppatori: Puppet è così ampiamente utilizzato che molte persone si sviluppano per questo. Puppet ha molti contributori al suo codice sorgente principale.
  • Lunga esperienza commerciale: Puppet è in uso commerciale dal 2005 ed è stato continuamente perfezionato e migliorato. È stato implementato in infrastrutture molto grandi (oltre 5.000 macchine) e le lezioni di scalabilità e prestazioni apprese da questi progetti hanno contribuito allo sviluppo di Puppet.
  • Documentazione: Puppet ha un ampio wiki gestito dagli utenti con centinaia di pagine di documentazione e riferimenti completi sia per la lingua che per i suoi tipi di risorse. Inoltre, è discusso attivamente in diverse mailing list e ha un canale IRC molto popolare, quindi qualunque sia il tuo problema Puppet, è facile trovare la risposta.
  • Supporto della piattaforma: Puppet Server può essere eseguito su qualsiasi piattaforma che supporti ruby, ad esempio: CentOS, Microsoft Windows Server, Oracle Enterprise Linux ecc. Non solo supporta i nuovi sistemi operativi, ma può anche essere eseguito su versioni OS e Ruby relativamente vecchie e obsolete anche.

È ora evidente che Puppet ha un'enorme domanda a livello globale. Ma, prima di approfondire Puppet, è giusto che spieghi prima cos'è la gestione della configurazione e perché è importante.

Gestione della configurazione

Gli amministratori di sistema di solito eseguono attività ripetitive come l'installazione di server, la configurazione di tali server, ecc. Possono automatizzare questa attività, scrivendo script, ma è un lavoro molto frenetico quando si lavora su una grande infrastruttura.

Risolvere questo problema, Gestione della configurazione è stato presentato. La gestione della configurazione è la pratica di gestire le modifiche in modo sistematico in modo che un sistema mantenga la sua integrità nel tempo. Configuration Management (CM) garantisce che l'attuale stato di progettazione e costruzione del sistema sia noto, valido e affidabile e non si basi sulla conoscenza tacita del team di sviluppo. Consente l'accesso a un'accurata registrazione storica dello stato del sistema per la gestione del progetto e per scopi di audit. Configuration Management ha superato le seguenti sfide:

  • Capire quali componenti cambiare quando cambiano i requisiti.
  • Rifare un'implementazione perché i requisiti sono cambiati dall'ultima implementazione.
  • Ripristino di una versione precedente del componente se è stata sostituita con una versione nuova ma difettosa.
  • Sostituzione del componente sbagliato perché non è stato possibile determinare con precisione quale componente necessitava di sostituzione.

Cerchiamo di capire la sua importanza attraverso un caso d'uso.

Il miglior esempio che conosco è quello della Borsa di New York (NYSE). Un 'problema tecnico' del software ha impedito al NYSE di negoziare azioni per quasi 90 minuti. Ciò ha portato a milioni di dollari di perdita. Una nuova installazione del software ha causato il problema. Quel software è stato installato su 8 dei suoi 20 terminali di trading e il sistema è stato testato la sera prima. Tuttavia, al mattino, non è riuscito a funzionare correttamente sugli 8 terminali. Quindi era necessario tornare al vecchio software. Potreste pensare che questo sia stato un fallimento del processo di gestione della configurazione del NYSE, ma in realtà è stato un successo. Come risultato di un corretto processo di gestione della configurazione, il NYSE si è ripreso da quella situazione in 90 minuti, il che è stato piuttosto rapido. Se il problema fosse continuato più a lungo, le conseguenze sarebbero state più gravi.

Gestione della configurazione presso NYSE - Cos

Ora, spero che tu conosca l'importanza della gestione della configurazione. La fase di gestione della configurazione può essere considerata la spina dorsale di DevOps. Consente rilasci di software più frequenti nel modo più sicuro e affidabile possibile.

Successivamente, vediamo alcune applicazioni di Puppet.

ansible vs chef vs puppet

Cos'è Puppet - Applicazioni di Puppet

Cerchiamo di comprendere le applicazioni di Puppet utilizzando un caso di studio. Se sei un appassionato di poker o se hai mai giocato a giochi online, allora devi aver sentito parlare di Zynga. È il più grande sviluppatore di giochi sociali al mondo. L'infrastruttura di Zynga utilizza decine di migliaia di server sia nel cloud pubblico che nei data center privati. All'inizio utilizzavano un processo manuale, inclusi kickstarter e installazioni successive per ottenere centinaia di server online.

Ora vedremo quali problemi hanno dovuto affrontare con questo processo:

  • Scalabilità e coerenza - Zynga stava vivendo una crescita fenomenale e la sua infrastruttura aveva bisogno di stare al passo con il settore. Le soluzioni basate su script e gli approcci manuali non erano sufficienti per le loro esigenze.
  • Infrastruttura portatile - Zynga aveva bisogno di un modo per sfruttare un approccio coerente alla gestione della configurazione sia nella propria infrastruttura di cloud pubblico che nei propri data center.
  • Flessibilità - Data la diversità delle varie proprietà di gioco Zynga, era importante che il team fosse in grado di abbinare rapidamente la giusta configurazione per la macchina giusta.
  • Approfondimenti sull'infrastruttura - Con la maturazione dell'organizzazione, è diventato più importante disporre di un metodo automatizzato per visualizzare le proprietà di ciascuna macchina.

L'azienda è stata abbastanza intelligente da realizzare rapidamente la necessità di un processo automatizzato anche prima che raggiungessero il rapido ridimensionamento, ecco quando Puppet è entrato in scena. Facci capire come Puppet contribuisce alla loro organizzazione.

  • Velocità di recupero - Il team delle operazioni di produzione può distribuire rapidamente la giusta configurazione nella casella giusta. Se un sistema viene riconfigurato in modo inappropriato, Puppet lo ripristinerà automaticamente all'ultima stabile stato,o fornire i dettagli necessari per riparare manualmente un sistema rapidamente.
  • Velocità di distribuzione - Puppet ha consentito un notevole risparmio di tempo nel modo in cui il team operativo fornisce i servizi agli studi di gioco.
  • Coerenza dei server - Il framework basato sul modello di Puppet garantisce distribuzioni coerenti. Secondo Mark Stockford, Vice President Production Operations , Zynga “È evidente che abbiamo risparmiato tempo. Il bello dell'utilizzo di Puppet è che ci consente di fornire configurazioni coerenti sui nostri server in un breve periodo ogni volta. '
  • Collaborazione - Avere un approccio basato sul modello semplifica la condivisione delle configurazioni all'interno dell'organizzazione, consentendo agli sviluppatori e ai team operativi di lavorare insieme per garantire che la fornitura di nuovi servizi sia di altissima qualità. Più di una dozzina di persone del team di Zynga sono state addestrate in Puppet.Questa conoscenza è stata diffusa in tutto il team e ai team operativi all'interno di ogni singolo studio di gioco.

Dopo What is Puppet blog , clicca qui per visitare il mio prossimo blog su Puppet Tutorial che includerà l'architettura Puppet e componenti di Puppet. Spiegherò anche i passaggi per distribuire MySQL e PHP utilizzando Puppet. Puppet è lo strumento più utilizzato per ottenere DevOps nelle organizzazioni con grandi infrastrutture.

Se hai trovato questo blog su ' Cos'è Puppet 'Rilevante, controlla il da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione sulla certificazione DevOps Edureka aiuta gli studenti ad acquisire esperienza in vari processi e strumenti DevOps come Puppet, Jenkins, Nagios e GIT per l'automazione di più passaggi in SDLC.