On 26/06/2012 20:10, Florian Maury wrote:
Le 26 juin 2012 à 11:28, Wallace a écrit :
Autre élément qui m'a rebuté sur Puppet et qui est résolu avec Ansible que je vais tester, pas de daemon qui tourne sur la machine. Autant je ne suis pas contre, j'utilise des daemons nrpe sans soucis, autant le client Puppet était vraiment trop lourd en mémoire (Python effect). Or J'ai certaines vm qui n'ont pas besoin de plus de 128Mo de ram, leur ajouter Puppet les faisaient swaper, alors que l'ajout de nrpe et d'un dameon perso en C n'a pas posé de souci.
Bonjour, Je suis étonné de ne pas avoir lu le moindre email sur cfengine. Les prérequis exprimés dans l''email auquel je réponds m'y font particulièrement pensé. Je ne l'ai pas mis en place, faute de changement de carrière : je ne pourrais donc fournir de retour d'expérience. Cependant, lorsque j'avais regardé les différentes solutions, j'avais été rebuté par Puppets pour son coté trop... développeur (je déteste l'idée d'intégrer du code (qui plus est ruby, non standard dans les distribs que j'utilise, au contraire de perl et python) à droite à gauche de cette manière) et j'avais été assez charmé par l'aspect "lightweight" de cfengine, sans compter sa security track plutôt bonne (malgré qu'il soit écrit en C (troll free)). Bref, c'était probablement la solution vers laquelle je me serai orienté.
Qqn a des retours ou des commentaires ?
Florian Maury
Bonsoir,
Comparer Ansible et Puppet/Chef/CFEngine, c'est un peu comme comparer une voiture qu'on démarre avec une manivelle et une Google Car (j'ai pas de meilleure métaphore en tête). Pourquoi ?
Parce qu'Ansible n'est PAS un outil de gestion de configuration. C'est un outil qui permet d'automatiser le SSH vers pleins de machines d'un coup, et d'exécuter des scripts. En résumé, c'est une armée de sysadmin.
Ca laisse de coté deux pans important de la gestion de configuration : - La Vigilance : un outil comme Puppet/Chef/CFEngine va tourner à intervalle régulier, et comparer l'état de la machine avec l'état désiré. Sans qu'un humain doive agir, après avoir regardé des probes Nagios, ou je ne sais quoi. (D'ailleurs, si des éléments sont vérifiés par Nagios/Shinken/InserezVotreOutilDeMonitoringPreferé, pourquoi devoir *en plus* avoir des scripts pour les corriger ? Ca ne serait pas plus pertinent de n'avoir qu'un seul outil qui les gère ?)
- La Sécurité : Gérer une machine à distance, c'est possible uniquement si elle autorise des systèmes distants à se connecter, en root (ou Administrateur), directement, ou via un sudo (donc le mot de passe root est stocké?). En terme de sécurité, c'est pas hyper génial (mais il y a des moyens de sécuriser un peu quand même). Par contre, gérer à distance, c'est impossible quand la machine n'est plus accessible (par exemple une attaque qui coupe le reseau entre le serveur Ansible et la machine cible), c'est pas très scalable, et si le serveur qui gère est mort, tout s'arrête (enfin, rien de peut être changé manuellement) Les outils CFEngine/Chef/Puppet ont une version locale des promesses/recettes/manifests qui les rend résilient à une panne réseau; et c'est en fonction de ces règles qu'ils décideront d'aller parler à un serveur ou non (avec peut être plusieurs serveurs différents), et avec ca on peut commencer à être scalable
Après, je dis pas qu'Ansible ne repond à aucun besoin, c'est juste que ca n'est pas un outil de gestion de configuration.
Pour répondre au dernier mail, maintenant que j'ai un peu ralé, j'utilise CFEngine 3 depuis 2009 (je suis un early adopter de la version 3). Et pour mes besoins, c'est probablement le meilleur outil parce qu'il est multiplateforme (pour de vrai, c'est juste un paquet à poser, ou alors ca se compile très bien), n'a pas d'impact sur les serveurs (je plafonne à 15 Mo de RAM en pleine charge, et qq % de CPU), il tourne toutes les 5 minutes donc laisse des fenêtres très courtes de non-conformité.
Bref, j'en suis fan !
Nicolas < nouvel inscrit sur la mailing liste >