ClickCease Quel outil de gestion de la configuration dois-je utiliser ? Pleins feux sur Chef - TuxCare

Rejoignez notre populaire bulletin d'information

Rejoignez 4 500+ professionnels de Linux et de l'Open Source !

2 fois par mois. Pas de spam.

Quel outil de gestion de la configuration dois-je utiliser ? Pleins feux sur Chef

21 août 2019 - L'équipe de relations publiques de TuxCare

Quel outil de gestion de la configuration dois-je utiliser ? Pleins feux sur Chef, kernelcare et le logo chef io sur fond bleu

L'essor de DevOps a nécessité la création d'outils permettant aux ingénieurs de gérer des centaines, voire des milliers de machines à la fois. Grâce à un processus connu sous le nom d'infrastructure as code (IaC) - où un environnement informatique est déclaré via un langage de programmation - les outils de gestion de la configuration (CM) permettent aux administrateurs système et aux équipes DevOps de maintenir une visibilité sur leur infrastructure de serveurs, et de déployer et prendre des mesures à grande échelle. Les outils CM facilitent l'exécution de tâches sur plusieurs serveurs à la fois et le déploiement d'applications en un clic.

En matière de déploiement de masse et de CM, il existe quatre grands acteurs logiciels : Puppet, Ansible, Saltstack et Chef. KernelCare peut être déployé via ces quatre logiciels. Chef est une option populaire, avec des avantages et des inconvénients uniques. Voici tout ce que vous devez savoir.

 

Le bon : Le choix du programmeur

Ayant débuté comme un outil interne de déploiement de serveurs de bout en bout pour OpsCode, Chef a été publié pour la première fois comme solution open source en 2009. Il se distingue comme l'outil de CM construit sur un modèle d'architecture client-serveur. Chef utilise un paradigme de programmation impératif, et il utilise l'approche "pull-based" pour envoyer des informations de configuration aux nœuds cibles (qui sont installés avec des agents). Ce modèle est similaire au modèle maître-agent de Puppet, sauf que la station de travail Chef est nécessaire pour contrôler les configurations du maître à l'agent.

Le modèle impératif de Chef voit les commandes s'exécuter dans un ordre séquentiel, ce qui permet aux ingénieurs d'identifier les étapes individuelles nécessaires à la gestion de chaque machine. Chef tire son nom de la façon dont ses processus sont structurés : Les fichiers de définition sont appelés "recettes" et peuvent être fusionnés avec des fichiers, des attributs, des bibliothèques, etc. pour créer des "livres de recettes". Bien que les recettes utilisent un langage spécifique au domaine propre à Chef, elles prennent en charge les scripts écrits en Ruby.

Chef est populaire, et pour une bonne raison. Il est conçu pour les programmeurs. Sa configuration axée sur le code offre une grande quantité de contrôle et de flexibilité, jusqu'à la création de modules, ce qui fait de Chef probablement la plus personnalisable et adaptable de toutes les solutions de CM. Sa configuration, enracinée dans Git, signifie qu'elle possède de fortes capacités de contrôle de version. 

En plus d'être profondément basé sur la programmation et donc super-flexible, Chef est très fiable. 2009 est une année ancienne dans le monde du logiciel, et cette persistance signifie que Chef est très stable et mature. La communauté Chef est active et offre une documentation et un support solides. Il existe une riche base de recettes et de modules de configuration (dont plus de 900 modules gratuits). En outre, la version SaaS de Chef est très utile si vous souhaitez des analyses et des rapports.

Le mauvais : Courbe d'apprentissage abrupte

Chef a été construit pour les programmeurs. Ce qui est génial - si vous êtes un programmeur. Mais si vous ne l'êtes pas, cela peut être un travail très difficile. Si vous êtes encore en train d'apprendre les ficelles du métier, ou si vous n'êtes pas un utilisateur de Ruby, Chef peut être décourageant. Il vous faudra beaucoup d'apprentissage pour être à l'aise, même avec les étapes simples de la configuration de Chef et de l'exécution des réglages initiaux. Les bases de code sont vastes, les environnements sont complexes et la documentation est dispersée.

De plus, la configuration de Chef basée sur le " pull " signifie que les configurations ne seront collectées sur le serveur qu'à la prochaine interrogation programmée. L'absence de push signifie qu'il n'y a pas d'action immédiate sur les changements. 

 

En général 

Avec Chef, c'est assez simple. Si vous avez le sens de la programmation (Ruby), alors c'est l'outil CM qu'il vous faut. Il est entièrement programmable, de sorte que les possibilités de manipulation et de personnalisation sont énormes. De plus, Chef est super stable, et idéal pour les déploiements à grande échelle dans des environnements publics et privés qui nécessitent un stockage important. Mais si vous avez besoin de quelque chose de plus agile, de plus facile à prendre en main et à utiliser, Chef n'est probablement pas le meilleur choix. 

 

Lisez d'autres présentations de solutions par l'équipe de KernelCare ici :

  1. Quel outil de gestion de la configuration dois-je utiliser ? Pleins feux sur Ansible
  2. Quel outil de gestion de la configuration (CM) utiliser ? Focus sur SaltStack
  3. Quel outil de gestion de la configuration dois-je utiliser ? Pleins feux sur Puppet
  4. Quelle solution de gestion des vulnérabilités choisir ? Focus sur Qualys
  5. Quelle solution de gestion des vulnérabilités choisir ? Focus sur Rapid7

Vous cherchez à automatiser la correction des vulnérabilités sans redémarrage du noyau, temps d'arrêt du système ou fenêtres de maintenance programmées ?

Découvrez le Live Patching avec TuxCare

Devenez rédacteur invité de TuxCare

Commencer

Courrier

Rejoindre

4,500

Professionnels de Linux et de l'Open Source
!

S'abonner à
notre lettre d'information