Марионетка (компания) - Википедия - Puppet (company)
Частный[1] | |
Промышленность | Компьютерное программное обеспечение[1] |
Основан | 2005[2] |
Штаб-квартира | Портланд, штат Орегон, НАС. |
Ключевые люди | Люк Канис (Основатель), Ивонн Вассенаар (ИСПОЛНИТЕЛЬНЫЙ ДИРЕКТОР), Эндрю Шафер[2] |
Товары | Puppet, Puppet Enterprise и Puppet Forge[3] |
Интернет сайт | кукольный |
Кукольный является частной информационные технологии (IT) компания по разработке программного обеспечения для автоматизации, базирующаяся в Портланд, штат Орегон которая разрабатывает программное обеспечение для управления конфигурацией, также называемое Puppet.
Товары
Основной продукт Puppet, Puppet Enterprise,[4] является коммерчески поддерживаемой версией своего Открытый исходный код управление конфигурацией инструмент, марионетка. Программное обеспечение для автоматизации Puppet IT использует декларативный язык Puppet для управления различными этапами ИТ-инфраструктура жизненный цикл, включая обеспечение, исправление, конфигурация, и управление из Операционная система и заявление компоненты на предприятии дата-центры и облачные инфраструктуры.[5]
В феврале 2011 года Puppet выпустила свой первый коммерческий продукт Puppet Enterprise, построенный на Открытый исходный код base и предоставляет коммерческим пользователям улучшенное удобство использования, а также некоторые коммерческие компоненты.[6] В сентябре 2011 года компания выпустила Puppet Enterprise 2.0, который представил интеграцию с MCollective, приобретенным Puppet в 2010 году.[7] а также обеспечение за виртуальные машины прямо на Amazon EC2 и VMware.[8] В июне 2013 года Puppet выпустила Puppet Enterprise 3.0, в котором есть переписанный механизм оркестрации, который упростит автоматическое развертывание изменений на нескольких сайтах и в облаках.[9]
Puppet партнеры и имеет технологическую интеграцию с VMware, Веб-сервисы Amazon, Cisco, OpenStack, Microsoft Azure, Эвкалипт, Правая шкала, и Зенос.[10]
Построен как кросс-платформенный программное обеспечение, Puppet и Puppet Enterprise работают на Linux дистрибутивы, в том числе RHEL (и клоны, такие как CentOS и Oracle Linux ), Fedora, Debian, Mandriva, Ubuntu, и SUSE, а также в нескольких системах Unix (Солярис, BSD, Mac OS X, AIX, HP-UX ), и имеет Майкрософт Виндоус поддерживать.[11][12] Это модельно-ориентированное решение это требует ограниченных знаний в области программирования.[13]
Puppet приобрела систему автоматизации инфраструктуры Distelli в сентябре 2017 года.[14] Puppet переименовал панель управления VM Distelli ( непрерывная интеграция / непрерывная доставка product) как марионеточные конвейеры для приложений,[15] и K8S Dashboard в качестве марионеточных конвейеров для контейнеров.[16] Продукты стали общедоступными в октябре 2017 года.[17]
Puppet выпустила Puppet Discovery, инструмент для обнаружения и управления ресурсами в гибридных сетях, в мае 2018 года.[18] Это третий автономный корпоративный продукт Puppet.
В вычисление, Кукольный является открытый управление конфигурацией программного обеспечения инструмент. Он работает на многих Unix-подобный системы, а также на Майкрософт Виндоус, и включает в себя декларативный язык описать конфигурация системы. Это написано в Рубин, с его бесплатной версией программного обеспечения, выпущенной под 2.0 ( Стандартная общественная лицензия GNU (GPL) до версии 2.7.0).[19] Facter[20] написано в C ++ пока Puppet Server[21] и Puppet DB[22] написаны в Clojure.[23] Puppet предназначен для управления конфигурацией Unix-подобный и Майкрософт Виндоус системы декларативно. Пользователь описывает системные ресурсы и их состояние, используя декларативный язык Puppet или Ruby DSL (). Эта информация хранится в файлах, называемых «манифестами марионетки». Puppet обнаруживает системную информацию с помощью утилиты под названием Facter и компилирует манифест Puppet в системный каталог, содержащий ресурсы и зависимости ресурсов, которые применяются к целевым системам. Затем сообщается обо всех действиях, предпринятых Puppet.
Марионетка состоит из обычай декларативный язык для описания конфигурации системы, которая может быть либо применена непосредственно в системе, либо скомпилирована в каталог и распространена в целевую систему через клиент-серверная парадигма (используя REST API ), а агент использует специфичных для системы провайдеров для принудительного использования ресурса, указанного в манифестах. Уровень абстракции ресурсов позволяет администраторам описывать конфигурацию в терминах высокого уровня, таких как пользователи, службы и пакеты, без необходимости указывать команды, специфичные для ОС (например, rpm, yum, apt).
Марионетка управляемый моделью, требующие ограниченных знаний в области программирования.[24]
Puppet поставляется в двух версиях: Puppet Enterprise и Open Source Puppet. Помимо предоставления функций Open Source Puppet, Puppet Enterprise также предоставляет GUI, API и инструменты командной строки для управления узлами.
Архитектура
Марионетка обычно следует клиент-сервер архитектура. Клиент известен как агент, а сервер известен как мастер. Для тестирования и простой настройки его также можно использовать как автономное приложение, запускаемое из командной строки.
Puppet Server установлен на одном или нескольких серверах, а Puppet Agent установлен на всех машинах, которыми пользователь хочет управлять. Агенты Puppet связываются с сервером и получают инструкции по настройке. Затем агент применяет конфигурацию в системе и отправляет отчет о состоянии на сервер.[25] Устройства могут запускать Puppet Agent как демон, который может периодически запускаться как cron задание или может быть запущено вручную при необходимости.
Кукольная архитектура состоит из:
- Язык конфигурации: Язык программирования Puppet - это декларативный язык который описывает состояние компьютерной системы в терминах «ресурсов», которые представляют собой базовые конструкции сети и операционной системы. Пользователь собирает ресурсы в манифесты, которые описывают желаемое состояние системы. Эти манифесты хранятся на сервере и по запросу компилируются в инструкции по настройке для агентов. [26]
Синтаксис ресурса марионетки:
тип { 'заглавие': атрибут => ценить}
Пример ресурса, представляющего Unix Пользователь:
Пользователь { 'Гарри': гарантировать => настоящее время, uid => '1000', ракушка => '/ bin / bash', дома => '/ var / tmp'}
- Абстракция ресурсов: Puppet позволяет пользователям настраивать системы независимо от платформы, представляя концепции операционной системы в виде структурированных данных. Вместо того, чтобы указывать точные команды для выполнения системного действия, пользователь создает ресурс, который затем Puppet переводит в системные инструкции, которые отправляются на настраиваемую машину. Например, если пользователь хочет установить пакет на трех разных узлах, на каждом из которых работает другая операционная система, он может просто объявить один ресурс, и Puppet определит, какие команды необходимо выполнить, на основе данных, полученных от Facter, программа, которая собирает данные о системе, в которой она работает, включая ее операционную систему, айпи адрес и некоторая информация об оборудовании.[27] Провайдеры на узле используют факты Facter и другие сведения о системе для преобразования типов ресурсов в каталоге в машинные инструкции, которые фактически будут настраивать узел.
- Сделка: Обычный запуск Марионетки состоит из следующих этапов:
- Агент отправляет факты от Facter мастеру.
- Puppet строит график списка ресурсов и их взаимозависимостей, представляющий порядок, в котором они должны быть настроены, для каждого клиента. Мастер отправляет соответствующий каталог каждому узлу агента.
- Фактическое состояние системы затем настраивается в соответствии с желаемым состоянием, описанным в файле манифеста. Если система уже находится в желаемом состоянии, Puppet не будет вносить никаких изменений, совершая транзакции. идемпотент.
- Наконец, агент отправляет мастеру отчет с подробным описанием внесенных изменений и возникших ошибок.
Финансирование
В июне 2018 года Puppet собрал 42 миллиона долларов, из которых было выделено 150 миллионов долларов. В раунде, который возглавляла Cisco, участвовали Kleiner Perkins, True Ventures, EDBI и VMware.[28]
История
В 2005 году компания Puppet была основана бывшим генеральным директором Люком Кэзи.[2] 29 января 2019 г. Ивонн Вассенаар сменила Санджая Мирчандани на посту генерального директора. Вассенаар занимал ключевые руководящие должности в Airware, New Relic и VMware.
Смотрите также
- Сравнение программного обеспечения для управления конфигурацией с открытым исходным кодом
- Инфраструктура как код (IaC)
- Инфраструктура как инструменты кода
- Ansible (программное обеспечение)
- Bcfg2
- Capistrano (программное обеспечение)
- CFEngine
- Chef (программное обеспечение)
- Менеджер пакетов Nix
- OpenLMI
- Выдра (программное обеспечение)
- Соль (программное обеспечение)
- Жужу
Рекомендации
- ^ а б "Обзор компании Puppet Labs, Inc". Bloomberg Businessweek.
- ^ а б c "Кукольные лаборатории". Crunchbase.
- ^ «Марионеточное предприятие». Кукольный.
- ^ Рао, Лина. «Cisco, Google Ventures, VMware вложили 8,5 млн долларов в запуск Puppet Labs для автоматизации центров обработки данных». TechCrunch.
- ^ Гранер, Эмбер. «Puppet Labs объявляет о выпуске кукольного предприятия».
- ^ Кернер, Шон Майкл. "Puppet идет после управления корпоративной системой". Планета корпоративных сетей.
- ^ Рао, Лина. «Компания Puppet Labs, занимающаяся запуском автоматизации центра обработки данных, приобретает проект с открытым исходным кодом The Marionette Collective». TechCrunch.
- ^ Финли, Клинт. «Puppet 2.0 будет поддерживать Amazon EC2 и VMware Provisioning». Кремниевый угол.
- ^ Новый инструмент Puppet улучшает автоматизацию оркестровки для корпоративного использования - Tech News and Analysis. Gigaom.com (25 июня 2013 г.). Проверено 9 декабря 2013.
- ^ Рао, Лина. «Cisco, Google Ventures, VMware вложили 8,5 млн долларов в запуск Puppet Labs для автоматизации центров обработки данных». TechCrunch.
- ^ «Документы: PE 2.0 - Установка - Системные требования». Кукольный.
- ^ «Системные требования Puppet». Кукольный.
- ^ Дехаан, депутат. «Развертывание приложений Apache Tomcat с помощью Puppet». tomcatexpert.
- ^ https://puppet.com/blog/welcome-distelli-to-puppet-family
- ^ «Архивная копия». Архивировано из оригинал на 2018-07-07. Получено 2018-07-07.CS1 maint: заархивированная копия как заголовок (связь)
- ^ «Архивная копия». Архивировано из оригинал на 2018-07-07. Получено 2018-07-07.CS1 maint: заархивированная копия как заголовок (связь)
- ^ https://puppet.com/blog/introduction-puppet-pipelines-and-puppet-container-registry
- ^ https://puppet.com/blog/announcing-puppet-discovery-general-availability
- ^ "Часто задаваемые вопросы о марионетках". Кукольные лаборатории. Архивировано из оригинал 20 марта 2016 г.. Получено 10 марта 2010.
- ^ "puppetlabs / facter: сбор и отображение системных фактов". кукольные / фактер. GitHub. Получено 2020-07-04.
- ^ "puppetlabs / puppetserver: фреймворк и приложение для автоматизации серверов". puppetlabs / puppetserver. GitHub. Получено 2020-07-04.
- ^ "puppetlabs / puppetdb: Централизованное хранилище марионеток". puppetlabs / puppetdb. GitHub. Получено 2020-07-04.
- ^ «Развитие марионетки на следующие 10 лет». Люк Канис. 2014-09-23. Получено 2017-05-26.
- ^ «Развертывание приложений Apache Tomcat с помощью Puppet». tomcatexpert.com. Получено 23 января 2015.
- ^ «Обзор архитектуры Puppet - Документация - Puppet». docs.puppet.com. Архивировано из оригинал на 2016-10-01. Получено 2016-09-14.
- ^ Крам, Хевелинген, Керо, Тернбулл, МакКьюн. Pro Puppet. Апресс. ISBN 978-1430260400.CS1 maint: несколько имен: список авторов (связь)
- ^ https://puppet.com/docs/facter
- ^ «Puppet привлекает 42 миллиона долларов во главе с Cisco, поскольку ее платформа автоматизации DevOps охватывает 40 000 предприятий». TechCrunch. Получено 2019-03-22.