Le 2025-09-19T12:20:07.000+02:00, Jean-Yves LENHOF via FRsAG <frsag@frsag.org> a écrit :
Le 19/09/2025 à 11:35, Nec via FRsAG a écrit :
  Le 18/09/2025 à 18:11, Jonathan Leroy via FRsAG a écrit :
  Hello,[...]
  @work on a toujours considéré que les deux approches suivantes étaient 
 différentes et complémentaires :
 - l'audit continu avec correction et convergence vers un état souhaité
 - pousser one-shot une série de directives vers un ensemble de 
 serveurs/services/configs.
 Pour l'audit continu, j'ai passé pas mal d'années avec le grand-père 
 de tous les Puppet/Salt/Chef, à savoir Cf-Engine (issu de recherches 
 universitaires), mais il faut reconnaître qu'en plus d'apprendre à 
 maîtriser le langage bien spécifique et au comportement curieux, il a 
 fallu s'acculturer à des attitudes pas forcément ergonomiques.
 Après plusieurs années et à l'occasion d'un nouveau job, je suis passé 
 sur sa version user-friendly : Rudder. Dans les premières années, 
 Rudder était totalement basé sur cf-engine, mais en tant 
 qu'utilisateur, tout se gère via une interface web. Comme tous ces 
 produits, le plus confortable consiste à rester dans les limites 
 "builtin" du produit, et éviter si possible de ré-écrire ses propres 
 directives. Mais c'est évidemment possible de le faire, d'y ajouter 
 ses templates, etc...
 Le GUI Web nous synthétise en permanence le pourcentage de convergence 
 de notre parc par rapport à nos directives.
 La boîte qui tient ce produit se nomme Normation, et est me 
 semble-t-il Lyonnaise et québécoise. Elle existe depuis un bon nombre 
 d'années, elle me semble stable, et les rapports qu'on a avec les devs 
 via leur Redmine + forum sont des plus agréables, depuis au moins 10 ans.
 Pour l'aspect one-shot, on a absolument tout basé sur Ansible, et 
 comme l'ont dit les collègues, l'usage des collections fut une 
 révélation, en plus de tout ce qui marche déjà vraiment très bien pour 
 nos usages.
 La lenteur générale d'Ansible n'est pas un frein chez nous, car comme 
 indiqué, ces actions one-shot ne se déroulent jamais dans un contexte 
 d'urgence.
 
Qq commentaires
Avec ansible on relance tout et c'est à la charge des modules de gérer 
l'idempotence, ce qui est plutôt bien fait... Dans les quelques rares 
cas où on utilise le module shell/command parce qu'on ne peut faire 
autrement, il faut bien blinder avec des conditions pour essayer de 
rendre idempotent
Sinon pour les aspects vitesses, il est possible de tuner un peu 
ansible, voici par exemple un guide sur le sujet :
https://spacelift.io/blog/how-to-improve-ansible-performance
ansible peut être lent, mais avec mitogen, ca va vraiment beaucoup plus vite. mes playbooks se déroulent souvent x5 plus vite. Et il est très fortement recommandé comme indiqué sur le lien ci dessus d'utiliser redis pour les facts. Avec les jsonfile, il faut s'attendre à beaucoup d’accès disques et même des "Too many open files" quand la cible est volumineuse.
sinon, alternative ansible (push) que je n'ai pas encore essayé: ansible-pull. Chaque noeud execute le(s) playbook(s) en local. Il y a des avantages et inconvénients comme toute solution.