SlideShare a Scribd company logo
JAMES TURNBULL
  james@puppetlabs.com
BE TRANSPARENT

•   Tell you what is happening

•   Make decisions in public

•    Work together on
    roadmap

•   Work together on design

•   Open by default
WHAT WE HAVE DONE
    RECENTLY
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-end
RUBY 1.9.3
...is finally a first class citizen.
       This is part of 3.0.0

       Fully supported.
        All bugs fixed.
          (Probably)
PUPPET MODULE TOOL

•   Project Geordi La Forge

•   PMT ships with 3.0.0

•   Making it more awesome!

•   Buffing up publishing

•   Enhance the forge
VARIABLE SCOPE FIXED


•   No more dynamic scope

•   Killed deprecation warnings!

•   Local, then inherited...

•   ...then node, then global.
GIVE BACK MEMORY

•    Daemon mode used to
    grow and grow...

•    Now, we return memory
    to the OS

•    Part of our performance
    improvement strategy
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!
PLUGIN SYNC

•    This worked unevenly

•    Failures on first run

•    Oddities about what can by
    synced and used successfully

•    Now, uniform and standard
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...
HIDDEN CHANGES

•   Lots of bugs fixed

•   Code cleanup

•   Performance improvements

•   Correctness fixes

•   None of them visible
FINALLY SHIPPING!
•   Puppet 3.0.0

•   Facter 2.0.0

•   Hiera 1.0.0
COMMITTING TO SEMVER


•    Semantic Versioning FTW

•    We are moving all our
    projects over

•    SemVer 2.0.0-rc.1
    compliant
IT’S VERSION-CEPTION!
MAJOR
VERSION
Breaking Changes
MINOR
  VERSION
Compatible new features
PATCH
  VERSION
 Bug fix with no other
behavioural or functional
        changes
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
    release
SHIPPING CODE FASTER
OS PACKAGES FOR RELEASE CANDIDATES
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!
NOT DONE YET...
OLD MISTAKES STILL HAUNT US


•    Parameterized classes don’t
    work everywhere

•    undef vs nil

•    classes with ‘-’ in the name
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.
BROKEN (OR DELAYED)
              PROMISES

•    import isn’t deprecated

•    The static compiler isn’t the
    default

•    Facter doesn’t have typed
    or structured facts
THE FUTURE
THE ECOSYSTEM


•    Shipping structured and
    typed facts without the
    ecosystem is a no-go

•    On release, new features
    should work everywhere
THE NEXT CHALLENGE
  Waldorf, kicking ass and taking names
EXPERIMENT ONE
We are going to fix some high-voted tickets
VOTES SHAPE THE ROADMAP
•    We said votes matter
    before

•    It wasn’t really true

•    I don’t expect you to
    believe us this time...

•     ...so we are gonna fix
    tickets, then ask you to
    believe us
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!
SCHEDULE TRANSPARENCY
REDMINE “ACCEPTED” TICKETS
  This is the scrum “unsorted product backlog”
REDMINE “3.X” TARGET VERSION
     This is “we might fix it before 4.0.0”
GONNA FIX THAT UP

•    Target open tickets at the
    next numeric version

•    Means “trying to fix for that
    release”

•    Still shipping time-based
    product, so things will miss
OTHER EXPERIMENTS
   You bring ‘em, We try ‘em
TECH FOR WALDORF
 This is all speculative, no promises.
STATIC COMPILER


•   Missed Telly, but only just

•   Content reference, not URI

•   Single file catalog?

•   Easier push model?
STRUCTURED FACTS

•    Really, structured and typed

•    JSON is the template for
    supported types and
    structures

•    Full ecosystem support

•    Third party facts only,
    initially
BETTER GRAPH PROCESSING

•    Improve graph handling in
    the Puppet Agent

•    Fix the “anchor” pattern

•    Improves performance and
    logic

•    Allows future
    improvements to the catalog
    and graph
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 too
CLEANER, DOCUMENTED CODE


•     Easier to use Puppet as a
    library or extend it

•    Better API definitions

•    Richer integrations
THANK YOU ALL

More Related Content

What's hot

SQL Server: Now It's Everywhere You Want to Be
SQL Server: Now It's Everywhere You Want to BeSQL Server: Now It's Everywhere You Want to Be
SQL Server: Now It's Everywhere You Want to Be
Ed Leighton-Dick
 
Ignite@DevOpsDays - Why devs need ops
Ignite@DevOpsDays - Why devs need opsIgnite@DevOpsDays - Why devs need ops
Ignite@DevOpsDays - Why devs need ops
Michael Brunton-Spall
 
DevOps: Automate all the things
DevOps: Automate all the thingsDevOps: Automate all the things
DevOps: Automate all the things
Mat Mannion
 
[Start] Playing
[Start] Playing[Start] Playing
[Start] Playing
佑介 九岡
 
Ohoh
OhohOhoh
Making development environments not suck | #econfpsu #econfpsu16
Making development environments not suck | #econfpsu #econfpsu16Making development environments not suck | #econfpsu #econfpsu16
Making development environments not suck | #econfpsu #econfpsu16
Tim Bracken
 
EclipseCon Europe 2011
EclipseCon Europe 2011EclipseCon Europe 2011
EclipseCon Europe 2011Sigasi
 
React101 v3
React101 v3React101 v3
React101 v3
Janice Gluck
 
Apple M1 & Ionic: Should I switch?
Apple M1 & Ionic: Should I switch?Apple M1 & Ionic: Should I switch?
Apple M1 & Ionic: Should I switch?
Philipp Höhne
 
Ruby Midwest 2010 jRuby by Charles Nutter
Ruby Midwest 2010 jRuby by Charles NutterRuby Midwest 2010 jRuby by Charles Nutter
Ruby Midwest 2010 jRuby by Charles Nutter
Steven Chau
 
Cincom Smalltalk Update
Cincom Smalltalk UpdateCincom Smalltalk Update
Cincom Smalltalk Update
ESUG
 
Erlang - Dive Right In
Erlang - Dive Right InErlang - Dive Right In
Erlang - Dive Right In
vorn
 
Gdco12 kartik ayyar
Gdco12 kartik ayyarGdco12 kartik ayyar
Gdco12 kartik ayyarKartik Ayyar
 
Erlang: TL;DR
Erlang: TL;DRErlang: TL;DR
Erlang: TL;DR
vorn
 
ReactJS Code Impact
ReactJS Code ImpactReactJS Code Impact
ReactJS Code Impact
Raymond McDermott
 
Let's create a multilingual site in WordPress
Let's create a multilingual site in WordPressLet's create a multilingual site in WordPress
Let's create a multilingual site in WordPress
Marko Heijnen
 
Web development post io2016
Web development post io2016Web development post io2016
Web development post io2016
Filip Bruun Bech-Larsen
 
Основы функционального JS
Основы функционального JSОсновы функционального JS
Основы функционального JS
Анна Луць
 
Introduction to jOOQ
Introduction to jOOQIntroduction to jOOQ
Introduction to jOOQ
Kostadin Golev
 

What's hot (20)

SQL Server: Now It's Everywhere You Want to Be
SQL Server: Now It's Everywhere You Want to BeSQL Server: Now It's Everywhere You Want to Be
SQL Server: Now It's Everywhere You Want to Be
 
Ignite@DevOpsDays - Why devs need ops
Ignite@DevOpsDays - Why devs need opsIgnite@DevOpsDays - Why devs need ops
Ignite@DevOpsDays - Why devs need ops
 
DevOps: Automate all the things
DevOps: Automate all the thingsDevOps: Automate all the things
DevOps: Automate all the things
 
[Start] Playing
[Start] Playing[Start] Playing
[Start] Playing
 
Ohoh
OhohOhoh
Ohoh
 
Making development environments not suck | #econfpsu #econfpsu16
Making development environments not suck | #econfpsu #econfpsu16Making development environments not suck | #econfpsu #econfpsu16
Making development environments not suck | #econfpsu #econfpsu16
 
EclipseCon Europe 2011
EclipseCon Europe 2011EclipseCon Europe 2011
EclipseCon Europe 2011
 
React101 v3
React101 v3React101 v3
React101 v3
 
Apple M1 & Ionic: Should I switch?
Apple M1 & Ionic: Should I switch?Apple M1 & Ionic: Should I switch?
Apple M1 & Ionic: Should I switch?
 
Ruby Midwest 2010 jRuby by Charles Nutter
Ruby Midwest 2010 jRuby by Charles NutterRuby Midwest 2010 jRuby by Charles Nutter
Ruby Midwest 2010 jRuby by Charles Nutter
 
Cincom Smalltalk Update
Cincom Smalltalk UpdateCincom Smalltalk Update
Cincom Smalltalk Update
 
Erlang - Dive Right In
Erlang - Dive Right InErlang - Dive Right In
Erlang - Dive Right In
 
Gdco12 kartik ayyar
Gdco12 kartik ayyarGdco12 kartik ayyar
Gdco12 kartik ayyar
 
Erlang: TL;DR
Erlang: TL;DRErlang: TL;DR
Erlang: TL;DR
 
ReactJS Code Impact
ReactJS Code ImpactReactJS Code Impact
ReactJS Code Impact
 
Let's create a multilingual site in WordPress
Let's create a multilingual site in WordPressLet's create a multilingual site in WordPress
Let's create a multilingual site in WordPress
 
JustLetMeCode-Final
JustLetMeCode-FinalJustLetMeCode-Final
JustLetMeCode-Final
 
Web development post io2016
Web development post io2016Web development post io2016
Web development post io2016
 
Основы функционального JS
Основы функционального JSОсновы функционального JS
Основы функционального JS
 
Introduction to jOOQ
Introduction to jOOQIntroduction to jOOQ
Introduction to jOOQ
 

Similar to PuppetCamp SEA 1 - The State of Puppet

What we talk about when we talk about DevOps
What we talk about when we talk about DevOpsWhat we talk about when we talk about DevOps
What we talk about when we talk about DevOps
Ricard Clau
 
Relay: Seamless Syncing for React (VanJS)
Relay: Seamless Syncing for React (VanJS)Relay: Seamless Syncing for React (VanJS)
Relay: Seamless Syncing for React (VanJS)
Brooklyn Zelenka
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
Hannes Lowette
 
Deployment is the new build
Deployment is the new buildDeployment is the new build
Deployment is the new build
Andrew Phillips
 
Supersize me: Making Drupal go large
Supersize me: Making Drupal go largeSupersize me: Making Drupal go large
Supersize me: Making Drupal go large
Tom Phethean
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
Kris Buytaert
 
Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!
Stuart Charlton
 
The Architect Way - JSCamp.asia 2012
The Architect Way - JSCamp.asia 2012The Architect Way - JSCamp.asia 2012
The Architect Way - JSCamp.asia 2012Jan Jongboom
 
Stackato v6
Stackato v6Stackato v6
Stackato v6
Jonas Brømsø
 
Achieving Agility with Code Repositories
Achieving Agility with Code RepositoriesAchieving Agility with Code Repositories
Achieving Agility with Code Repositories
Scrum User Group South Africa
 
Component-first Applications
Component-first ApplicationsComponent-first Applications
Component-first Applications
Miguelangel Fernandez
 
Angular 2 overview
Angular 2 overviewAngular 2 overview
Angular 2 overview
Jesse Warden
 
Dbops, DevOps & Ops, by Eduardo Piairo
Dbops, DevOps & Ops, by Eduardo PiairoDbops, DevOps & Ops, by Eduardo Piairo
Dbops, DevOps & Ops, by Eduardo Piairo
Agile Connect®
 
Make It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version ControlMake It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version Control
indiver
 
Stackato v5
Stackato v5Stackato v5
Stackato v5
Jonas Brømsø
 
How I Learned to Stop Worrying and Love Legacy Code.....
How I Learned to Stop Worrying and Love Legacy Code.....How I Learned to Stop Worrying and Love Legacy Code.....
How I Learned to Stop Worrying and Love Legacy Code.....
Mike Harris
 
DbOps, DevOps and Ops
DbOps, DevOps and OpsDbOps, DevOps and Ops
DbOps, DevOps and Ops
Eduardo Piairo
 
Big Data! Great! Now What? #SymfonyCon 2014
Big Data! Great! Now What? #SymfonyCon 2014Big Data! Great! Now What? #SymfonyCon 2014
Big Data! Great! Now What? #SymfonyCon 2014
Ricard Clau
 
Stackato v4
Stackato v4Stackato v4
Stackato v4
Jonas Brømsø
 
Real World Elixir Deployment
Real World Elixir DeploymentReal World Elixir Deployment
Real World Elixir Deployment
Pete Gamache
 

Similar to PuppetCamp SEA 1 - The State of Puppet (20)

What we talk about when we talk about DevOps
What we talk about when we talk about DevOpsWhat we talk about when we talk about DevOps
What we talk about when we talk about DevOps
 
Relay: Seamless Syncing for React (VanJS)
Relay: Seamless Syncing for React (VanJS)Relay: Seamless Syncing for React (VanJS)
Relay: Seamless Syncing for React (VanJS)
 
Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®Build software like a bag of marbles, not a castle of LEGO®
Build software like a bag of marbles, not a castle of LEGO®
 
Deployment is the new build
Deployment is the new buildDeployment is the new build
Deployment is the new build
 
Supersize me: Making Drupal go large
Supersize me: Making Drupal go largeSupersize me: Making Drupal go large
Supersize me: Making Drupal go large
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
 
Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!
 
The Architect Way - JSCamp.asia 2012
The Architect Way - JSCamp.asia 2012The Architect Way - JSCamp.asia 2012
The Architect Way - JSCamp.asia 2012
 
Stackato v6
Stackato v6Stackato v6
Stackato v6
 
Achieving Agility with Code Repositories
Achieving Agility with Code RepositoriesAchieving Agility with Code Repositories
Achieving Agility with Code Repositories
 
Component-first Applications
Component-first ApplicationsComponent-first Applications
Component-first Applications
 
Angular 2 overview
Angular 2 overviewAngular 2 overview
Angular 2 overview
 
Dbops, DevOps & Ops, by Eduardo Piairo
Dbops, DevOps & Ops, by Eduardo PiairoDbops, DevOps & Ops, by Eduardo Piairo
Dbops, DevOps & Ops, by Eduardo Piairo
 
Make It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version ControlMake It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version Control
 
Stackato v5
Stackato v5Stackato v5
Stackato v5
 
How I Learned to Stop Worrying and Love Legacy Code.....
How I Learned to Stop Worrying and Love Legacy Code.....How I Learned to Stop Worrying and Love Legacy Code.....
How I Learned to Stop Worrying and Love Legacy Code.....
 
DbOps, DevOps and Ops
DbOps, DevOps and OpsDbOps, DevOps and Ops
DbOps, DevOps and Ops
 
Big Data! Great! Now What? #SymfonyCon 2014
Big Data! Great! Now What? #SymfonyCon 2014Big Data! Great! Now What? #SymfonyCon 2014
Big Data! Great! Now What? #SymfonyCon 2014
 
Stackato v4
Stackato v4Stackato v4
Stackato v4
 
Real World Elixir Deployment
Real World Elixir DeploymentReal World Elixir Deployment
Real World Elixir Deployment
 

More from Walter Heck

PuppetCamp Ghent - What Not to Do with Puppet
PuppetCamp Ghent - What Not to Do with PuppetPuppetCamp Ghent - What Not to Do with Puppet
PuppetCamp Ghent - What Not to Do with Puppet
Walter Heck
 
PuppetCamp SEA @ Blk 71 - Cloud Management with Puppet
PuppetCamp SEA @ Blk 71 - Cloud Management with PuppetPuppetCamp SEA @ Blk 71 - Cloud Management with Puppet
PuppetCamp SEA @ Blk 71 - Cloud Management with Puppet
Walter Heck
 
PuppetCamp SEA @ Blk 71 - Nagios in under 10 mins with Puppet
PuppetCamp SEA @ Blk 71 -  Nagios in under 10 mins with PuppetPuppetCamp SEA @ Blk 71 -  Nagios in under 10 mins with Puppet
PuppetCamp SEA @ Blk 71 - Nagios in under 10 mins with Puppet
Walter Heck
 
PuppetCamp SEA @ Blk 71 - What's New in Puppet DB
PuppetCamp SEA @ Blk 71 - What's New in Puppet DBPuppetCamp SEA @ Blk 71 - What's New in Puppet DB
PuppetCamp SEA @ Blk 71 - What's New in Puppet DB
Walter Heck
 
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
PuppetCamp SEA @ Blk 71 - Puppet: The Year That WasPuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
Walter Heck
 
PuppetCamp SEA 1 - Puppet & FreeBSD
PuppetCamp SEA 1 - Puppet & FreeBSDPuppetCamp SEA 1 - Puppet & FreeBSD
PuppetCamp SEA 1 - Puppet & FreeBSD
Walter Heck
 
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & HadoopPuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
Walter Heck
 
PuppetCamp SEA 1 - Version Control with Puppet
PuppetCamp SEA 1 - Version Control with PuppetPuppetCamp SEA 1 - Version Control with Puppet
PuppetCamp SEA 1 - Version Control with Puppet
Walter Heck
 
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetPuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
Walter Heck
 
PuppetCamp SEA 1 - Puppet Deployment at OnApp
PuppetCamp SEA 1 - Puppet Deployment  at OnAppPuppetCamp SEA 1 - Puppet Deployment  at OnApp
PuppetCamp SEA 1 - Puppet Deployment at OnApp
Walter Heck
 
OlinData Puppet Presentation for DevOps Singapore meet-up
OlinData Puppet Presentation for DevOps Singapore meet-upOlinData Puppet Presentation for DevOps Singapore meet-up
OlinData Puppet Presentation for DevOps Singapore meet-up
Walter Heck
 
OlinData Puppet Presentation for MOSC 2012
OlinData Puppet Presentation for MOSC 2012OlinData Puppet Presentation for MOSC 2012
OlinData Puppet Presentation for MOSC 2012
Walter Heck
 
Puppet User Group Presentation - 15 March 2012
Puppet User Group Presentation - 15 March 2012Puppet User Group Presentation - 15 March 2012
Puppet User Group Presentation - 15 March 2012
Walter Heck
 

More from Walter Heck (13)

PuppetCamp Ghent - What Not to Do with Puppet
PuppetCamp Ghent - What Not to Do with PuppetPuppetCamp Ghent - What Not to Do with Puppet
PuppetCamp Ghent - What Not to Do with Puppet
 
PuppetCamp SEA @ Blk 71 - Cloud Management with Puppet
PuppetCamp SEA @ Blk 71 - Cloud Management with PuppetPuppetCamp SEA @ Blk 71 - Cloud Management with Puppet
PuppetCamp SEA @ Blk 71 - Cloud Management with Puppet
 
PuppetCamp SEA @ Blk 71 - Nagios in under 10 mins with Puppet
PuppetCamp SEA @ Blk 71 -  Nagios in under 10 mins with PuppetPuppetCamp SEA @ Blk 71 -  Nagios in under 10 mins with Puppet
PuppetCamp SEA @ Blk 71 - Nagios in under 10 mins with Puppet
 
PuppetCamp SEA @ Blk 71 - What's New in Puppet DB
PuppetCamp SEA @ Blk 71 - What's New in Puppet DBPuppetCamp SEA @ Blk 71 - What's New in Puppet DB
PuppetCamp SEA @ Blk 71 - What's New in Puppet DB
 
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
PuppetCamp SEA @ Blk 71 - Puppet: The Year That WasPuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
PuppetCamp SEA @ Blk 71 - Puppet: The Year That Was
 
PuppetCamp SEA 1 - Puppet & FreeBSD
PuppetCamp SEA 1 - Puppet & FreeBSDPuppetCamp SEA 1 - Puppet & FreeBSD
PuppetCamp SEA 1 - Puppet & FreeBSD
 
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & HadoopPuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
 
PuppetCamp SEA 1 - Version Control with Puppet
PuppetCamp SEA 1 - Version Control with PuppetPuppetCamp SEA 1 - Version Control with Puppet
PuppetCamp SEA 1 - Version Control with Puppet
 
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetPuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
 
PuppetCamp SEA 1 - Puppet Deployment at OnApp
PuppetCamp SEA 1 - Puppet Deployment  at OnAppPuppetCamp SEA 1 - Puppet Deployment  at OnApp
PuppetCamp SEA 1 - Puppet Deployment at OnApp
 
OlinData Puppet Presentation for DevOps Singapore meet-up
OlinData Puppet Presentation for DevOps Singapore meet-upOlinData Puppet Presentation for DevOps Singapore meet-up
OlinData Puppet Presentation for DevOps Singapore meet-up
 
OlinData Puppet Presentation for MOSC 2012
OlinData Puppet Presentation for MOSC 2012OlinData Puppet Presentation for MOSC 2012
OlinData Puppet Presentation for MOSC 2012
 
Puppet User Group Presentation - 15 March 2012
Puppet User Group Presentation - 15 March 2012Puppet User Group Presentation - 15 March 2012
Puppet User Group Presentation - 15 March 2012
 

Recently uploaded

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 

Recently uploaded (20)

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 

PuppetCamp SEA 1 - The State of Puppet

  • 1. JAMES TURNBULL james@puppetlabs.com
  • 2. BE TRANSPARENT • Tell you what is happening • Make decisions in public • Work together on roadmap • Work together on design • Open by default
  • 3. WHAT WE HAVE DONE RECENTLY
  • 4. 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-end
  • 5. RUBY 1.9.3 ...is finally a first class citizen. This is part of 3.0.0 Fully supported. All bugs fixed. (Probably)
  • 6. PUPPET MODULE TOOL • Project Geordi La Forge • PMT ships with 3.0.0 • Making it more awesome! • Buffing up publishing • Enhance the forge
  • 7. VARIABLE SCOPE FIXED • No more dynamic scope • Killed deprecation warnings! • Local, then inherited... • ...then node, then global.
  • 8. GIVE BACK MEMORY • Daemon mode used to grow and grow... • Now, we return memory to the OS • Part of our performance improvement strategy
  • 9. 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!
  • 10. PLUGIN SYNC • This worked unevenly • Failures on first run • Oddities about what can by synced and used successfully • Now, uniform and standard
  • 11. 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...
  • 12. HIDDEN CHANGES • Lots of bugs fixed • Code cleanup • Performance improvements • Correctness fixes • None of them visible
  • 13. FINALLY SHIPPING! • Puppet 3.0.0 • Facter 2.0.0 • Hiera 1.0.0
  • 14. COMMITTING TO SEMVER • Semantic Versioning FTW • We are moving all our projects over • SemVer 2.0.0-rc.1 compliant
  • 17. MINOR VERSION Compatible new features
  • 18. PATCH VERSION Bug fix with no other behavioural or functional changes
  • 19. 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 release
  • 21. OS PACKAGES FOR RELEASE CANDIDATES
  • 22. 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!
  • 24. OLD MISTAKES STILL HAUNT US • Parameterized classes don’t work everywhere • undef vs nil • classes with ‘-’ in the name
  • 25. 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.
  • 26. BROKEN (OR DELAYED) PROMISES • import isn’t deprecated • The static compiler isn’t the default • Facter doesn’t have typed or structured facts
  • 28. THE ECOSYSTEM • Shipping structured and typed facts without the ecosystem is a no-go • On release, new features should work everywhere
  • 29. THE NEXT CHALLENGE Waldorf, kicking ass and taking names
  • 30. EXPERIMENT ONE We are going to fix some high-voted tickets
  • 31. VOTES SHAPE THE ROADMAP • We said votes matter before • It wasn’t really true • I don’t expect you to believe us this time... • ...so we are gonna fix tickets, then ask you to believe us
  • 32. 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!
  • 34. REDMINE “ACCEPTED” TICKETS This is the scrum “unsorted product backlog”
  • 35. REDMINE “3.X” TARGET VERSION This is “we might fix it before 4.0.0”
  • 36. GONNA FIX THAT UP • Target open tickets at the next numeric version • Means “trying to fix for that release” • Still shipping time-based product, so things will miss
  • 37. OTHER EXPERIMENTS You bring ‘em, We try ‘em
  • 38. TECH FOR WALDORF This is all speculative, no promises.
  • 39. STATIC COMPILER • Missed Telly, but only just • Content reference, not URI • Single file catalog? • Easier push model?
  • 40. STRUCTURED FACTS • Really, structured and typed • JSON is the template for supported types and structures • Full ecosystem support • Third party facts only, initially
  • 41. BETTER GRAPH PROCESSING • Improve graph handling in the Puppet Agent • Fix the “anchor” pattern • Improves performance and logic • Allows future improvements to the catalog and graph
  • 42. 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 too
  • 43. CLEANER, DOCUMENTED CODE • Easier to use Puppet as a library or extend it • Better API definitions • Richer integrations