I'm proud to announce the release of Puppet Enterprise 3.0. As previously, you can download it now and use it for free on up to 10 nodes.
This is a major release for us, and it reflects the ways in which the cloud has continued to change the constraints on infrastructure and increase the opportunity for operations to be a differentiator. The cloud promises greater agility, shorter cycle times, more flexibility and massive scale, but only if we continue to enhance automation’s ability to keep you at the front of the envelope.
This has been our specialty for a while. You can see our tools at work in companies everybody knows, like GitHub, Google and Dropbox. With this release you'll see the effort we've put into bringing Puppet Labs technologies together to help your organization build and manage your whole infrastructure, enabling an application perspective rather than focusing on just resources. We also help to break down your vertical silos with a single horizontal abstraction layer, enabling you to take advantage of everything the cloud offers across compute, storage and network resources.
Scale and Performance
The cloud is about extremes: large scale, and high velocity. We hear consistently that agility is our customers’ No. 1 driver to using the cloud. If your tools don't move at the same speed as your platform, you might as well go back to waiting for Dell to ship a new box from the factory. If you're stuck making repetitive, manual adjustments to all the services that make up your application, you’ve got the infrastructure of today being held up by yesterday’s process. We've made huge improvements in this release that will allow you to move ever more quickly at ever greater scale.
Thanks to serialization improvements in the core Puppet engine and the addition of a centralized storage service with PuppetDB, we've seen a nearly 200 percent improvement in agent run times, and catalog compilation time has dropped by over 60 percent. Overall, these changes provide us with improved scalability that will allow you to manage double the number of nodes you could with Puppet Enterprise 2.8.
The cycle time between developer's keyboard and production infrastructure is now shorter, so you're moving faster. You can operate at scales of tens, thousands, even hundreds of thousands of machines, so the impact of your work is much greater, too.
When I started out as a sysadmin, and then in my work as a consultant, I was limited by how quickly vendors could ship new servers. Now you can turn on 1,000 nodes in two minutes. But are those nodes doing something useful? Are they a productive part of the infrastructure? Are they just waiting to be configured by a human? What do you even know about the state of applications they're running? Without tools and practices that match your core capabilities, all this investment is pointless.
Doing something useful at scale starts with understanding what resources you're dealing with. Too much modern process involves keeping up inventory spreadsheets or manually maintaining CMDBs. This wasn't easy when we were dealing with fixed assets on long lifecycles; it's impossible in a demand-driven world with highly dynamic node counts and resource lists.
We've made dynamic discovery a core part of Puppet Enterprise's orchestration engine. The engine's fully pluggable service can discover nodes based on Puppet classes and Facter facts. If you already have external sources providing inventory management data, you can add them with a plugin. No matter where the data is coming from, you can narrow down your discovery results with regular expressions, complex searches and sophisticated sorting.
Given this ability to tightly define the nodes against which you’re operating, the Puppet Enterprise orchestration engine provides fine-grained control across your whole infrastructure, whether you’re doing basic service maintenance or managing complex application roll-outs.
We’ve also made it easier to progressively deploy your changes, so you can still move quickly but with a higher degree of confidence. Given an operation against a set of machines, you can deploy to 10 percent at a time, starting on the next node only when the prior one is finished. This means you never risk deploying a faulty change across your whole infrastructure, and you don’t update all of your services at once, which can result in unnecessary service outages. You can do this kind of progressive deployment by hand, but it quickly spirals out of control as you reach cloud scales, and without the dynamically determined back-end providing the node list, it’s too easy to miss critical updates.
Underneath our improvements in performance, scalability and orchestration there's still the Puppet DSL. With Puppet Enterprise 3.0, you can use the Puppet language to manage not only compute, but also storage and network resources, thanks to work from partners like VMware, Cisco and Juniper.
One of our core goals at the founding of Puppet Labs was to build an abstraction layer to let you manage your whole infrastructure through a single language, a single platform, with one audit trail across all of your systems. With this release, we get that much closer to this goal of a software defined infrastructure. As the automation of your compute resources gets better, network and storage resources become the bottleneck, especially in an application-driven world. It’s that much more critical that your core management tools provide a single abstraction layer over the whole system, enabling further accelerations in agility.
We're also building on the investments we've made in our community. When we released Puppet Enterprise 2.5 last March, we improved support for modules from the Puppet Forge. With this release, support for parameterized classes makes the 1,200-plus modules we host on the Forge that much more reusable, because you can now configure use of those modules directly from the Puppet Enterprise console. The Forge community is also growing: In the past year, we've seen triple the members, triple the number of modules, triple the downloads. That growth translates to value for you, because the community provides solutions you can use out of the box, including extending support across your network and storage nodes.
We also have to look back to past releases as we think about platform support. With Puppet Enterprise 2.5 we introduced our first support for Windows. With Puppet Enterprise 2.8, we introduced support for AIX. With Puppet Enterprise 3.0, 100 percent of its functionality is available across every major enterprise platform: RHEL, Windows, AIX, Solaris, all the major Linuxes, and more.
This is a really big day for us, bringing years of work and learning together into a product that puts a useful, fully realized cloud infrastructure within reach of everybody, not just the big players. There’s still a lot of work, but this is a fantastic release, and makes a strong statement about where our focus is. We hope you'll try it out.