Daniel Pittman - Platform Team Presentation - PuppetCamp LA '12
Upcoming SlideShare
Loading in...5
×
 

Daniel Pittman - Platform Team Presentation - PuppetCamp LA '12

on

  • 1,517 views

 

Statistics

Views

Total Views
1,517
Views on SlideShare
1,504
Embed Views
13

Actions

Likes
0
Downloads
12
Comments
0

2 Embeds 13

http://puppetlabs.com 12
https://puppetlabs.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Daniel Pittman - Platform Team Presentation - PuppetCamp LA '12 Daniel Pittman - Platform Team Presentation - PuppetCamp LA '12 Presentation Transcript

  • DANIEL PITTMAN daniel@puppetlabs.comMonday, 21 May 12 1
  • PUPPET PLATFORM Who, What, Why, and HowMonday, 21 May 12 2
  • WHAT IS THE PLATFORM TEAM?Monday, 21 May 12 3
  • I AM PLATFORM TEAM LEAD • Find the right people • Help them be awesome • Stay out of their wayMonday, 21 May 12 4
  • WHAT DO WE DO?Monday, 21 May 12 5
  • MAKE PUPPET MORE AWESOME FOR THE COMMUNITY • Build great things • Triage and fix bugs • Merge contributed codeMonday, 21 May 12 6
  • WORK WITH THE COMMUNITYMonday, 21 May 12 7
  • ASIDE: WORKING IN THE COMMUNITY => WORKING FOR PUPPET LABS • Developers • Professional Services • Sales Engineers • ...and other rolesMonday, 21 May 12 8
  • REDUCE FRICTION FOR NEW CONTRIBUTORSMonday, 21 May 12 9
  • BE TRANSPARENT • Tell you what is happening • Make decisions in public • Work together on roadmap • Work together on design • Open by defaultMonday, 21 May 12 10
  • WHAT WE HAVE ACCOMPLISHEDMonday, 21 May 12 11
  • DATA/MODEL SEPARATION • Lookup of class parameters separate from the manifest • You can assume it is there! • No manifest changes needed • Uses Hiera as the back-endMonday, 21 May 12 12
  • RUBY 1.9.3 ...is finally a first class citizen. This is part of 3.0.0 Fully supported. All bugs fixed. (Probably)Monday, 21 May 12 13
  • PUPPET MODULE TOOL • Project Geordi La Forge • PMT ships with 3.0.0 • Making it more awesome! • Buffing up publishing • Enhance the forgeMonday, 21 May 12 14
  • VARIABLE SCOPE FIXED • No more dynamic scope • Killed deprecation warnings! • Local, then inherited... • ...then node, then global.Monday, 21 May 12 15
  • GIVE BACK MEMORY • Daemon mode used to grow and grow... • Now, we return memory to the OS • Part of our performance improvement strategyMonday, 21 May 12 16
  • ENC VS ENVIRONMENTS • You could set the client environment from the ENC • The client would ignore you (sometimes) • Now it doesn’t • Bug fix, not feature • Still great!Monday, 21 May 12 17
  • PLUGIN SYNC • This worked unevenly • Failures on first run • Oddities about what can by synced and used successfully • Now, uniform and standardMonday, 21 May 12 18
  • DSL POLISH • Add “unless” to the language • Allow keywords as resource parameters and properties • Fixed some parser bugs (like ‘-’ in variable names) • More of this coming...Monday, 21 May 12 19
  • HIDDEN CHANGES • Lots of bugs fixed • Code cleanup • Performance improvements • Correctness fixes • None of them visibleMonday, 21 May 12 20
  • FINALLY SHIPPING! • Puppet 3.0.0 • Facter 2.0.0 • Hiera 1.0.0Monday, 21 May 12 21
  • COMMITTING TO SEMVER • Semantic Versioning FTW • We are moving all our projects over • SemVer 2.0.0-rc.1 compliantMonday, 21 May 12 22
  • IT’S VERSION-CEPTION!Monday, 21 May 12 23
  • MAJOR VERSION Breaking ChangesMonday, 21 May 12 24
  • MINOR VERSION Compatible new featuresMonday, 21 May 12 25
  • PATCH VERSION Bug fix with no other behavioural or functional changesMonday, 21 May 12 26
  • WHICH MEANS? • You have version numbers that match the way we write and ship code • You can be confident about the scope of changes in any releaseMonday, 21 May 12 27
  • SHIPPING CODE FASTERMonday, 21 May 12 28
  • OS PACKAGES FOR RELEASE CANDIDATESMonday, 21 May 12 29
  • MONTH DEVELOPMENT RELEASES • Waldorf is the next major release after Telly (3.0.0) • We will ship a tested version every month as a preview • This way you don’t have changes a year old before they ship to the community • Plus OS packages!Monday, 21 May 12 30
  • NOT DONE YET...Monday, 21 May 12 31
  • OLD MISTAKES STILL HAUNT US • Parameterized classes don’t work everywhere • undef vs nil • classes with ‘-’ in the nameMonday, 21 May 12 32
  • SLOW MOVING ECOSYSTEM • Dashboard has not gotten a lot of love recently • Puppet Labs modules need more attention • ...but we are starting to invest in them.Monday, 21 May 12 33
  • BROKEN (OR DELAYED) PROMISES • import isn’t deprecated • The static compiler isn’t the default • Facter doesn’t have typed or structured factsMonday, 21 May 12 34
  • THE FUTUREMonday, 21 May 12 35
  • THE ECOSYSTEM • Shipping structured and typed facts without the ecosystem is a no-go • On release, new features should work everywhereMonday, 21 May 12 36
  • THE NEXT CHALLENGE Waldorf, kicking ass and taking namesMonday, 21 May 12 37
  • EXPERIMENT ONE We are going to fix some high-voted ticketsMonday, 21 May 12 38
  • VOTES SHAPE THE ROADMAP • We said votes matter before • It wasn’t really true •I don’t expect you to believe me this time... • ...so we are gonna fix tickets, then ask you to believe usMonday, 21 May 12 39
  • VOTES SHAPE THE ROADMAP • We want community input into the roadmap • This seems a solid choice • Success is that votes get used by the community • ...and that we use them to shape the roadmap!Monday, 21 May 12 40
  • SCHEDULE TRANSPARENCYMonday, 21 May 12 41
  • REDMINE “ACCEPTED” TICKETS This is the scrum “unsorted product backlog”Monday, 21 May 12 42
  • REDMINE “3.X” TARGET VERSION This is “we might fix it before 4.0.0”Monday, 21 May 12 43
  • SAME THING!Monday, 21 May 12 44
  • GONNA FIX THAT UP • Target open tickets at the next numeric version • Means “trying to fix for that release” • Stillshipping time-based product, so things will missMonday, 21 May 12 45
  • OTHER EXPERIMENTS You bring ‘em, We try ‘emMonday, 21 May 12 46
  • TECH FOR WALDORF This is all speculative, no promises.Monday, 21 May 12 47
  • SYSTEM MODULE PATH • Modules can move fast • Batteries-included is great • Combine them! • Best of both worldsMonday, 21 May 12 48
  • STATIC COMPILER • Missed Telly, but only just • Content reference, not URI • Single file catalog? • Easier push model?Monday, 21 May 12 49
  • STRUCTURED FACTS • Really, structured and typed • JSON is the template for supported types and structures • Full ecosystem support • Third party facts only, initiallyMonday, 21 May 12 50
  • BETTER GRAPH PROCESSING • Improve graph handling in the Puppet Agent • Fix the “anchor” pattern • Improves from O(N^2) worst case to O(N) • Allows future improvements to the catalog and graphMonday, 21 May 12 51
  • BETTER ENVIRONMENTS • Different versions of a type in different environments • Turns out that is pretty hard (thanks, Ruby) • We will make it easy • Fix performance cost tooMonday, 21 May 12 52
  • CLEANER, DOCUMENTED CODE • Easier to use Puppet as a library or extend it • Better API definitions • Richer integrationsMonday, 21 May 12 53
  • MY REAL GOALMonday, 21 May 12 54
  • BUILD A 10× TEAM ...and let them work with the community to be awesome!Monday, 21 May 12 55
  • THANK YOU ALL Please tweet your thanks to @MediaTemple for hosting #PuppetCampLA 2012Monday, 21 May 12 56