Ricerca nel sito web

Puppet Enterprise vs Free Open Source Puppet: qual è quello giusto per te?


Quindi hai fatto le tue ricerche e hai scelto Puppet come strumento di gestione della configurazione (CM) e automazione preferito. Ma è disponibile in 2 versioni: un prodotto aziendale commerciale e una versione open source gratuita. In questo caso, la tariffa gratuita può essere battuta? Analizziamo i dettagli per aiutarti a prendere una decisione informata.

Open Source ≠ gratuito

Innanzitutto, una nota riguardante il software open source: la maggior parte, se non tutti gli strumenti CM sul mercato sono open source. Il loro codice sorgente è apertamente modificabile e ridistribuibile, offrendo alle organizzazioni la flessibilità di modificare il software per soddisfare requisiti unici. Quindi, mentre l'open source equivale alla libertà del software, non significa necessariamente gratuito. In genere, le funzionalità di base sono standard, con altre funzionalità premium disponibili per l'acquisto (ad esempio, freemium). In definitiva, si tratta di come il fornitore sceglie di confezionare strategicamente la sua soluzione. Prendiamo l'arcinemico/controparte di Open Source Puppet, Open Source Chef, come esempio rappresentativo.

"Aspetta... " chiedi. "Chef ha una versione open source gratuita del suo prodotto? "

Lo fa, in effetti, anche se potrebbe non essere immediatamente evidente o indicato come tale. Secondo Chef, non commercializza una versione open source della loro soluzione, poiché "esiste solo un server Chef completamente gratuito e completamente Open Source. " Abbastanza giusto, anche se funzionalità come la console di gestione e le funzionalità di replica sono disponibili solo a un prezzo premium (o fortemente limitato). Allo stesso modo, Puppet Enterprise viene fornito con funzionalità aggiuntive e supporto ufficiale da Puppet Labs che è assente nella versione gratuita e open source.

La piattaforma dei burattini

Puppet è stato scritto in Ruby e utilizza un linguaggio DSL (Domain-Specific Language) dichiarativo simile a Ruby nel suo ambiente a riga di comando (il supporto puro di Ruby è stato interrotto). Utilizza un modello master-agent idempotente costituito da un server di controllo centrale chiamato, in modo abbastanza appropriato, Puppet Master e da una flotta di nodi controllati da agenti.

L'idempotenza è un principio importante quando si parla di strumenti CM: significa che è possibile eseguire Puppet più volte in sicurezza e che apporterà modifiche al sistema solo se lo stato del sistema non corrisponde allo stato configurato. Un altro concetto importante da capire è che il Puppet DSL (Domain Specific Language) è dichiarativo: ciò significa che è sufficiente descrivere lo stato finale desiderato del sistema e Puppet ordina i passaggi necessari per arrivarci. A differenza di un linguaggio imperativo, non è necessario comprendere tutti i passaggi necessari per raggiungere lo stato finale desiderato. Puppet supporta tutti i principali sistemi operativi: Linux, *nix, Windows e MacOS. Questo è senza dubbio un fattore importante per la sua adozione diffusa, poiché molte soluzioni concorrenti sono disponibili solo su piattaforme *nix.

Pupazzo open source

L'open source Puppet è gratuito e aperto a modifiche e personalizzazioni. Si ottiene uno strumento completo con le capacità e le funzionalità di base di CM pronte all'uso e, se si possiedono le competenze, può essere ottimizzato e migliorato direttamente modificando direttamente il codice sorgente. Hai accesso a un'enorme raccolta di moduli: unità di codice riutilizzabili e condivisibili che possono a loro volta essere utilizzate per estendere Puppet alla tua infrastruttura automatizzando attività come la configurazione di un database, un server web o un server di posta, tra gli altri. Quindi, ad esempio, se stai automatizzando il provisioning e l'implementazione di un nuovo server Web Apache, non è necessario scrivere il tuo set di comandi Puppet da zero: vai semplicemente al repository dei moduli PuppetForge e scarica tutto ciò di cui hai bisogno dalla libreria di 3.500+ moduli.

Essendo una tecnologia matura e collaudata nel settore, Puppet gode di una comunità di utenti considerevole e attiva, di una pletora di eccellente documentazione gratuita e di altre risorse online correlate come wiki e mailing list. Tuttavia, Open Source Puppet non dispone dell'elegante GUI di gestione disponibile nell'offerta Enterprise, ampiamente considerata la migliore della sua categoria. Certo, la CLI può ancora fare tutto ciò che può fare la GUI, ma quest'ultima rende la vita molto più facile, specialmente per i neofiti che cercano di imparare il sistema. Il personale operativo esperto che desidera un modo rapido e visivo per implementare e monitorare le implementazioni per configurazioni di grandi dimensioni apprezza anche il cruscotto GUI centralizzato. In effetti, molti scelgono di implementare Foreman come GUI competente e gratuita per interfacciarsi con Puppet. Abbiamo già trattato Foreman in modo approfondito in precedenza, quindi assicurati di dare un'occhiata alla nostra opinione sulla popolare piattaforma di orchestrazione. Alla luce di quanto sopra, Open Source Puppet viene utilizzato prevalentemente in infrastrutture e implementazioni più piccole.

Per ulteriori informazioni su Foreman, dai un'occhiata al nostro confronto tra Foreman e SaltStack.

Burattino Impresa

Considerando che ottieni gratuitamente le funzionalità principali di Puppet nella versione open source, perché mai dovresti optare per la versione Enterprise? Ci sono sempre dei compromessi quando si sceglie di costruire o acquistare. Molte aziende iniziano con la versione open source solo per rendersi conto che non hanno il tempo o le risorse per mantenere l'implementazione, o hanno bisogno di funzionalità aggiuntive che devono costruire e mantenere da sole.

Di seguito sono riportati alcuni dei motivi più popolari per cui le grandi organizzazioni scelgono Puppet Enterprise:

  1. Packaging - Puppet Enterprise include oltre 40+ progetti open source (MCollective, Facter, Hiera, ecc.) in un semplice programma di installazione. In questo modo i team risparmiano tempo prezioso per la creazione di pacchetti e la gestione delle dipendenze per le distribuzioni di Puppet.
  2. Scalabilità pronta all'uso - Puppet Enterprise è stabile, testato e rinforzato e include un programma di installazione multi-master per implementazioni di grandi dimensioni.
  3. Interfaccia utente: un ambiente visivo intuitivo che contiene un'ampia raccolta di funzioni molto utili: dashboard per un facile monitoraggio, funzionalità di reporting avanzate, funzionalità di avviso, un programma di installazione unificato e la possibilità di distribuire agenti con pochi clic del mouse. E ancora, la GUI è un'interfaccia molto più utile sia per i neofiti che desiderano imparare Puppet che per le persone impegnate che cercano di evitare di digitare comandi ripetitivi.
  4. App Puppet: a. Puppet Node Manager - Un classificatore di nodi basato su regole che raggruppa i nodi in base a caratteristiche chiave, come il sistema operativo, la posizione grafica e l'unità aziendale. b. Puppet Code Manager - Sfrutta la tecnologia r10k per distribuire le modifiche all'infrastruttura in modo testabile e programmatico. In combinazione con il beaker di Jenkins e Puppet Labs per i test di accettazione, è possibile applicare le pratiche di distribuzione continua al codice dell'infrastruttura. c. Puppet Configuration Manager: ottieni informazioni dettagliate sulle relazioni delle configurazioni dei nodi per garantire distribuzioni affidabili. È possibile visualizzare e mappare facilmente le relazioni tra le risorse in un nodo per la risoluzione dei problemi.
  5. Funzionalità solo aziendali a. RBAC - Importante per i team distribuiti di grandi dimensioni, il RBAC consente di delegare in modo sicuro le attività a singoli e gruppi. Puppet Enterprise si integra direttamente con i servizi di directory come Active Directory e Open LDAP. Leggi la nostra guida completa sul controllo degli accessi basato sui ruoli qui. b. Reporting - Puppet Server Reporting raccoglie un'ampia varietà di metriche sullo stato e le prestazioni del server Puppet, tra cui le richieste attive, la durata della richiesta, i tempi di esecuzione e il carico di compilazione. c. Ispezione degli eventi - Digesta migliaia e migliaia di informazioni generate da Puppet Enterprise e visualizza le modifiche per nodi, classi e risorse in modo da sapere esattamente cosa è cambiato, Dove e come
  6. Moduli supportati: i clienti aziendali possono chiamare l'assistenza quando hanno bisogno di aiuto con uno qualsiasi dei moduli supportati da Puppet. I moduli supportati includono servizi critici come Apache, MySQL, NTP, F5, Windows Registry, Docker, AWS e altri. Alcuni moduli, come i moduli SQL Server e VMware vSphere, sono disponibili solo per Puppet Enterprise.
  7. Provisioning automatizzato: supporto per il provisioning automatizzato di container, cloud, VM e bare metal.
  8. Supporto ufficiale di Puppet Labs: le aziende comunemente evitano le offerte open source a causa della mancanza percepita di sponsorizzazioni e supporto aziendali ufficiali. Per i clienti aziendali di medie e grandi dimensioni con centinaia o migliaia di nodi da gestire, la tranquillità che deriva dal software supportato dal fornitore è indispensabile. Gli aggiornamenti dei prodotti, la manutenzione e la formazione sono pronti all'uso con Puppet Enterprise, con opzioni di supporto disponibili in formato Standard (9-17, 5 giorni alla settimana) o Premium (24x7x365).
  9. Accesso ai servizi professionali: i servizi professionali possono aiutarti con l'implementazione di Puppet Enterprise, gli aggiornamenti, la personalizzazione e la formazione. Inoltre, un consulente dei servizi professionali di Puppet Labs può valutare la tua infrastruttura Puppet Open Source e fornire consigli sulle best practice per aiutarti a migrare a Puppet Enterprise.

Naturalmente, lo svantaggio di tutti questi vantaggi è che ti costerà. Puppet Enterprise è suddiviso in livelli in base al numero di nodi gestiti e al piano di supporto scelto. I prezzi variano da $112 per nodo/anno con un piano di supporto standard a $199 per nodo/anno con il piano premium. Per fare un confronto, una sottoscrizione standard per 100 nodi virtuali di Red Hat Enterprise Linux Server costerebbe $39.950 all'anno. Maggiori dettagli sui prezzi sono disponibili sulla pagina dei prezzi di Puppet Lab.

Sommario

In questo caso, la tariffa gratuita è valida solo se le funzionalità e i vantaggi aggiuntivi di Puppet Enterprise elencati sopra non si applicano al tuo caso d'uso. Le configurazioni più piccole e incentrate sugli sviluppatori e i progetti "una tantum" sono più adatti per i Puppet Open Source, ma richiedono una maggiore competenza tecnica per essere gestiti con successo. E sebbene manchi di una GUI competente, Open Source Puppet può essere potenziato con strumenti gratuiti come Foreman per una gestione facile e visiva dei nodi e delle risorse. D'altra parte, le aziende che necessitano di supporto e funzionalità di gestione di livello aziendale sarebbero senza dubbio meglio servite dalla GUI che consente di risparmiare tempo, dalla scalabilità pronta all'uso, dalle versioni accuratamente testate e dalle applicazioni e dalle funzionalità robuste di Puppet Enterprise. tra gli altri.

*un ringraziamento speciale a Puppet Labs per le informazioni approfondite sul prodotto e gli aggiornamenti/chiarimenti relativi alle informazioni contenute in questo articolo.

Articoli correlati