Question Quand est-il approprié d'utiliser un gestionnaire de configuration (par exemple, Puppet / Chef / Ansible)?


Sur mon lieu de travail actuel, je m'occupe de deux machines hôtes VMware, une machine physique OpenBSD, trois machines virtuelles Debian et six machines virtuelles Windows Server (2008/2012).

J'envisage de mettre en place un outil de gestion de la configuration tel que Puppet ou Chef. Est-ce raisonnable ou les frais généraux liés à l'apprentissage de l'outil l'emporteront-ils sur les avantages? Où est le point de basculement entre la facilité de gestion et le coût de mise en œuvre?


17
2018-04-07 04:36


origine


C'est "approprié" dès que vous avez besoin de gérer une configuration - vous avez besoin de vous remettre d'un sinistre? Besoin de passer à un nouveau centre de données? Besoin d'élargir horizontalement? Si vous faites à la main, vous le faites faux. "Le faire deux fois? Écris le." - warren
Cela dépend de ce que vous devez faire avec / avec ces systèmes. - ewwhite


Réponses:


IMHO ça vaut la peine d'apprendre même si vous ne gérez qu'un seul serveur,

Oui, il y aura une courbe d'apprentissage. Oui, vous serez frustré. Pour ces coûts, cependant, vous serez remboursé en plusieurs fois grâce à des déploiements en un clic fiables et cohérents, à une configuration de serveur sous contrôle de version, à la facilité de configuration d'environnements de test / dev, etc.

Outre les avantages de votre emploi actuel, la possibilité d'ajouter un système CM à votre CV représente un avantage considérable. Les administrateurs système modernes devraient maintenant avoir au moins exposition à un système de gestion de configuration, sinon compétence.

(Sidenote: considérez aussi Ansible. C’est mon CM préféré, et c’est très facile à utiliser - beaucoup plus facile que Puppet ou Chef. De plus, le support de Windows dans Ansible avance bien.)


25
2018-04-07 05:04



Bien dit. Je finis par utiliser Ansible sur des choses triviales comme la mise en place d’un framboise pi à la maison car c’est un moyen pratique pour moi de documenter le processus. - tedder42
Absolument! Entrer dans Chef a été une énorme victoire pour ma carrière. Voici la vraie chose: dans quelques années, CM sera presque nécessaire / attendu pour tous les emplois SysAd, sauf les plus jeunes. - gWaldo
Tout à fait d'accord. L'accent est mis trop sur l'automatisation de l'installation, qui ne constitue qu'une partie des systèmes CM. Les gens oublient ce que M représente - la gestion. Comment suivez-vous les différentes modifications de configuration que vous apportez à un serveur? Le nombre de serveurs n'a pas d'importance. Lorsque ce serveur 1 meurt, vous êtes heureux de pouvoir le reconstruire exactement sans aucun doute. - ETL


J'envisage de mettre en place un outil de gestion de la configuration tel que Puppet ou Chef. Est-ce raisonnable ou les frais généraux liés à l'apprentissage de l'outil l'emporteront-ils sur les avantages?

C'est raisonnable, en fonction du temps et de l'argent que vous avez à dépenser et du fait que vous dépensiez ou non votre argent.

Un outil de gestion de la configuration (n’importe lequel d’entre eux) devient une compétence précieuse sur le marché actuel.

Passer du temps à apprendre et à mettre en œuvre un outil de gestion de la configuration n'est peut-être pas la chose la plus efficace à faire du point de vue de votre entreprise ou de votre environnement, mais de vos compétences, cela peut valoir la peine.

Où est le point de basculement entre la facilité de gestion et le coût de mise en œuvre?

La plupart des outils de gestion de la configuration sont disponibles gratuitement, mais ils sont plus difficiles à installer et à utiliser.

Il est difficile de répondre à cette question, car cela dépend vraiment de ce que vous faites quotidiennement pour gérer ces serveurs. Si vous n'êtes pas obligé de faire grand-chose, un outil de gestion de la configuration peut être excessif.

Si vous avez seulement besoin d'imposer votre infrastructure dans un état prévisible et basique, vous n'aurez peut-être pas beaucoup de mal à acquérir les bases de quelque chose comme SaltStack ou Ansible.

D'après mon expérience personnelle, Salt est très facile à démarrer et à démarrer sur des serveurs. Il peut être utilisé pour l'exécution et les rapports à distance très élémentaires, ce qui peut s'avérer utile si vous ne l'avez pas déjà implémenté dans votre environnement.

Gardez à l'esprit, je suis partial. Vous devriez évaluer chaque outil de gestion de contenu par vous-même.


5
2018-04-07 14:34





Comme @EEAA, le nombre de serveurs n’a aucune importance. Vous pouvez tirer parti de l'utilisation de la gestion de la configuration avec une seule machine:

  • configuration documentée (documentée via les scripts CM)
  • déploiement fiable (vous pouvez [re] déployer votre configuration encore et encore
  • la résilience de la configuration (serveur croassement actuel - en créer un nouveau)
  • réutilisation (lorsque vous arrivez à avoir un deuxième serveur - vous avez déjà des scripts CM que vous pouvez recycler à partir du premier)
  • mises à niveau (c'est un peu comme une nouvelle configuration, juste au sommet d'une plate-forme différente)

Je peux dire que je devais implémenter CM pour tous mes serveurs personnels, car je n'y travaillais que très rarement et oubliais tous les petits détails. Avoir des scripts CM peut sembler prendre beaucoup de temps (c'est), la période de récupération en vaut la peine. À long terme, vous économiserez beaucoup plus de temps que vous passerez à mettre les choses en place.


4
2018-04-09 14:12





J'ai de l'expérience avec Puppet et Ansible. Ansible est plus simple à l’OMI, car il est procédural, tandis que Puppet est déclaratif. Il y a des avantages et des inconvénients à la fois, mais j'ai tiré assez de cheveux en raison des erreurs cryptiques de Puppet.

Les deux nécessitent beaucoup de travail si vous souhaitez créer une configuration propre et réutilisable. Les coûts commencent à être vraiment rentables si vous avez au moins deux serveurs très similaires, par exemple. nuages ​​ou amas.

Cependant, il a une certaine utilité même pour les serveurs autonomes - vous pouvez configurer des utilisateurs admin, des configs standard (avec des variations locales) sshd, postfix ou snmpd et les utiliser pour une simple collecte d'informations, comme le respect de règles ou le test de vulnérabilité de shellshock.

En outre, comme indiqué par EEAA, il est utile de documenter la configuration si vous vérifiez que le serveur passe réellement de l'état de base à l'état d'exécution. Il est bon de le combiner avec le système de contrôle de version (git), afin que les modifications que vous apportez soient versées et documentées. C'est très utile si vous avez une équipe d'administrateurs.


3
2018-04-07 15:14





Puppet ou tout autre système de gestion apporte de grands avantages qui ont tous été soulignés par d’autres réponses, mais il n’ya pas de solution miracle en matière de gestion.

Par exemple, la création de classes de marionnettes pour des systèmes complexes coûte beaucoup de temps et d’efforts, parfois même énormément, car les pièges sont nombreux et les messages d’erreur ne sont pas toujours clairs. Lorsque les mises à niveau logicielles sont mises à niveau, vous devez investir du temps pour adapter vos classes de marionnettes aux nouvelles spécifications. ou procédure et déterminez quelle approche convient le mieux (marionnette, par exemple, déclarative et une mise à niveau est généralement procédurale)

Vous devez également comprendre comment vous envisagez d'appliquer les modifications apportées à vos classes de manière contrôlée et comment gérer les différentes versions de vos manifestes.

Vous devez également envisager la mise à niveau de votre solution de gestion le moment venu.

Si vous passez beaucoup de temps à écrire, par exemple, sur des cours de marionnettes, vous devrez effectuer de nombreuses installations en un clic pour en tirer de réels avantages.

Je recommande d’explorer toujours et le cas échéant, c’est-à-dire que la distribution de fichiers de configuration peut être un bon point de départ pour commencer.


1
2018-04-09 15:40