Puppet gooses admin tool performance with Enterprise 3.0
Major release sports new orchestration engine, data store
Back in January, system administration tool maker Puppet Labs got a $30m equity injection from VMware, and the company has put some of that money to good use with a major revamp of its commercial-grade Puppet Enterprise tool.
With Puppet Enterprise 3.0, Puppet Labs is gutting the innards of the product to make it peppier and more scalable, much as rival Opscode did back in February with its Chef 11 control freak.
Both Puppet Labs and Opscode are building what they think of as next-generation system and cloud monitoring and management tools that scale further and are cheaper than traditional management frameworks from IBM, HP, CA, BMC, and others.
The 3.0 upgrade was managed under Nigel Kersten, who took over the CTO role at Puppet Labs last August after rolling out one of the largest Puppet installations at Google to help the search engine giant rein in its millions of servers.
All of the components in the Puppet stack were updated with the Enterprise 3.0 release. The biggies include an upgrade to the MCollective 2.2.4 orchestration engine and the use of the PuppetDB 1.3.1 data store, which is now based on PostgreSQL. In prior releases, some data for the tool was stored in MySQL and all of the data-storing components of Puppet Enterprise (such as the console) have been moved to PostgreSQL. This is another change that boosted performance, but there was lower-level bit-twiddling that was done to reduce the memory and storage and bandwidth footprint of the Puppet tool as well.
The Puppet Enterprise tool manages infrastructure through four steps. First, a system admin defines the desired state of the infrastructure using a declarative language, called Puppet DSL. Then Puppet Enterprise simulates any changes to the system before actually making them, and automatically corrects any drift from the desired state of a device or software stack running on it. And, being an enterprise application, it reports on the state of systems and on any changes that were made that drifted the boxes or put them back into proper state.
Kersten tells El Reg that this new MCollective orchestration engine will run on Windows systems for the first time, as well as on Linux and Unix systems, and that it has at least a factor of two performance boost over the Puppet 2.X tool it replaces. In many cases, where customers were hitting the node management scalability limits of Puppet 2.X, the performance improvement will be more on the order of 4X or 5X, according to Kersten.
The 3.0 release is also seeing management spread out beyond core compute capabilities to include Puppet taking control of switches and storage. Thanks to some collaboration with Cisco Systems, Puppet Enterprise 3.0 hooks into selected Cisco switches, and NetApp has done work to integrate it with its various filers, too.
Other vendors are using the SDK and APIs from Puppet to link their switch and storage operating systems into Puppet so they can have the management hand up their backside as well. These add-ons are available from vendors and third parties through the Puppet Forge repository.
"We are seeing the rise of cloud administrators, who are responsible for compute, storage, and networking," says Kersten, and Puppet has to be enhanced to reflect the breakdown of these silos.
That said, Puppet Labs doesn't expect to do this integration work itself, but rather have vendors do it. With tens of thousands of customers using its freebie version and tens of millions of aggregate nodes under management, it is safe to assume that IT vendors are not going to ignore Puppet. "We are promiscuous integrators and we are definitely not playing favorites with anyone."
Puppet Enterprise 3.0 is available today and has over 1,200 pre-built configuration modules to manage servers, databases, applications, and virtual infrastructure out on public clouds, as well as on private clouds. The Enterprise 3.0 release is the very first one that supports all features across all operating system and cloud platforms, incidentally. (Support for Windows and Unix was a bit hit and miss in earlier releases.)
Puppet Enterprise 3.0 can manage Red Hat Enterprise Linux 5 and 6, Microsoft Windows Server 2003, 2008 and 2012 and Windows 7; CentOS 5 and 6; Canonical Ubuntu 10.04 LTS and 12.04 LTS; Debian 6 and 7; Scientific Linux 5 and 6; Oracle Linux 5 and 6 and Solaris 10; and IBM AIX 5.3, 6.1 and 7.1.
You can download the code and use it on the first ten nodes for free, and after that, it costs $100 per node per year for a license, with volume discounts, of course. ®