"What's New and Awesome in Puppet Enterprise 3" by Eric Sorenson, Platform Product Owner, Puppet Labs.
Presentation Overview: I'll lead an entertaining and informative session about the updated and new features in Puppet Enterprise 3. This talk provides a guided tour through both the Dashboard and the text-editor interaction with Puppet infrastructure including MCollective and Live Management, Windows support, and some awesome under-the-hood tricks you can use in your modules.
Presentation Overview: After 16 years working as a systems/network administrator in the Bay Area, Eric relocated to Portland in 2012 to further develop his passion for awesome configuration management tools. When he's not grooming the backlog for Puppet, he's out enjoying Oregon's trails with his partner Jen, son Gunnar, and neurotic-yet-lovable pointer Indigo.
19. Follow us on Twitter @puppetlabs
youtube.com/puppetlabsinc
slideshare.net/puppetlabs
Collaborate. Automate. Ship.
20. Photo Credits
What do we want - DailyVowelMovements
Sven Nys - http://cyclephotos.co.uk/sven-nys/
Ewoks – Wookiepedia - http://starwars.wikia.com/wiki/Ewok
Death Star – Wookiepedia - http://starwars.wikia.com/wiki/Death_Star_II
NEU! Google Image Search
Robocop On A Unicorn – jamiedubs.com
Editor's Notes
Hi there! I’m Eric Sorenson, I’m the product manager for the Puppet platform. I’m going to talk a bit about Puppet Enterprise 3, which we released in July and just shipped a point release for last week. We’ll talk through how we got here, poke around a bit inside the box to find out what’s there, and look ahead to see what the future holds for Puppet Enterprise.
Seems a little strange to look at this way, because Puppet’s code base has been around since 2006, but Puppet Enterprise is only a couple of years old.It launched in 2011 with a focus on Puppet’s core competence, Configuration Management and a way to display reports.Things got busy in late 2011 and throughout 2012 with a series of feature releases in the 2 series that added some significant functionality like external authentication for dashboard so you can authenticate against your own LDAP and certificate management to track new nodes and issue them certificates from the GUI.. Windows support first came out in PE2.5 and AIX support in PE2.8. But, here’s some real talk: it took a long time, too long to turn out PE3. Because while this was going on, there was just a HUGE amount of activity in the OSS side. PuppetDB came out and replaced the active record storedconfigs, which let you read from with an awesome new engine.Mcollective 2 added this idea of sub-collectives so you could segment your infrastructure if it got too bigHere at PuppetConf last year I talked about the brand-new stuff in Puppet 3: amazing performance boosts and hiera data binding integration.And since then the platform team has continued to push the envelope with Puppet 3.1, PuppetDB added report storage, and Mcollective added advanced orchestration and sequencing.So all of that great innovation was out in the world but not yet in a commercial product. Hence…
So I mentioned a few bullet points of awesome desirable features from the individual open-source projects that make up PE, but you actually get a lot more than just the packages.
Performance! I’m a giant dork for bikes, and cyclocross season was one of the big draws for me to move to Portland. It’s a one-hour race, part steeplechase where you run and jump over barriers, part mountain bike course, part road cycling – the most fun I’ve ever had getting my butt kicked on a bike.Here’s SvenNys, six time world cyclocross champion. His rivals are also world-class athletes but he’s the best and the other competitors say they feel lucky when they beat him. That’s what we’re going for in Puppet Enterprise 3: world class performance.
Huge amounts of tough engineering work sped up the underpinnings of Puppet Enterprise 3. Every component in the stack got an update, and more importantly these versions are consistent across all the operatingsystems we support, which can be kind of a pain! Seems like I talk to someone every week about getting a solid Puppet stack running outside the major Linux distributions and yep, it’s tough – Moses Mendoza and Matthaus from the release eng team are talking about the pipeline they use to “BUILD ALL THE THINGS” at 5:10 today, and the result of their work is impressive. Puppet and Mcollective both had major version bumps and there’s a ton of work under the hood. In puppet The default serialization format for puppet is now json instead of yaml when it talks over the network, which by itself made transfer 10 times fasterDashboard got a huge update, driven by a combination of Aaron Stone’s work as the community maintainer of dashboard – he’s talking tomorrow at 5PM about the path to Dashboard 2.0. Internally we worked to get the database backend moved over to Postgres so PuppetDB and Dashboard share a common database backend.The Ruby update by itself is pretty huge, and that paired with PuppetDB and Postgres replacing the old Active Record stored config system…It’s lots better. But how much better?
These are some performance numbers from Chris Price and Dom Maraglia’s work with Gatling, which is a Scala based load simulator. For the first time with Puppet Enterprise 3.0, we used ACTUAL MATH to come up with perf data numbers and the results were pretty impressive – just about double the number of agents per master. Nearly three times the processing speed compiling catalogs.The gatling work is open-sourced too, so you can run the tests against your own code, pull it into your continuous deployment workflows and get some hard numbers as to whether something in a new module or code path is going to slow things down.
Always got to have something new though, and although the main focus of PE3 was stability and a stack refresh, there is some really cool NEW STUFF too.
So there’s some great enhancements to the ORCHESTRATION ENGINE in Puppet Enterprise 3. This is the live management UI that lets you quickly filter on facts and classes to dynamically build a list of hosts to operate on. On the right there are some new options that give you really fine-grained control of puppet running on your agents, like putting hosts into maintenance mode, triggering dry runs to test changes, and seeing the last time the agent ran from the status window. The orchestration engine is driven by mcollective under the hood, and it’s really fast, super powerful and easy to extend to add your own tasks.
Sorry the slide’s a little blurry– this is a screengrab from a great video that RI Pienaar recorded for the puppetlabs blog called “Progressive Deployment with Puppet Enterprise Orchestration Engine”, where he walks through building up a sophisticated commandline to discover nodes against the EC2 API, put them into maintenance mode and then do a batched puppet deployment on them, limiting to two in flight at any time. This is pretty amazing to see in action and it works out of the box in PE3, so a lot of the complexity around mcollective setup and configuration is done and you can just get down to business, controlling your nodes with the orchestration engine.
A couple of other cool features in the console – you can now make use of parameterized classes for groups of nodes. This lets you really take control of your puppet modules right from the GUI – I add a version field, click “add parameter” and now all of the nodes in the group are going to get the 7zip module invoked with the version parameter set to 9.2.0. If you want to learn more about class parameters, please check out Ryan Coleman’s talk on module reusability right here at 3PM today, and Alessandro’s talk tomorrow at 1:30 on the anatomy of module reusability.
Windows support takes a huge leap forward in Puppet Enterprise 3 – how many of you have at least some windows machines you’re either managing now or you’d like to manage with Puppet?Well now we have some very cool functionality including FULL Orchestration support for Puppet on Windows, a new plugin to manage the puppet agents thrrough Live Management, support for Windows Server 2012 and way better insight into modelling Windows resources in Puppet – in this screenshot you can see the output of “puppet resource package” which describes all the packages it finds right in the Puppet language, compared to the contents of the Add and Remove Programs control panel, and you see the same info. That means you can discover, capture and manage these packages using the same language and methodology as the other operating systems you run.
There’s just a TON more too – hundreds of bugs fixed, new support for SLES 11 and updates for AIX, hiera support out of the box, upgrade and scaling guides to help you get going smoothly. Just go and check it out, start managing some nodes and see how it works for you.
Remember this slide from the beginning? This extends out into the misty future, so things get a little fuzzy further out, but the goal is a reliable tick-tock cadence: oss can live on the bleeding edge, and the best / proven changes filter into PE within 2 quarters. I don’t want to get too road-mappy here, but the themes for the PE releases are things like continuous delivery workflows, reporting and data, cloud automation and provisioning. And on the platform level – I’m focused mainly on Puppet itself here, but these are things like improving the Puppet language’s power and usability, boosting performance through moving to a more service-oriented architecture, and continually enhancing how we run on different Oses.
For the support lifecycle, the goal is to make it possible to skip major versions if you need to and still stay on support.. You’ll get a year-plus-change of feature updates in PE3 like I just described, then when PE4 comes out, there should be a bit of backporting and feature overlap but it’s the new feature target and PE3 only gets security updates until it sunsets support, . There’s a bit of an extra window for PE2, but for PE3 and beyond, again this reliable tick-tock release cycle should be really predictable and safe.
In summary – Puppet Enterprise 3 is completely awesome. World class performance, great new features and functionality, and a clear path ahead to even more awesome in the future. Go download it and check out PE3 today. Maybe not today. When you get onto better wifi. Thanks.
Quite aside from the horrorible insults inflicted upon the audience’s intelligence when the prequel movies came out, ridiculousness abounds in Return of the Jedi too. These stereotypical “noble savage” teddy bears took down an elite force of storm troopers with rocks and logs? Please. But even worse…
After the first death star got annihilated, nobody did a post-mortem root cause analysis and figured out they needed to not make a shaft that led directly the central reactor? And they built the second one with the EXACT SAME FLAW? Seems odd that Vader would force-choke a general for losing a droid, but they just went with the same contracting architects after Luke blew up their data center—err, battle station, with one little torpedo.Anyway – sorry – let’s talk about the shoddy retcon of the role of jedi in the prequels if you really want to see my nerd rage – but the point is that through all of those open source releases, the awesome members of the puppet community, many of whom I see here, fixed a TON of bugs that were causing real problems for customers , and they needed a way to get to them.