En termes d'algorithmes, le second a en gros besoin de boucles pour faire x fois une tâche sur chaque machine, et parfois de trouver où est le serveur maître dans un cluster.
Alors il n'y en a pas trop besoin pour ça avec ansible. La description de ton infra se fait autrement (et c'est l'un des gros avantage). Par contre dans la pratique tu va potentiellement vouloir prendre chaque fichier de tel dossier et lancer une commande pour chacun.
Une des explications du succès d'Ansible, c'est que c'est assez facile à installer, utiliser et apprendre (ie courbe d'apprentissage à pente douce), par rapport aux premiers outils du genre (comme puppet par exemple).
Puppet est un langage de programmation classique ? Ce qui déchire tout avec ansible, c'est sa mise en place douce. Non seulement tu peut commencer à t'en servir facilement (pas besoin de rôle, de comprendre les modules, même pas besoin de comprendre l'idempotence), mais en plus il n'est pas nécessaire de demander à qui que ce soit avant de commencer à t'en servir. Tu n'a pas besoin de serveur ni d'agents. Donc les gens qui s'y intéressent peuvent commencer dans leur coin et montrer l'intérêt que ça a après coup.
Ceci étant dit, le langage Ansible (comme PHP apparemment) s'améliore peu à peu, à condition d'utiliser les versions récentes.
Ça restera toujours un langage bancale au dessus de yaml et vaguement inspiré par jinja2. On ne peux pas s'attendre à des choses incroyables quand on pars avec ce genre de base (et ça empire en fait avec loop). Ça donne vraiment l'impression que le projet a commencé en se disant que tout déclaratif c'était bien, puis s'est rendu compte qu'en fait il fallait quand même un peu de procédural...
Je ne me suis pas lancé dans la création de module, si c'est vraiment simple ça pourrait être une bonne façon de faire je trouve.
[^] # Re: Cool.
Posté par barmic . En réponse au journal Ansible: la version 2.7 beta 1 est disponible. Évalué à 3.
Alors il n'y en a pas trop besoin pour ça avec ansible. La description de ton infra se fait autrement (et c'est l'un des gros avantage). Par contre dans la pratique tu va potentiellement vouloir prendre chaque fichier de tel dossier et lancer une commande pour chacun.
Puppet est un langage de programmation classique ? Ce qui déchire tout avec ansible, c'est sa mise en place douce. Non seulement tu peut commencer à t'en servir facilement (pas besoin de rôle, de comprendre les modules, même pas besoin de comprendre l'idempotence), mais en plus il n'est pas nécessaire de demander à qui que ce soit avant de commencer à t'en servir. Tu n'a pas besoin de serveur ni d'agents. Donc les gens qui s'y intéressent peuvent commencer dans leur coin et montrer l'intérêt que ça a après coup.
Ça restera toujours un langage bancale au dessus de yaml et vaguement inspiré par jinja2. On ne peux pas s'attendre à des choses incroyables quand on pars avec ce genre de base (et ça empire en fait avec
loop). Ça donne vraiment l'impression que le projet a commencé en se disant que tout déclaratif c'était bien, puis s'est rendu compte qu'en fait il fallait quand même un peu de procédural...Je ne me suis pas lancé dans la création de module, si c'est vraiment simple ça pourrait être une bonne façon de faire je trouve.