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 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]
Примечания
[править | править код]- ↑ Release 8.5.1 — 2024.
- ↑ 1 2 3 4 Puppet system requirements
- ↑ https://github.com/puppetlabs/puppet/blob/master/LICENSE
- ↑ Rao, Leena Cisco, Google Ventures, VMware Put $8.5M In Data Center Automation Startup Puppet Labs (амер. англ.). TechCrunch (29 ноября 2011). Дата обращения: 11 июля 2024. Архивировано 17 августа 2021 года.
- ↑ 1 2 xakep: ru Master of puppets: Установка и настройка системы удаленного управления конфигурацией Puppet . Дата обращения: 21 мая 2011. Архивировано из оригинала 29 января 2013 года.
- ↑ 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 года.
- ↑ docs-archive/pe/2.0 at main · puppetlabs/docs-archive (англ.). GitHub. Дата обращения: 11 июля 2024. Архивировано 11 июля 2024 года.
- ↑ Puppet system requirements . www.puppet.com. Дата обращения: 11 июля 2024. Архивировано 11 июля 2024 года.
- ↑ puppet/LICENSE at main · puppetlabs/puppet (англ.). GitHub. Дата обращения: 11 июля 2024. Архивировано 11 июля 2024 года.
- ↑ Open Source Puppet Free Download | Puppet by Perforce . www.puppet.com. Дата обращения: 11 июля 2024. Архивировано 11 июля 2024 года.
- ↑ Apache Tomcat® - Welcome! tomcat.apache.org. Дата обращения: 11 июля 2024. Архивировано 22 февраля 2011 года.
- ↑ Amos <[email protected]>, Melissa architecture (англ.). puppet.com. Дата обращения: 11 июля 2024. Архивировано 11 июля 2024 года.
- ↑ Kerner, Sean Michael Puppet Goes After Enterprise System Management . Enterprise Networking Planet (2 февраля 2011). Дата обращения: 11 июля 2024. Архивировано 8 марта 2021 года.
- ↑ Pipelines for Applications user's guide - Pipelines for Applications enterprise | Puppet . Дата обращения: 7 июля 2018. Архивировано из оригинала 7 июля 2018 года.
- ↑ Pipelines for Containers user's guide - Pipelines for Containers enterprise | Puppet . Дата обращения: 7 июля 2018. Архивировано из оригинала 7 июля 2018 года.
- ↑ Introducing Puppet Pipelines™ and Puppet® Container Registry . Дата обращения: 11 июля 2024. Архивировано 5 декабря 2022 года.
- ↑ Announcing Puppet Discovery™ general availability: 8 May . Дата обращения: 11 июля 2024. Архивировано 5 декабря 2022 года.
- ↑ Puppet raises $42M led by Cisco as its DevOps automation platform passes 40,000 businesses (амер. англ.). TechCrunch. Дата обращения: 22 марта 2019.
- ↑ Perforce Software acquires Puppet (амер. англ.). TechCrunch. Дата обращения: 11 апреля 2022.
- ↑ Компания Perforce объявила о поглощении проекта Puppet . www.opennet.ru. Дата обращения: 11 июля 2024. Архивировано 11 июля 2024 года.
- ↑ Spencer, Malia (2022-08-08). "Perforce Software starts layoffs at Portland's Puppet". The Business Journals: Portland Inno.
Литература
[править | править код]- James Turnbull. Pulling Strings with Puppet Configuration Management Made Easy. — Apress, 2008. — 350 p. — ISBN 978-1-59059-978-5.
- James Turnbull, Jeffrey McCune. Pro Puppet. — Apress, 2011. — 350 p. — ISBN 978-1-4302-3057-1.
Ссылки
[править | править код]- Официальный сайт (англ.)
- Introduction to Puppet (англ.)
- Language Guide (англ.)
- Централизованная настройка UNIX-систем с помощью Puppet