Puppet Enterprise automates the provisioning, configuration and ongoing management of software and servers. Puppet enables organizations to make rapid, repeatable changes, as well as automatically enforce the consistency of systems and devices across physical and virtual machines (VMs), whether on premises or in the cloud.
Classified as IT automation and configuration management, Puppet is used to remove complexity from infrastructure management. Instead of requiring IT teams to manually configure infrastructure or write one-off scripts, Puppet enables them to express infrastructure as code. Puppet Enterprise configures and integrates all necessary application components to enable continuous delivery. As requirements change, Puppet can be used to update the integration environment in a reliable, repeatable and documentable fashion.
Puppet relies on a declarative approach to automation, which enables IT teams to define the desired state of their machines and how they should be configured. Puppet then ensures that the configuration of those systems matches the desired state. It also acts to remediate any unexpected configuration changes that may occur.
Puppet Enterprise includes the following components in a single installer:
- Puppet Server, which runs on the Java VM, compiling configurations for Puppet agent nodes;
- Puppet Agent is the main puppet client;
- PuppetDB is the Puppet configuration database, which stores data about every infrastructure node;
- Puppet Modules are reusable, sharable units of Puppet code used to extend Puppet across an infrastructure by automating tasks, such as setting up a database, Web server or mail server;
- Puppet Enterprise Console is used to manage node requests to join the Puppet deployment, assign Puppet classes to nodes and groups, view reports and activity graphs, browse and compare resources on nodes, view inventory data, as well as manage console users and their access privileges;
- Puppet Node Manager is a rules-based method to organize servers based on key characteristics, such as application, role, data center, operating environment and geographic location; and
- Puppet Code Manager is designed to manage the code that defines infrastructure.
Puppet works with a diverse range of technologies, spanning containers, public and private cloud, VMs, bare-metal servers, network and storage devices, and operating system (OS) platforms.
Puppet is used to automate and manage technologies from Docker, Amazon Web Services, Microsoft Azure, VMware, EMC, OpenStack, Cisco, Huawei, Arista and Cumulus, and runs on Windows, Linux, AIX, Mac, Solaris, Debian, Ubuntu and Fedora OS.
Puppet is used across industries and by companies of varying size.
The current version is Puppet Enterprise 2015.2. Announced in July 2015, this latest version includes new features that provide DevOps teams with additional management capabilities, including a new unified agent, broader infrastructure support and an interactive graph that visualizes infrastructure models and code.
Puppet offers Puppet Enterprise, as well as Open Source Puppet, which is a free open source project. The 2015.2 release also provides an upgrade path for organizations using Open Source Puppet that want to adopt Puppet Enterprise.
Puppet is implemented on premises, and comes with annual recurring subscription and perpetual license options.
Puppet is sold directly. Puppet Enterprise is priced at $100 per node. There also is a free edition of Puppet Enterprise for organizations managing 10 nodes or less.
Puppet comes with standard and premium support. Standard support is included with Puppet Enterprise license agreement. Premium support provides 24/7 support for Priority 1 issues. There are additional fees for premium support based on number of nodes. A complete support price sheet can be found at Puppet Labs' website.
Before buying an application integration product, prioritize your enterprise's needs first.
Cloud offers integration a promising alleviation to integration headache.
Read more about application integration software.