Puppet — кроссплатформенное клиент-серверное приложение, разработанное Puppet Labs, которое позволяет централизованно управлять конфигурацией операционных систем и программ, установленных на нескольких компьютерах. Написано на языке программирования Ruby. Наряду с Chef отмечается как одно из самых актуальных средств конфигурационного управления по состоянию на 2013 год.

Puppet позволяет просто настроить и впоследствии быстро управлять практически любой сетью на базе любой операционной системы Red Hat Enterprise Linux, CentOS, Fedora, Debian, Ubuntu, OpenSUSE, Solaris, BSD, macOS и Microsoft Windows (через cygwin).

Система Puppet достаточно популярна в среде IT-компаний, в частности, её используют Google, Яндекс, Fedora Project, Стэнфордский университет, Red Hat, Siemens IT Solution, SugarCRM, Mail.Ru.

Puppet использует модель с открытым ядром. Бесплатная версия была выпущена под лицензией GNU General Public License (GPL) версии 2 до версии 2.7.0, а более поздние версии Puppet используют уже лицензию Apache. Версия Puppet Enterprise использует проприетарную лицензию.

Дизайн Puppet состоит из специального декларативного предметно-ориентированном языка для описания конфигурации системы. Управляется моделью и требует ограниченных знаний в области программирования для использования. Предназначен для декларативного управления конфигурацией Unix-подобных систем и систем Microsoft Windows.

Архитектура Puppet следует клиент-серверной архитектуре. Клиент называется агентом, а сервер — мастером. Для тестирования и простой настройки Puppet можно также использовать как автономное приложение, запускаемое из командной строки.

Puppet Server устанавливается на одном или нескольких серверах, а Puppet Agent устанавливается на всех управляемых машинах. Узлы сети, управляемые с помощью Puppet, периодически опрашивают сервер, получают и применяют внесённые администратором изменения в конфигурацию.

Синтаксис ресурса в Puppet:

type { 'title': attribute => value }

Пример ресурса, описывающего пользователя в Unix:

user { 'harry': ensure => present, uid => '1000', shell => '/bin/bash', home => '/var/tmp' }

Разработчик

Puppet Inc., разработчик Puppet, была основана в 2005 году Люком Каньесом и является частной компанией по разработке ПО для автоматизации информационных технологий (ИТ) со штаб-квартирой в Портленде, штат Орегон, США.

В феврале 2011 года Puppet выпустила свой первый коммерческий продукт Puppet Enterprise, созданный на основе открытого исходного кода с некоторыми дополнительными коммерческими компонентами.

В сентябре 2017 года Puppet приобрела компанию Distelli, занимающуюся автоматизацией инфраструктуры. Puppet переименовала VM Dashboard (продукт непрерывной интеграции / непрерывной доставки) в Puppet Pipelines for Applications (для приложений), а K8s Dashboard в Puppet Pipelines for Containers (для контейнеров) и выпустила продукты в октябре 2017 года. В мае 2018 года был выпущен Puppet Discovery – инструмент для обнаружения и управления ресурсами в гибридных сетях.

В июне 2018 года Puppet привлекла дополнительно $42 миллиона долларов США.

В апреле 2022 года было объявлено, что Puppet приобретена разработчиком программного обеспечения Perforce (штаб-квартира в Миннеаполисе). Впоследствии компания уволила 15 % сотрудников Puppet в Портленде.

Примечания

Литература

Ссылки Официальный сайт Introduction to Puppet Language Guide Централизованная настройка UNIX-систем с помощью Puppet

Категория:Сетевое программное обеспечение Категория:Конфигурационное управление Категория:Свободное программное обеспечение, написанное на Ruby