Puppet

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Puppet
Логотип программы Puppet
Скриншот программы Puppet
Тип Управление конфигурацией
Разработчик Puppet Labs[вд]
Написана на Ruby
Операционные системы UNIX[2], macOS[2], Windows[2] и Linux[2]
Первый выпуск 2005
Последняя версия
Репозиторий github.com/puppetlabs/pu…
Лицензия Apache License 2.0[3]
Сайт puppet.com/open-s… (англ.)
Логотип Викисклада Медиафайлы на Викискладе

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

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

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

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

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

Архитектура

[править | править код]

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

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

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

type { 'title':
  attribute => value
}

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

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

Разработчик

[править | править код]
Основатель Puppet Люк Каньес

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

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

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

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

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

Примечания

[править | править код]
  1. Release 8.5.1 — 2024.
  2. 1 2 3 4 Puppet system requirements
  3. https://github.com/puppetlabs/puppet/blob/master/LICENSE
  4. Rao, Leena Cisco, Google Ventures, VMware Put $8.5M In Data Center Automation Startup Puppet Labs (амер. англ.). TechCrunch (29 ноября 2011). Дата обращения: 11 июля 2024.
  5. 1 2 xakep: ru Master of puppets: Установка и настройка системы удаленного управления конфигурацией Puppet. Дата обращения: 21 мая 2011. Архивировано из оригинала 29 января 2013 года.
  6. Peter Wayner. Puppet or Chef: The configuration management dilemma. Puppet is model-driven, Ruby is procedural, and both are large, messy, open source ecosystems plagued with pitfalls (англ.). Infoworld (27 марта 2013). — «There are a number of other notable projects with readable names like Ansible and unreadable names like Bcfg2, but Puppet and Chef seem to have gathered the most excitement for now.» Дата обращения: 17 октября 2014. Архивировано 15 октября 2014 года.
  7. docs-archive/pe/2.0 at main · puppetlabs/docs-archive (англ.). GitHub. Дата обращения: 11 июля 2024.
  8. Puppet system requirements. www.puppet.com. Дата обращения: 11 июля 2024.
  9. puppet/LICENSE at main · puppetlabs/puppet (англ.). GitHub. Дата обращения: 11 июля 2024.
  10. Open Source Puppet Free Download | Puppet by Perforce. www.puppet.com. Дата обращения: 11 июля 2024.
  11. Apache Tomcat® - Welcome! tomcat.apache.org. Дата обращения: 11 июля 2024.
  12. Amos <[email protected]>, Melissa architecture (англ.). puppet.com. Дата обращения: 11 июля 2024.
  13. Kerner, Sean Michael Puppet Goes After Enterprise System Management. Enterprise Networking Planet (2 февраля 2011).
  14. Pipelines for Applications user's guide - Pipelines for Applications enterprise | Puppet. Дата обращения: 7 июля 2018. Архивировано из оригинала 7 июля 2018 года.
  15. Pipelines for Containers user's guide - Pipelines for Containers enterprise | Puppet. Дата обращения: 7 июля 2018. Архивировано из оригинала 7 июля 2018 года.
  16. Introducing Puppet Pipelines™ and Puppet® Container Registry.
  17. Announcing Puppet Discovery™ general availability: 8 May.
  18. Puppet raises $42M led by Cisco as its DevOps automation platform passes 40,000 businesses (амер. англ.). TechCrunch. Дата обращения: 22 марта 2019.
  19. Perforce Software acquires Puppet (амер. англ.). TechCrunch. Дата обращения: 11 апреля 2022.
  20. Компания Perforce объявила о поглощении проекта Puppet. www.opennet.ru. Дата обращения: 11 июля 2024.
  21. Spencer, Malia (2022-08-08). "Perforce Software starts layoffs at Portland's Puppet". The Business Journals: Portland Inno.

Литература

[править | править код]