Марионетка (компания) - Puppet (company)

Марионетка, Inc.
Частный
Промышленность Компьютерное программное обеспечение
Основан 2005 ; 15 лет назад ( 2005 )
Главное управление Портленд, Орегон , США
Действующие лица
Люк Канис (основатель) , Ивонн Вассенаар (генеральный директор) , Эндрю Шафер
Продукты Puppet, Puppet Enterprise и Puppet Forge
Веб-сайт марионетка .com

Puppet - это частная компания , занимающаяся программным обеспечением для автоматизации информационных технологий (ИТ), базирующаяся в Портленде, штат Орегон, которая разрабатывает программное обеспечение для управления конфигурацией, также называемое Puppet.

Продукты

Штаб-квартира находится в Портленде, с указанием их нынешнего местоположения.

Основной продукт Puppet, Puppet Enterprise, представляет собой коммерчески поддерживаемую версию его инструмента управления конфигурацией с открытым исходным кодом , Puppet. Программное обеспечение Puppet для автоматизации ИТ использует декларативный язык Puppet для управления различными этапами жизненного цикла ИТ-инфраструктуры , включая выделение ресурсов , установку исправлений , настройку и управление компонентами операционной системы и приложений в корпоративных центрах обработки данных и облачных инфраструктурах .

В феврале 2011 года Puppet выпустила свой первый коммерческий продукт Puppet Enterprise, построенный на основе открытого исходного кода и предоставляющий коммерческим пользователям улучшенное удобство использования, а также некоторые коммерческие компоненты. В сентябре 2011 года компания выпустила кукольный Enterprise 2.0, введенной интеграцию с MCollective, приобретенного Кукольным в 2010 году, а также резервы для виртуальных машин непосредственно на Amazon EC2 и VMware . В июне 2013 года Puppet выпустила Puppet Enterprise 3.0, в котором есть переписанный механизм оркестрации, который упростит автоматическое развертывание изменений на нескольких сайтах и ​​в облаках.

Puppet является партнером и имеет технологическую интеграцию с VMware , Amazon Web Services , Cisco , OpenStack , Microsoft Azure , Eucalyptus , Rightscale и Zenoss.

Созданные как кроссплатформенное программное обеспечение, Puppet и Puppet Enterprise работают с дистрибутивами Linux , включая RHEL (и клоны, такие как CentOS и Oracle Linux ), Fedora , Debian , Mandriva , Ubuntu и SUSE , а также на нескольких системах Unix ( Solaris , BSD , Mac OS X , AIX , HP-UX ) и поддерживает Microsoft Windows . Это решение на основе модели, которое требует ограниченных знаний в области программирования.

Puppet приобрела Distelli для автоматизации инфраструктуры в сентябре 2017 года. Puppet переименовал виртуальную панель Distelli ( продукт непрерывной интеграции / непрерывной доставки ) в Puppet Pipelines для приложений и K8S Dashboard в Puppet Pipelines для контейнеров. Продукты стали общедоступными в октябре 2017 года.

Puppet выпустила Puppet Discovery, инструмент для обнаружения и управления ресурсами в гибридных сетях, в мае 2018 года. Это третий автономный корпоративный продукт Puppet.

В вычислениях , кукольный является открытым ядром управления конфигурацией программного обеспечения инструментом. Он работает во многих Unix-подобных системах, а также в Microsoft Windows и включает собственный декларативный язык для описания конфигурации системы . Он написан на Ruby , а его версия бесплатного программного обеспечения выпущена под 2.0 ( Стандартная общественная лицензия GNU (GPL) до версии 2.7.0). Facter написан на C ++, а Puppet Server и Puppet DB написаны на Clojure . Puppet предназначен для декларативного управления конфигурацией Unix-подобных систем и Microsoft Windows . Пользователь описывает системные ресурсы и их состояние, используя декларативный язык Puppet или Ruby DSL (). Эта информация хранится в файлах, называемых «манифестами марионеток». Puppet обнаруживает системную информацию с помощью утилиты под названием Facter и компилирует манифест Puppet в системный каталог, содержащий ресурсы и зависимости ресурсов, которые применяются к целевым системам. Затем сообщается обо всех действиях, предпринятых Puppet.

Puppet состоит из настраиваемого декларативного языка для описания конфигурации системы, который можно либо применить непосредственно в системе, либо скомпилировать в каталог и передать в целевую систему через парадигму клиент-сервер (с использованием REST API ), а агент использует систему конкретные поставщики для принудительного использования ресурса, указанного в манифестах. Уровень абстракции ресурсов позволяет администраторам описывать конфигурацию в терминах высокого уровня, таких как пользователи, службы и пакеты, без необходимости указывать команды, специфичные для ОС (например, rpm, yum, apt).

Puppet управляется моделями и требует ограниченных знаний в области программирования.

Puppet поставляется в двух версиях: Puppet Enterprise и Open Source Puppet. Помимо предоставления функций Open Source Puppet, Puppet Enterprise также предоставляет инструменты с графическим интерфейсом , API и командной строки для управления узлами.

Архитектура

Puppet, запускаемый на клиенте вручную

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

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

Кукольная архитектура состоит из:

  • Язык конфигурации : язык программирования Puppet - это декларативный язык, который описывает состояние компьютерной системы в терминах «ресурсов», которые представляют собой базовые конструкции сети и операционной системы. Пользователь собирает ресурсы в манифесты, которые описывают желаемое состояние системы. Эти манифесты хранятся на сервере и по запросу компилируются в инструкции по настройке для агентов.

Синтаксис ресурса марионетки:

type { 'title':
  attribute => value
}

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

user { 'harry':
  ensure => present,
  uid    => '1000',
  shell  => '/bin/bash',
  home   => '/var/tmp'
}
  • Абстракция ресурсов: Puppet позволяет пользователям настраивать системы независимо от платформы, представляя концепции операционной системы в виде структурированных данных. Вместо того, чтобы указывать точные команды для выполнения системного действия, пользователь создает ресурс, который затем Puppet переводит в системные инструкции, которые отправляются на настраиваемую машину. Например, если пользователь хочет установить пакет на трех разных узлах, на каждом из которых работает другая операционная система, он может просто объявить один ресурс, и Puppet определит, какие команды необходимо выполнить, на основе данных, полученных от Facter, программа, которая собирает данные о системе, в которой она работает, включая ее операционную систему, IP-адрес и некоторую информацию об оборудовании. Провайдеры на узле используют факты Facter и другие сведения о системе для преобразования типов ресурсов в каталоге в машинные инструкции, которые фактически будут настраивать узел.
  • Транзакция: обычный запуск Puppet состоит из следующих этапов:
    1. Агент отправляет факты от Facter мастеру.
    2. Puppet строит график списка ресурсов и их взаимозависимостей, представляющий порядок, в котором они должны быть настроены, для каждого клиента. Мастер отправляет соответствующий каталог каждому узлу агента.
    3. Фактическое состояние системы затем настраивается в соответствии с желаемым состоянием, описанным в файле манифеста. Если система уже находится в желаемом состоянии, Puppet не будет вносить никаких изменений, делая транзакции идемпотентными .
    4. Наконец, агент отправляет мастеру отчет с подробным описанием внесенных изменений и возникших ошибок.

Финансирование

В июне 2018 года Puppet собрал 42 миллиона долларов, из которых было выделено 150 миллионов долларов. В раунде, который возглавляла Cisco, участвовали Kleiner Perkins, True Ventures, EDBI и VMware.

История

Основатель Puppet Люк Канис

В 2005 году компания Puppet была основана бывшим генеральным директором Люком Кэзи. 29 января 2019 г. Ивонн Вассенаар сменила Санджая Мирчандани на посту генерального директора. Вассенаар занимал ключевые руководящие должности в Airware, New Relic и VMware.

Смотрите также

Рекомендации

внешние ссылки