Ricerca nel sito web

CFEngine vs Puppet: confronto dettagliato


Mentre la maggior parte delle persone pensa a Puppet e Chef quando pensa agli strumenti di gestione della configurazione, esistono altre alternative. Un esempio notevole è CFEngine. In questo post, confronteremo

Puppet a questo strumento di gestione della configurazione più vecchio e consolidato.

CFEngine è in realtà significativamente più vecchio di Puppet o Chef, risalente al 1993. È stato creato da Mark Burgess e, come Puppet, è iniziato come uno strumento di gestione della configurazione open source, non un prodotto di gestione della configurazione aziendale. Non è stato commercializzato nel 2008. CFEngine è stato descritto come il nonno degli strumenti di gestione della configurazione.

Quindi, in che modo CFEngine e Puppet differiscono l'uno dall'altro?

Complessità e potenza

Mentre Puppet è annunciato per essere più "Ops-friendly", grazie al suo approccio basato su modelli e alla curva di apprendimento relativamente piccola, CFEngine risiede più nel lato "Dev-friendly" dello spettro.

A differenza del Puppet costruito in Ruby, CFEngine è stato sviluppato con C. Ciò significa che CFEngine ha un ingombro di memoria notevolmente inferiore, viene eseguito più velocemente e ha molte meno dipendenze. Per le informazioni di configurazione, CFEngine utilizza il proprio linguaggio dichiarativo per creare "promesse" o istruzioni di criteri. Puppet, d'altra parte, utilizza un Ruby DSL per creare i suoi manifesti. Quindi, coloro che hanno un po' di esperienza con Ruby potrebbero trovarsi in un territorio più familiare con Puppet.

Una delle principali lamentele riguardo a CFEngine è che la curva di apprendimento è molto ripida. L'approccio basato su modelli di Puppet comporta una curva di apprendimento più breve, il che lo rende un'opzione preferita per gli amministratori di sistema con esperienza di codifica limitata. L'approccio basato su modelli si assume anche gran parte della responsabilità per la gestione delle dipendenze. Alcuni sostengono che questo può portare a comportamenti inaspettati e ha i suoi limiti.

Piattaforme

Il vantaggio di Puppet qui è evitare sfumature specifiche tra i sistemi operativi, che esistono quando si utilizza CFEngine. In generale, sia Puppet che CFEngine offrono un ampio supporto multipiattaforma.

Comunità

Puppet e CFEngine hanno entrambi forti comunità di utenti, in quanto sono entrambi strumenti maturi. CFEngine ha una forte presenza internazionale, con sede a Oslo, e diversi uffici negli Stati Uniti.

Il sito di CFEngine afferma di gestire attualmente più di 10 milioni di nodi. Puppet è meno specifico su quanti server viene eseguito il suo software, ma ha un elenco impressionante di clienti.

Documentazione

Sia Puppet che CFEngine hanno superato i primi passi falsi (o la mancanza di focus) sul fronte della documentazione. Entrambi hanno a disposizione riferimenti online:

Documento di riferimento CFEngine

Documento di riferimento Puppet

Qualunque sia la tua scelta, è sempre consigliabile guardare a materiale di riferimento di terze parti per ottenere un pieno apprezzamento della potenza e delle sfumature di ogni strumento.

Apprendimento di CFEngine

Automazione dell'amministrazione di sistemi Linux e Unix

Pupazzo professionista

Burattino 2.7 Ricettario

Prezzi

Naturalmente, a causa delle sue origini open source, CFEngine (come Puppet) ha una versione open source gratuita disponibile. L'edizione Enterprise di Puppet fornisce 10 nodi gratuiti e quindi addebita $99 per nodo all'anno (con sconti all'ingrosso disponibili). I prezzi di CFEngine dopo i 25 nodi gratuiti non sono specificati, richiedono di contattare un rappresentante di vendita per ulteriori informazioni sui prezzi: offrono "prezzi promozionali" basati sulle esigenze particolari di un cliente.

Uno dei principali vantaggi del modello di prezzo di CFEngine sembra essere che i suoi prezzi sono più personalizzabili in base alle esigenze specifiche di un'azienda. CFEngine offre anche un numero significativamente maggiore di nodi gratuiti rispetto a Puppet.

Conclusione

Ad alto livello, se la codifica e la complessità non ti spaventano, se l'ingombro ridotto dell'agente e la velocità contano e prenderai il controllo e la scalabilità rispetto alla semplicità, allora CFEngine potrebbe fare al caso tuo. Se l'onboarding relativamente più fluido e l'approccio basato su modelli più semplice sono più attraenti, allora Puppet potrebbe fare al caso tuo. Come sempre, entrambi gli strumenti sono disponibili per la prova gratuita, quindi se avete tempo, scegliete una configurazione rappresentativa (anche se modesta) per automatizzare l'utilizzo di ciascuno di essi e confrontarli e contrastarli. Non c'è niente di meglio dell'esperienza pratica.

Articoli correlati