L’essentiel sur CFEngine
CFEngine est un outil de gestion de configuration largement connu et utilisé. Découvrez ses principales caractéristiques et fonctionnalités pour déterminer si elles peuvent être utiles à votre entreprise.
CFEngine automatise l'intégration et le provisioning des logiciels dans l'environnement IT opérationnel d'une entreprise. Il est utilisé par des sociétés telles que LinkedIn, Orange, PayPal Holdings, Percolate et Locaweb.
CFEngine est souvent considéré comme « l'ancêtre des outils de gestion de configuration ». Le projet a été initié en 1993 par Mark Burgess, alors postdoctorant à l'université d'Oslo, dans le but d'automatiser la plupart des tâches fastidieuses de gestion d'un groupe de postes de travail. La version d'origine de CFEngine a été largement réécrite pour aboutir à la troisième génération.
CFEngine est disponible sous licence GPLv3.
CFEngine est écrit en C, ce qui explique son encombrement sensiblement plus faible que celui des systèmes CM écrits en Ruby ou Python.
CFEngine fonctionne en mode client-serveur, avec un serveur maître qui gère les agents sur les nœuds distants.
La principale caractéristique de la gestion de configuration CFEngine repose sur l'utilisation d'un modèle d'état souhaité (Desired State). Au lieu de recenser toutes les étapes requises pour apporter un changement sur un nœud cible, l'administrateur système définit l'état final souhaité. CFEngine procède ensuite aux étapes nécessaires pour créer cet état final. Dans la terminologie de CFEngine, cette approche est qualifiée de convergente. Ces déclarations d'état final sont établies comme des promesses ou des déclarations de principe.
Les utilisateurs s'accordent à dire que l'apprentissage de CFEngine n’est pas des plus aisés, car ils doivent comprendre les nuances des différents systèmes d'exploitation sur les nœuds gérés par CFEngine.
Versions disponibles de la gestion de configuration CFEngine
CFEngine est proposé dans deux versions de base.
La version Community est gratuite et open source.
La version Enterprise est enrichie de nombreuses fonctionnalités, notamment d'une interface utilisateur graphique. Cette interface est dotée d'un tableau de bord de sécurité en temps réel et permet aux utilisateurs d'exécuter des rapports de conformité informatique.
Interface de CFEngine
La version Enterprise peut être téléchargée et utilisée gratuitement sur 25 noeuds au maximum.
Les tarifs de CFEngine Enterprise sont légèrement plus opaques que ceux de la plupart des autres outils de gestion de configuration. Alors que d'autres fournisseurs publient des tarifs calculés par nœud et par an, il faut passer par un commercial pour négocier un abonnement à CFEngine. A ce sujet, il semblerait que CFEngine accepte de fixer un prix entièrement sur mesure en fonction de la plateforme IT réelle d'une entreprise.
CFEngine repose sur un modèle d'assistance à long terme (LTS, Long-Term Support). Des versions majeures sont publiées tous les 18 mois, le support des fonctionnalités étant garanti dans l'intervalle entre les versions.
Des versions hors LTS sont publiées à peu près tous les six mois, avec des fonctionnalités susceptibles de changer dans la prochaine version LTS.
Voici la liste des systèmes d'exploitation pris en charge :
Conclusion
Existant depuis longtemps, CFEngine compte de nombreux utilisateurs fidèles. La société affirme que son produit gère des millions de serveurs dans plus de 100 pays. Il existe un forum d'entraide sur Google+, ainsi qu'un référentiel de code et de modules sur GitHub.
A moins que vous soyez disposé à affronter la courbe d'apprentissage abrupte de CFEngine, cet outil est mieux adapté à des organisations complexes de grande taille ayant particulièrement besoin d'exercer un contrôle granulaire via des scripts créés par des spécialistes.