Qu'est-ce que Puppet? - Gestion de la configuration à l'aide de Puppet

What is Puppet est le premier blog de la série de blogs Puppet. Il explique le besoin de Puppet & Configuration Management avec un cas d'utilisation.

Aujourd'hui, l'outil le plus mature pour la gestion de la configuration est Puppet. Mais je sais que vous devez vous demander pourquoi Puppet est si populaire et ce qui le rend unique, par rapport aux autres outils de gestion de la configuration.Dans ce blog «What is Puppet», je répondrai à ces questions pour vous et vous aiderai à suivre le chemin de .



Qu'est-ce que la marionnette?

Puppet est un outil de gestion de la configuration utilisé pour déployer, configurer et gérer des serveurs. Il remplit les fonctions suivantes:



  • Définir des configurations distinctes pour chaque hôte et vérifier et confirmer en permanence si la configuration requise est en place et n'est pas modifiée (si elle est modifiée, Puppet reviendra à la configuration requise) sur l'hôte.
  • Augmentation et réduction dynamiques des machines.
  • Fournir le contrôle de toutes vos machines configurées, de sorte qu'un changement centralisé (serveur maître ou basé sur le dépôt) est automatiquement propagé à tous.

Puppet utilise une architecture maître esclave dans laquelle le maître et l'esclave communiquent via un canal crypté sécurisé à l'aide de SSL. L'architecture des marionnettes est expliquée en détail dans mon Tutoriel sur les marionnettes Blog.

Regardez cette vidéo sur Puppet pour une meilleure compréhension.



Qu'est-ce que Puppet? | Formation DevOps | Edureka

Maintenant que vous savez ce qu'est Puppet, laissez-nous comprendre les raisons de la popularité de Puppet.

Qu'est-ce que Puppet - Mesures clés

Voici quelques faits sur Puppet:



  • Grande base installée: Puppet est utilisé par plus de 30 000 entreprises dans le monde, dont Google, Red Hat, Siemens, etc., ainsi que par plusieurs universités comme la faculté de droit de Stanford et de Harvard. En moyenne, 22 nouvelles organisations par jour utilisent Puppet pour la première fois.
  • Grande base de développeurs: La marionnette est si largement utilisée que beaucoup de gens s'y développent. Puppet a de nombreux contributeurs à son code source principal.
  • Longue expérience commerciale: Puppet est utilisé commercialement depuis 2005 et a été continuellement affiné et amélioré. Il a été déployé dans de très grandes infrastructures (plus de 5 000 machines) et les leçons de performance et d’évolutivité tirées de ces projets ont contribué au développement de Puppet.
  • Documentation: Puppet a un grand wiki géré par l'utilisateur avec des centaines de pages de documentation et des références complètes pour le langage et ses types de ressources. De plus, il est activement discuté sur plusieurs listes de diffusion et dispose d'un canal IRC très populaire, donc quel que soit votre problème avec Puppet, il est facile de trouver la réponse.
  • Prise en charge de la plate-forme: Puppet Server peut fonctionner sur n'importe quelle plate-forme prenant en charge ruby, par exemple: CentOS, Microsoft Windows Server, Oracle Enterprise Linux, etc. ainsi que.

Il est maintenant évident que Puppet a une énorme demande dans le monde. Mais avant de plonger profondément dans Puppet, il est juste que je commence par expliquer ce qu'est la gestion de la configuration et pourquoi elle est importante.

Gestion de la configuration

Les administrateurs système exécutent généralement des tâches répétitives telles que l'installation de serveurs, la configuration de ces serveurs, etc. Ils peuvent automatiser cette tâche, en écrivant des scripts, mais c'est un travail très chargé lorsque vous travaillez sur une grande infrastructure.

Pour résoudre ce problème, Gestion de la configuration a été présenté. La gestion de la configuration est la pratique consistant à gérer systématiquement les modifications afin qu'un système conserve son intégrité au fil du temps. La gestion de la configuration (CM) garantit que la conception actuelle et l'état de construction du système sont connus, bons et fiables et ne reposent pas sur les connaissances tacites de l'équipe de développement. Il permet d'accéder à un historique précis de l'état du système à des fins de gestion de projet et d'audit. La gestion de la configuration a surmonté les défis suivants:

  • Déterminer quels composants changer lorsque les exigences changent.
  • Refaire une implémentation car les exigences ont changé depuis la dernière implémentation.
  • Revenir à une version précédente du composant si vous l'avez remplacé par une nouvelle version défectueuse.
  • Remplacement du mauvais composant car vous n’avez pas pu déterminer avec précision quel composant devait être remplacé.

Comprenons son importance à travers un cas d'utilisation.

Le meilleur exemple que je connaisse est celui de la Bourse de New York (NYSE). Un «pépin» logiciel a empêché le NYSE de négocier des actions pendant près de 90 minutes. Cela a entraîné des millions de dollars de pertes. Une nouvelle installation de logiciel a causé le problème. Ce logiciel a été installé sur 8 de ses 20 terminaux de trading et le système a été testé la nuit précédente. Cependant, le matin, il n'a pas fonctionné correctement sur les 8 terminaux. Il était donc nécessaire de revenir à l'ancien logiciel. Vous pourriez penser que c’était un échec du processus de gestion de la configuration de NYSE, mais en réalité, c’était un succès. Grâce à un processus de gestion de la configuration approprié, NYSE s'est remis de cette situation en 90 minutes, ce qui était assez rapide. Si le problème avait persisté plus longtemps, les conséquences auraient été plus graves.

Gestion de la configuration à NYSE - Qu

Maintenant, j'espère que vous connaissez l'importance de la gestion de la configuration. L'étape de gestion de la configuration peut être considérée comme l'épine dorsale de DevOps. Il permet des versions de logiciels plus fréquentes de la manière la plus sûre et la plus fiable possible.

fusionner l'algorithme de tri c ++

Voyons ensuite quelques applications de Puppet.

Qu'est-ce que Puppet - Applications de Puppet

Comprenons les applications de Puppet à l'aide d'une étude de cas. Si vous êtes un passionné de poker ou si vous avez déjà joué à des jeux en ligne, vous devez avoir entendu parler de Zynga. C'est le plus grand développeur de jeux sociaux au monde. L’infrastructure de Zynga utilise des dizaines de milliers de serveurs dans le cloud public et les centres de données privés. Au début, ils utilisaient un processus manuel, y compris des kickstarters et des post-installations pour mettre en ligne des centaines de serveurs.

Maintenant, nous allons voir à quels problèmes ils ont été confrontés avec ce processus:

  • Évolutivité et cohérence - Zynga connaissait une croissance phénoménale et son infrastructure devait suivre le rythme de l'industrie. Les solutions basées sur des scripts et les approches manuelles ne suffisaient pas à leurs besoins.
  • Infrastructure portable - Zynga avait besoin d'un moyen de tirer parti d'une approche cohérente de gestion de la configuration dans son infrastructure de cloud public et dans ses propres centres de données.
  • La flexibilité - Compte tenu de la diversité des différentes propriétés de jeu Zynga, il était important pour l'équipe de pouvoir rapidement faire correspondre la bonne configuration pour la bonne machine.
  • Informations sur l'infrastructure - Au fur et à mesure que l'organisation a mûri, il est devenu plus important d'avoir une méthode automatisée de visualisation des propriétés de chaque machine.

L'entreprise a été suffisamment intelligente pour réaliser rapidement la nécessité d'un processus automatisé avant même de passer à une mise à l'échelle rapide, c'est alors que Puppet est entré en scène. Comprenons comment Puppet contribue à leur organisation.

  • Vitesse de récupération - L'équipe des opérations de production peut rapidement déployer la bonne configuration dans la bonne boîte. Si un système est reconfiguré de manière inappropriée, Puppet le rétablira automatiquement dans une dernière stable Etat,ou fournissez les détails nécessaires pour corriger manuellement un système rapidement.
  • Vitesse de déploiement - Puppet a permis à l'équipe des opérations de fournir des services aux studios de jeux.
  • Cohérence des serveurs - La structure basée sur les modèles de Puppet garantit des déploiements cohérents. Selon Mark Stockford, vice-président des opérations de production , Zynga «Il est évident que nous avons réalisé des gains de temps. La beauté de l'utilisation de Puppet est qu'elle nous permet de fournir des configurations cohérentes sur nos serveurs dans un court laps de temps à chaque fois. »
  • Collaboration - Une approche basée sur les modèles facilite le partage des configurations au sein de l'organisation, permettant aux développeurs et aux équipes opérationnelles de travailler ensemble pour garantir que la nouvelle prestation de services est de très haute qualité. Plus d’une douzaine de personnes de l’équipe de Zynga ont été formées à Puppet.Ces connaissances ont été diffusées dans toute l'équipe et aux équipes opérationnelles de chaque studio de jeu individuel.

Blog After What is Puppet , cliquez ici pour visiter mon prochain blog sur Puppet Tutorial qui comprendra l'architecture Puppet et les composants de Puppet. J'expliquerai également les étapes pour déployer MySQL et PHP à l'aide de Puppet. Puppet est l'outil le plus utilisé pour réaliser le DevOps dans les organisations disposant d'une grande infrastructure.

Si vous avez trouvé ceci blog sur ' Qu'est-ce que la marionnette 'Pertinent, Vérifiez par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Le cours de formation à la certification Edureka DevOps aide les apprenants à acquérir une expertise dans divers processus et outils DevOps tels que Puppet, Jenkins, Nagios et GIT pour automatiser plusieurs étapes dans SDLC.