freshidea - Fotolia
SAN DIEGO -- Puppet has unveiled appealing new Puppet Enterprise features, but some customers still face upgrade challenges between the latest platform versions.
About 1,200 out of Puppet's 34,000-company customer base use Puppet Enterprise, a paid model of the configuration management and automation product that offers enterprise support. Of those, hundreds have moved to version 4 of the open source Puppet platform rolled out in April 2015. But hundreds more still must make the leap from version 3, which some say will be a difficult mountain to climb.
Editor's note: The open source Puppet version 4 rolled into Puppet Enterprise starting with version 2015.2 in 2015.
A change in the Puppet language starting in version 4.0 of the platform introduced a completely rewritten parser and evaluator, the parts of Puppet that translate modules into a catalog for each node.
Accommodating this language change, also known as Future Parser, is on the roadmap of things to do for a newly formed production engineering group at Manheim, an Atlanta-based company that makes software for buying and selling used vehicles at live and online auctions.
But the upgrade process will require "a lot of man-hours," said Patrick Aikens, senior software engineer at Manheim.
The upgrade, so far, "hasn't bubbled to the top of the priority list, but I'm hoping to push for it a bit more when I get back [from PuppetConf]," he said.
Puppet Enterprise upgrade process complex, can be lengthy
A session at PuppetConf here this week went over the trials and tribulations of the upgrade process from Puppet version 3 to version 4, which can be particularly complex for Puppet Enterprise customers, depending on what version they use. If they start from version 3.7.2, they first must upgrade to version 3.8.6, from there to 2015.3 and finally up to the current release 2016.4.
"I try not to get more than two minor releases behind," said session presenter Robert Nelson, an infrastructure engineer at AT&T Managed Security Services.
Puppet officials said in a separate interview after the session that Nelson was one of the first users to upgrade from 3.x to 4.x in January -- before there was mature documentation or modules to help smooth the process, such as the catalog preview tool.
Nelson said he doesn't see the upgrade process as a widespread issue, saying it's mostly users dealing with edge cases that will have the most trouble with the upgrade at this point.
However, other industry watchers said the upgrade process is still too complex for many enterprise IT shops.
"[Puppet] needs to work on the upgrade process," said Robert Stroud, an analyst with Forrester Research. "Frictionless upgrades need to be a priority."
The upgrade process poses significant challenges for enough users that a new professional services offering, the Puppet Enterprise Upgrade Service, was created in August to manage it on users' behalf. Smaller enterprises may balk at the pricing, however -- $11,000 per week for the two- to six-week engagement.
Another consideration for Puppet Enterprise users is that 2016.4 is the next long-term support (LTS) release, put out every 18 months for Puppet Enterprise, which will be supported for two years. That means the previous LTS release, based on version 3.8 of the Puppet open source platform, will reach end of life on Dec. 31, 2016. In fact, all releases prior to 2016.4 will have reached end of life by January 2017. Originally, 3.8 was slated for end of life in July, but Puppet decided to give users more time to upgrade.
End of life doesn't mean Puppet will refuse support requests, but these versions will no longer receive active maintenance fixes or support for new features.
New Puppet Enterprise features entice enterprises
In part, the urgency to upgrade for users, including Manheim's Aikens, is due to the appeal of the new Jenkins 2.0 integration, released as part of a regular quarterly update to Puppet Enterprise version 2016.4, which is based on version 4 of the open source Puppet platform.
"We use Jenkins so heavily, it's good to see native integration, and to see someone else take on the responsibility of integrating those tools properly -- that we don't have to worry about missing an edge case somewhere," Aikens said. "It gives us a safety net."
Patrick Aikenssenior software engineer, Manheim
Puppet also offers new support for granular systems management in 2016.4, such as direct control of subsets of servers that make up an application. Previously, Puppet changes were rolled out across an entire application, an entire environment or everything in the infrastructure. Now, subsections of apps or targeted groups of servers can have changes rolled out for canary or blue/green deployments. Puppet Enterprise users will also now be able to tell intentional changes made to the infrastructure apart from corrective changes made by Puppet for better troubleshooting context with the introduction of a feature Puppet calls "situational awareness."
Puppet also rolled out a Docker Image Builder here this week, which can help create standardized Dockerfiles and Docker images using Docker's native tools under the covers. The value proposition for this over simply using the Docker-native tools is users get the familiar Puppet interface for building containers alongside other types of compute units, and they can orchestrate using the Puppet interface across broad infrastructures, consisting of everything from mainframe to public cloud. Puppet officials said this update will make things easier for large corporations managing thousands of containers by standardizing the container build process.
"Puppet is hitting all the right points" with containers, Forrester's Stroud said.
Only 8% of production workloads are container-based today, according to Forrester's latest research, and odds are Puppet will remain a central part of enterprise IT management, so there's a good chance organizations will want to use Puppet tools to manage containers, Stroud said.
Why enterprises need configuration management
How to begin the configuration management search
Choose the right configuration management tool