¿Qué es Puppet? - Gestión de la configuración utilizando Puppet



What is Puppet es el primer blog de la serie de blogs Puppet. Explica la necesidad de Puppet & Configuration Management con un caso de uso.

Hoy en día, la herramienta más madura para la gestión de la configuración es Puppet. Pero sé que debe estar preguntándose por qué Puppet es tan popular y qué lo hace único, en comparación con otras herramientas de gestión de configuración.En este blog '¿Qué es la marioneta?', Responderé estas preguntas y te ayudaré a recorrer el camino de .

¿Qué es Puppet?

Puppet es una herramienta de gestión de la configuración que se utiliza para implementar, configurar y gestionar servidores. Realiza las siguientes funciones:





  • Definir configuraciones distintas para todos y cada uno de los hosts, y verificar y confirmar continuamente si la configuración requerida está en su lugar y no se modifica (si se modifica Puppet volverá a la configuración requerida) en el host.
  • Ampliación y reducción de escala dinámicas de máquinas.
  • Proporcionando control sobre todas sus máquinas configuradas, por lo que un cambio centralizado (servidor maestro o basado en repositorios) se propaga a todas automáticamente.

Puppet utiliza una arquitectura Master Slave en la que Master y Slave se comunican a través de un canal cifrado seguro con la ayuda de SSL. La arquitectura de marionetas se explica en detalle en mi Tutorial de marionetas blog.

Vea este video sobre Puppet para una mejor comprensión.



¿Qué es Puppet? | Entrenamiento DevOps | Edureka

Ahora que sabe qué es Puppet, comprendamos las razones detrás de la popularidad de Puppet.

Qué es Puppet - Métricas clave

A continuación se muestran algunos datos sobre Puppet:



  • Gran base instalada: Puppet es utilizado por más de 30.000 empresas en todo el mundo, incluidas Google, Red Hat, Siemens, etc., junto con varias universidades como Stanford y Harvard Law School. Un promedio de 22 organizaciones nuevas por día usan Puppet por primera vez.
  • Gran base de desarrolladores: El títere se usa tan ampliamente que mucha gente lo desarrolla. Puppet tiene muchos contribuyentes a su código fuente central.
  • Larga trayectoria comercial: Puppet ha estado en uso comercial desde 2005 y se ha perfeccionado y mejorado continuamente. Se ha implementado en infraestructuras muy grandes (más de 5000 máquinas) y las lecciones de rendimiento y escalabilidad aprendidas de estos proyectos han contribuido al desarrollo de Puppet.
  • Documentación: Puppet tiene una gran wiki mantenida por el usuario con cientos de páginas de documentación y referencias completas tanto para el idioma como para sus tipos de recursos. Además, se discute activamente en varias listas de correo y tiene un canal de IRC muy popular, por lo que sea cual sea su problema con Puppet, es fácil encontrar la respuesta.
  • Soporte de plataforma: Puppet Server puede ejecutarse en cualquier plataforma que admita ruby, por ejemplo: CentOS, Microsoft Windows Server, Oracle Enterprise Linux, etc. No solo es compatible con los nuevos sistemas operativos, sino que también se puede ejecutar en versiones de SO y Ruby relativamente antiguas y desactualizadas. también.

Ahora es evidente que Puppet tiene una gran demanda a nivel mundial. Pero, antes de profundizar en Puppet, es justo que primero explique qué es la Gestión de la Configuración y por qué es importante.

Gestión de la configuración

Los administradores del sistema suelen realizar tareas repetitivas como instalar servidores, configurar esos servidores, etc. Pueden automatizar esta tarea escribiendo scripts, pero es un trabajo muy ajetreado cuando se trabaja en una gran infraestructura.

Para resolver este problema, Gestión de la configuración Fue presentado. La gestión de la configuración es la práctica de gestionar los cambios de forma sistemática para que un sistema mantenga su integridad a lo largo del tiempo. Configuration Management (CM) asegura que el diseño actual y el estado de construcción del sistema sea conocido, bueno y confiable y no dependa del conocimiento tácito del equipo de desarrollo. Permite el acceso a un registro histórico preciso del estado del sistema para fines de auditoría y gestión de proyectos. La gestión de la configuración superó los siguientes desafíos:

  • Averiguar qué componentes cambiar cuando cambian los requisitos.
  • Rehacer una implementación porque los requisitos han cambiado desde la última implementación.
  • Volver a una versión anterior del componente si lo ha reemplazado por una versión nueva pero defectuosa.
  • Reemplazo del componente incorrecto porque no pudo determinar con precisión qué componente necesitaba ser reemplazado.

Entendamos su importancia a través de un caso de uso.

El mejor ejemplo que conozco es el de la Bolsa de Valores de Nueva York (NYSE). Un 'fallo' de software impidió que la Bolsa de Nueva York negociara acciones durante casi 90 minutos. Esto provocó pérdidas millonarias. Una nueva instalación de software causó el problema. Ese software se instaló en 8 de sus 20 terminales comerciales y el sistema se probó la noche anterior. Sin embargo, por la mañana, no funcionó correctamente en las 8 terminales. Por tanto, era necesario volver al software antiguo. Podría pensar que esto fue un fracaso del proceso de administración de configuración de NYSE, pero en realidad fue un éxito. Como resultado de un proceso de Gestión de la Configuración adecuado, NYSE se recuperó de esa situación en 90 minutos, lo cual fue bastante rápido. Si el problema hubiera continuado por más tiempo, las consecuencias habrían sido más graves.

Gestión de configuración en NYSE - ¿Qué es Puppet? - Edureka

ordenar una matriz c ++

Ahora, espero que conozca la importancia de la gestión de la configuración. La etapa de gestión de la configuración se puede considerar como la columna vertebral de DevOps. Permite lanzamientos de software más frecuentes de la manera más segura y confiable posible.

A continuación, veamos algunas aplicaciones de Puppet.

¿Qué es Puppet? Aplicaciones de Puppet

Entendamos las aplicaciones de Puppet usando un caso de estudio. Si eres un entusiasta del póquer o si alguna vez has jugado juegos en línea, entonces debes haber oído hablar de Zynga. Es el desarrollador de juegos sociales más grande del mundo. La infraestructura de Zynga utiliza decenas de miles de servidores tanto en la nube pública como en los centros de datos privados. Al principio, utilizaban un proceso manual, que incluía kickstarters y postinstalaciones para poner cientos de servidores en línea.

Ahora, veremos qué problemas enfrentaron con este proceso:

  • Escalabilidad y coherencia - Zynga estaba experimentando un crecimiento fenomenal y su infraestructura necesitaba mantenerse al día con la industria. Las soluciones basadas en scripts y los enfoques manuales no eran suficientes para sus necesidades.
  • Infraestructura portátil - Zynga necesitaba una forma de aprovechar un enfoque de gestión de configuración coherente tanto en su infraestructura de nube pública como en sus propios centros de datos.
  • Flexibilidad - Dada la diversidad de las diversas propiedades de juego de Zynga, era importante que el equipo pudiera encontrar rápidamente la configuración adecuada para la máquina adecuada.
  • Información sobre la infraestructura - A medida que la organización maduraba, se volvió más importante tener un método automatizado para visualizar las propiedades de cada máquina.

La empresa fue lo suficientemente inteligente como para darse cuenta rápidamente de la necesidad de un proceso automatizado incluso antes de que alcanzaran un escalado rápido, entonces fue cuando Puppet entró en escena. Entendamos cómo Puppet contribuye a su organización.

  • Velocidad de recuperación - El equipo de operaciones de producción puede implementar rápidamente la configuración correcta en el cuadro correcto. Si un sistema se reconfigura de manera inapropiada, Puppet lo revertirá automáticamente a un último establo estado,o proporcionar los detalles necesarios para reparar manualmente un sistema rápidamente.
  • Velocidad de implementación - Puppet ha proporcionado importantes ahorros de tiempo en la forma en que el equipo de operaciones ofrece servicios para los estudios de juegos.
  • Consistencia de servidores - El marco basado en modelos de Puppet garantiza implementaciones consistentes. De acuerdo a Mark Stockford, vicepresidente de operaciones de producción , Zynga “Es evidente que hemos experimentado ahorros de tiempo. La belleza de usar Puppet es que nos permite ofrecer configuraciones consistentes en nuestros servidores en un corto período de tiempo '.
  • Colaboración - Tener un enfoque basado en modelos facilita compartir configuraciones en toda la organización, lo que permite que los desarrolladores y los equipos de operaciones trabajen juntos para garantizar que la prestación de nuevos servicios sea de una calidad extremadamente alta. Más de una docena de personas del equipo de Zynga se capacitaron en Puppet.Este conocimiento se ha difundido a todo el equipo y a los equipos de operaciones dentro de cada estudio de juego individual.

After What is Puppet blog , haga clic aquí para visitar mi próximo blog sobre Tutorial de marionetas que incluirá la arquitectura de Puppet y componentes de Puppet. También explicaré los pasos para implementar MySQL y PHP usando Puppet. Puppet es la herramienta más utilizada para lograr DevOps en organizaciones con gran infraestructura.

Si encontraste esto blog en ' Que es Puppet 'Relevante, revisar la por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. El curso de formación de certificación de Edureka DevOps ayuda a los alumnos a adquirir experiencia en diversos procesos y herramientas de DevOps, como Puppet, Jenkins, Nagios y GIT, para automatizar varios pasos en SDLC.