Puppet (company)


Puppet is a privately held information technology automation software company based in Portland, Oregon.

Products

Puppet's primary product, Puppet Enterprise,
comprises a commercially supported version of its open-source configuration management tool, Puppet. Puppet IT automation software uses Puppet's declarative language to manage various stages of the IT infrastructure lifecycle, including the provisioning, patching, configuration, and management of operating system and application components across enterprise data centers and cloud infrastructures.
In February 2011 Puppet released its first commercial product, Puppet Enterprise, built on the open-source base and providing commercial users with improved usability as well as some commercial components. In September 2011, the company released Puppet Enterprise 2.0, which introduced integration with MCollective, acquired by Puppet in 2010, as well as provisioning for virtual machines directly on Amazon EC2 and VMware. In June 2013, Puppet released Puppet Enterprise 3.0, which features a rewritten orchestration engine that will ease the automated rollout of changes across multiple sites and clouds.
Puppet partners and has technology integrations with VMware, Amazon Web Services, Cisco, OpenStack, Microsoft Azure, Eucalyptus, Rightscale, and Zenoss.
Built as cross-platform software, Puppet and Puppet Enterprise operate on Linux distributions, including RHEL, Fedora, Debian, Mandriva, Ubuntu, and SUSE, as well as on multiple Unix systems, and has Microsoft Windows support. It is a model-driven solution that requires limited programming knowledge to use.
Puppet purchased the infrastructure automation Distelli in September 2017. Puppet rebranded Distelli's VM Dashboard as Puppet Pipelines for Applications, and K8S Dashboard as Puppet Pipelines for Containers. The products were made generally available in October, 2017.
Puppet released Puppet Discovery, a tool to discover and manipulate resources in hybrid networks, in May 2018. It is Puppet's third stand-alone enterprise product.

Puppet

In computing, Puppet is an open-core software configuration management tool. It runs on many Unix-like systems as well as on Microsoft Windows, and includes its own declarative language to describe system configuration. It is written in Ruby, with its free-software version released under the Apache License 2.0. Facter is written in C++ while Puppet Server and Puppet DB are written in Clojure. Puppet is designed to manage the configuration of Unix-like and Microsoft Windows systems declaratively. The user describes system resources and their state, either using Puppet's declarative language or a Ruby DSL. This information is stored in files called "Puppet manifests". Puppet discovers the system information via a utility called Facter, and compiles the Puppet manifests into a system-specific catalog containing resources and resource dependency, which are applied against the target systems. Any actions taken by Puppet are then reported.
Puppet consists of a custom declarative language to describe system configuration, which can be either applied directly on the system, or compiled into a catalog and distributed to the target system via client–server paradigm, and the agent uses system specific providers to enforce the resource specified in the manifests. The resource abstraction layer enables administrators to describe the configuration in high-level terms, such as users, services and packages without the need to specify OS specific commands.
Puppet is model-driven, requiring limited programming knowledge to use.
Puppet comes in two versions, Puppet Enterprise and Open Source Puppet. In addition to providing functionalities of Open Source Puppet, Puppet Enterprise also provides GUI, API and command line tools for node management.

Architecture

Puppet usually follows client-server architecture. The client is known as an agent and the server is known as the master. For testing and simple configuration, it can also be used as a stand-alone application run from the command line.
Puppet Server is installed on one or more servers, and Puppet Agent is installed on all the machines that the user wants to manage. Puppet Agents communicate with the server and fetch configuration instructions. The Agent then applies the configuration on the system and sends a status report to the server. Devices can run Puppet Agent as a daemon, that can be triggered periodically as a cron job or can be run manually whenever needed.
Puppet architecture consists of:
Puppet resource syntax:

type

Example resource representing a Unix user:

user

In June of 2018 Puppet raised $42 million for a total of $150 million in funding. The round was led by Cisco and included Kleiner Perkins, True Ventures, EDBI, and VMware.

History

In 2005, Puppet was founded by former CEO Luke Kanies. On Jan. 29, 2019 Yvonne Wassenaar replaced Sanjay Mirchandani as CEO. Wassenaar has held key leadership positions at Airware, New Relic and VMware.