Review: Puppet Enterprise 3.0 pulls more strings

Version 3.0 of Puppet Labs' configuration automation tool shines with speed boosts, orchestration improvements, and deeper support for Windows servers

1 2 Page 2
Page 2 of 2

However, it is of paramount importance that any Puppet implementation have a testing and development sandbox. Each configuration element incorporates a significant number of moving parts and needs to be tested thoroughly before rolling out to production. You can accomplish this by maintaining a set of virtual servers that represent their production counterparts, and testing new modules and modifications only on the appropriate test node or group.

Puppet Enterprise also includes the Cloud Provisioner, which is an extension designed to work with Amazon's EC2 cloud service. It provides a way to create a new EC2 instance, install the Puppet agent, and sign the certificate from the command line on a Puppet Master server.

From the Live Management tab, you can run specific tasks on nodes such as installing a package or checking for package updates.

Reports, inventory, and Live ManagementThe Web UI also provides reporting and inventory features. Through a tabbed UI, you can view not only at-a-glance information on how Puppet itself is running on all nodes, but also detailed info on users, groups, installed packages, and running services on any given selection of nodes.

You can also perform certain tasks across nodes or groups of nodes from Live Management. Aside from enabling, disabling, and running the Puppet agent on demand, you can cause a node or group of nodes to install a package, start a service, or stop a service, or you can use apt or yum to update the server. There are also facilities to perform queries of the agent on a node or various rpcutil tasks, such as retrieving individual configuration items.

As far as the Puppet reporting goes, you get a tabular display of nodes and their run status. You might see a few nodes with failed updates, for example, and you can quickly dig into the logs to see what failed to apply. You can also get detailed reports on each agent run that provide in-depth info on what did or did not happen during that run. In addition, you can see how long it took to make the run, how many modifications were made, and so forth.

You can also search through inventory items across nodes. If you wanted to display a list of all nodes running kernel version 2.6.32, for instance, you would simply query for inventory item kernelversion = 2.6.32. By default Puppet collects a ton of inventory data, from BIOS version to system uptime to swap space to SELinux policy enforcement.

Powerful means complexPuppet is not for the faint of heart, nor should it be. Shepherding the configurations of a wide range of services and elements, managing package installation and removal, and collecting inventory data from dozens, hundreds, or thousands of servers is an inherently difficult task. Add to that the ability to heavily customize existing modules and to develop your own modules according to your own specifications, and you have a recipe that requires a great deal of complexity. Trying to obscure that complexity with overly simplistic, high-level configuration interfaces might make easy things easier, but it would make hard things impossible.

Puppet can be scaled out using multiple master servers and a variety of load-balancing methods. The fun part here is that you can use Puppet to manage your Puppet Master servers as well, allowing for synchronization across multiple masters. Plus, although you may have many master servers, you would still want a single reporting server to collect data from the masters.

Puppet Enterprise is not intended for the casual user or a small infrastructure. (In those cases, the small-scale version, Puppet Solo, might be a better fit.) Puppet Enterprise is intended for infrastructures with large numbers of similar servers, both physical and virtual. It can be used to manage switches, routers, and storage arrays, and it provides a reasonable means to handle them all. If you're looking for a quick-fix, clickable, GUI-based configuration management framework, this isn't it. If you're looking for a solid, scalable solution that provides plenty of access for deep custom development, you might find Puppet Enterprise to be the right choice.

This article, "Review: Puppet Enterprise 3.0 pulls more strings," was originally published at Follow the latest developments in application development, cloud computing, and open source at For the latest business technology news, follow on Twitter.

Read more about data center in InfoWorld's Data Center Channel.

This story, "Review: Puppet Enterprise 3.0 pulls more strings" was originally published by InfoWorld.

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.

Copyright © 2013 IDG Communications, Inc.

1 2 Page 2
Page 2 of 2
IT Salary Survey: The results are in