Come la cultura DevOps viene adottata nelle industrie IT, così fa l’interesse per la piattaforma di automazione adatta alla velocità e all’agilità comunemente promossa come benefici principali di DevOps e questo significa un crescente bisogno di professionisti IT non solo disposti ad abbracciare la mentalità e la metodologia dietro l’approccio delle soluzioni Devops, ma anche in grado di competenze DevOps con nuovi strumenti software come Chef, Puppet e Ansible sono tra i più eccezionali strumenti di gestione della configurazione e automazione della distribuzione. Ognuno di questi strumenti ha la sua forza particolare. Questi strumenti di automazione e orchestrazione rendono la vita più facile per infrastrutture di qualsiasi dimensione.

Nella scelta del migliore adatto, trova lo strumento che funziona meglio per te, perché ti rende più produttivo e quale strumento hai bisogno, dipende dalle tue esigenze e dal tuo ambiente attuale. Strumenti come Chef, Puppet, Ansible non sono necessariamente solo per i servizi DevOps, il loro uso nell’organizzazione IT può gettare le basi per accelerare aree come la consegna delle applicazioni, il patching e così via.

Si riassumono qui alcuni punti di forza di ogni strumento e un paio di cose che potrebbero influenzare l’utilizzo di uno rispetto all’altro:

Perché Puppet??

Puppet è più lento, ma più ampiamente utilizzato e supporta più sistemi operativi. Puppet è un sistema di gestione della configurazione che fornisce un modo per definire lo stato dell’infrastruttura IT e consente l’applicazione automatica dello stato corretto. Probabilmente gode della più grande quota mentale dei tre. È il più completo in termini di azioni disponibili, moduli e interfaccia utente. Puppet rappresenta l’intero quadro dell’orchestrazione del centro dati, comprendendo quasi tutti i sistemi operativi e offrendo strumenti profondi per i principali sistemi operativi

  • Esegue su Linux, CentOS, Debian, Ubuntu, Fedora, BSD, MacOS, Windows e altri.
  • Usa la propria sintassi “facile”, il Puppet DSL o Domain Specific Language. È possibile utilizzare anche moduli Ruby personalizzati.
  • Capacità di reporting estese
  • Grande libreria di moduli esistenti in Puppet e i moduli sono di qualità mista.
  • L’interfaccia utente web è disponibile solo nella versione enterprise
  • Architettura semplice: Puppet server e agenti Puppet
  • Puppet fornisce una soluzione software efficiente e scalabile per gestire le configurazioni di un gran numero di dispositivi.
  • Gli amministratori di sistema usano Puppet per gestire risorse di calcolo come server fisici e virtuali e dispositivi di rete.
  • Puppet viene distribuito utilizzando una disposizione client/server, dove il server o Puppet master gestisce uno o più nodi client.

Perché Chef?

Chef è complesso, ma veloce e potente, è una piattaforma di automazione che trasforma le infrastrutture in codice. Molte aziende di servizi Devops scelgono di adottare Chef perché garantisce loro di trattare il loro sistema come un oggetto, perché con la facilità d’uso viene una mancanza di robustezza. Chef è simile a Puppet in termini di concetto generale, nel senso che c’è un server master e agenti installati sui nodi gestiti, ma differisce nella distribuzione effettiva con Devops Solutions & Services.

  • Extensive Ruby syntax for configuration “recipes”: questo porta una maggiore curva di apprendimento, ma più potenza
  • L’interfaccia utente web è standard e gratuita.
  • L’architettura è più complessa: è necessario un server Chef, agenti Chef e una workstation Chef per la configurazione e la gestione.
  • Grande libreria di ricette esistenti di qualità mista.
  • Semplice procedura di installazione multipiattaforma e autonoma.
  • Prestazioni più veloci.

Perché Ansible?

Ansible è scritto in Python e richiede solo che le librerie Python siano presenti sui server da configurare. Non supporta Windows ma è molto facile, veloce e leggero e completamente diverso da Chef e Puppet. Il punto focale di Ansible è quello di essere snello e veloce, e di non richiedere l’installazione di un agente nodo. Così, Ansible esegue tutte le funzioni su SSH. Un sacco di moduli sono disponibili che vanno dal sistema, al database alla gestione del cloud. È relativamente facile scrivere i propri moduli. Sono supportati molti linguaggi, ma se avete familiarità con python, non vi ci vorrà molto tempo per creare il vostro modulo. Supportano tutti i servizi principali dei maggiori fornitori di cloud come AWS, Rackspace, Digital Ocean, GCE, OpenStack ecc.

  • Ansible è basato su Python
  • La più giovane di queste tre tecnologie, quindi con la più piccola comunità
  • Funziona senza agenti, ma ha molte dipendenze python una volta che si inizia con operazioni complesse
  • Architettura semplice: tutto ciò che serve è una workstation Ansible e server SSH. Nessun agente e nessun server, ma hai dipendenze Python sulle macchine client.
  • Interfaccia utente web disponibile, ma con caratteristiche limitate poiché è sviluppata separatamente dal progetto principale.
  • Gli script e i moduli possono essere costruiti in qualsiasi lingua, viene fornita una libreria limitata
  • Nessun supporto Windows
  • la sintassi più semplice e la curva di apprendimento più bassa
  • Ansible può usare Paramiko, un’implementazione Python SSH2, o SSH standard per le comunicazioni, ma c’è anche una modalità accelerata che permette comunicazioni più veloci e su larga scala.
  • Ansible ha una collezione di moduli che possono essere utilizzati per gestire vari sistemi e infrastrutture cloud come Amazon EC2 e OpenStack

Puppet o Chef o Ansible?

  • Puppet e Chef aiutano gli sviluppatori e le organizzazioni orientate allo sviluppo, dove Ansible è molto più flessibile alle esigenze degli amministratori di sistema
  • L’interfaccia semplice e l’usabilità di Ansible si adattano alla psicologia degli amministratori di sistema, e in un’organizzazione con molti sistemi Linux e Unix, Ansible è veloce e facile da eseguire in confronto.
  • Puppet è il più maturo e conveniente dei tre dal punto di vista dell’usabilità, tuttavia una solida conoscenza di Ruby è altamente raccomandata.
  • Puppet non è così snello come Ansible, e la sua configurazione può diventare complessa a volte. È il modo più sicuro per ambienti vari, ma potreste trovare Ansible più adatto in un’infrastruttura più grande o più simile.
  • Chef ha un layout molto stabile e ben progettato, e mentre non è proprio al livello di Puppet in termini di caratteristiche grezze, è una soluzione molto capace. Chef può rappresentare la curva di apprendimento più difficile per gli amministratori che non hanno una significativa esperienza di programmazione, ma potrebbe essere la soluzione più logica per le persone e le organizzazioni che si occupano di sviluppo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *