The enterprise edition of Puppet, an open source data center orchestration and management tool, has hit its 3.2 revision, and some new pieces ought to be of major use to IT admins -- even if they won't silence those who criticize Puppet's approach or methodology.

Puppet's reputation has been slowly rising as its various functionalities, packaged as "modules," have been broadened to include many cutting-edge IT processes and technologies, including OpenStack. Puppet Labs, the company that produces the enterprise version of the software, has drawn the attention of VMware, which has invested in the company to the tune of some $30 million.

Among Puppet Enterprise 3.2's most touted new features is a preview of a new technology that Puppet Labs calls "Razor." Described as a "next-generation physical and virtual hardware provisioning solution," Razor is meant to allow new instances of bare-metal hardware to be automatically discovered and provisioned with a given OS or hypervisor, then turned over to Puppet Enterprise for further configuration based on any policy settings.

Razor has been in the works at Puppet Labs for almost two years, courtesy of a collaboration with EMC. While it's currently only available as a free add-on for Puppet Enterprise, as befitting its technology preview status its features point toward deep integration with the rest of Puppet -- for example, it supports programmable configurations so that different hardware, or different instances of a given piece of hardware, can be treated differently.

The other big new inclusion is the first wave of Puppet Enterprise Supported Modules, which are modules for Puppet that were designed for common tasks and vetted heavily by Puppet Labs to ensure they work in most any production environment. Examples include functionality to "ensure time synchronization across nodes, set up database services, manage Web servers, and control Windows components."

Other new features include support for Oracle Solaris 11 -- which ought to relieve those who have struggled mightily with Solaris installs -- and the ability to run Puppet agents without needing root access, a feature intended to broaden Puppet's utility for those not using it directly (such as software stack developers or support staff).

Most of the complaints about Puppet have revolved not around its feature set, but its philosophy. Puppet uses models described by a custom JSON-like language, requiring admins to understand all the dependencies between the different components it's intended to manage. Chef, one of Puppet's big competitors, works procedurally and uses a strict subset of Ruby as its language of choice.

Another point of contention with Puppet is the differences between the full-blown, for-pay enterprise version and the open source edition. InfoWorld's Peter Wayner described the open source version as "anemic," since its feature set is far smaller. Some of the enterprise features, like provisioning for VMware VMs, clearly matter only to enterprises, but others -- orchestration or a unified cross-platform installer -- would make sensible additions to the open source version, especially given Puppet's support for OpenStack.

While Puppet 3.2 doesn't appear to have placed any formerly enterprise-only features into the open source version, there's some compensation: Puppet Enterprise 3.2 can be downloaded and used free on up to 10 nodes with no time limit. For those curious about what Puppet can offer an enterprise, that might be the more useful way to test the waters, rather than via the open source edition.