Pour moi l'avantage de Puppet, c'est qu'il n'utilise pas Ruby. :-)
Je n'ai pas envie d'apprendre un langage ainsi que l'ensemble des bibliothèques associées avant de pouvoir déployer un truc.
Et c'est bien là que réside la différence de philosophie entre les 2 outils.
Avec Chef, tu développe des scripts.
Avec Puppet tu décris l'archi que tu veut déployer (il utilise un langage déclaratif).
Pour configurer un cluster, tu peut utiliser les exported ressources. Dans mon cas, je l'utilise pour que chaque base de données déployée modifie automatiquement la config de mon serveur bacula pour y inclure le backup de ces BD.
Puppet apporte son propre langage et son propre mode d'exécution et c'est comme avec l'apprentissage de chaque nouveau langage, au début on galère, après tout vient bien plus vite, j'en conviens.
Mais pour moi, utiliser Chef n'aurait pas été plus facile (peut être plus, ruby est plus riche que puppet). Après il m'a quand même fallu apprendre ruby lorsque j'ai voulu étendre les possibilitées de puppet (même si on peut faire déjà pas mal de chose, écrire des types personnalisés est plus propre dans certains cas).
En tout cas, je reste convaincu de l'intérêt d'avoir un langage déclaratif pour décrire un déploiement. Quand tu lis du puppet, tu sais ce qui est installé. Quand tu lis du Chef, tu est obligé d'imaginer chaque étape pour comprendre le résultat final.
Autre élément intéressant quand le déploiement plante au milieu, puppet est capable de reprendre là où il s'était arrêté. Avec un script...
[^] # Re: Chef
Posté par Sylvain AVRIL . En réponse à la dépêche HAProxy 1.4, Chef 0.8.2 et GNU Social. Évalué à 2.
Je n'ai pas envie d'apprendre un langage ainsi que l'ensemble des bibliothèques associées avant de pouvoir déployer un truc.
Et c'est bien là que réside la différence de philosophie entre les 2 outils.
Avec Chef, tu développe des scripts.
Avec Puppet tu décris l'archi que tu veut déployer (il utilise un langage déclaratif).
Pour configurer un cluster, tu peut utiliser les exported ressources. Dans mon cas, je l'utilise pour que chaque base de données déployée modifie automatiquement la config de mon serveur bacula pour y inclure le backup de ces BD.
Puppet apporte son propre langage et son propre mode d'exécution et c'est comme avec l'apprentissage de chaque nouveau langage, au début on galère, après tout vient bien plus vite, j'en conviens.
Mais pour moi, utiliser Chef n'aurait pas été plus facile (peut être plus, ruby est plus riche que puppet). Après il m'a quand même fallu apprendre ruby lorsque j'ai voulu étendre les possibilitées de puppet (même si on peut faire déjà pas mal de chose, écrire des types personnalisés est plus propre dans certains cas).
En tout cas, je reste convaincu de l'intérêt d'avoir un langage déclaratif pour décrire un déploiement. Quand tu lis du puppet, tu sais ce qui est installé. Quand tu lis du Chef, tu est obligé d'imaginer chaque étape pour comprendre le résultat final.
Autre élément intéressant quand le déploiement plante au milieu, puppet est capable de reprendre là où il s'était arrêté. Avec un script...