Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Puppet master to
Puppet Server
or, How I learned to Stop
Worrying and Love the JVM
Kevin Corcoran
@KevinOfCorc
why?
▪ difficult to change
▪ difficult to understand
▪ still really valuable
▪ performance, scale
▫ MRI + GIL
▪ Passenger
▫ lac...
JVM ...
CHALLENGES
▪ puppet apply
▫ a first-class citizen
▪ JVM on master only
▪ no parallel implementations
▪ continue to use Ruby
It has to “just work”™.
It has to be fast.
(trademark pending)
▪ lifecycle
▪ state
management
▪ configuration
▪ logging
▪ packaging
▪ code
modularity,
reuse
WHAT’S A TRAPPERKEEPER?
▪ open-source Clojure application
framework
▪ “Service”
▪ Service API vs. implementation
▪ foundat...
▪ Yes, people are actually using
it.
▪ Yes, in production.
▪ latest version: 1.0.3
▪ part of PE 3.7.x
▪ “it works like a c...
LIES, DAMNED LIES, AND BENCHMARKS
▪ simulated HTTP traffic
via Gatling
▪ Puppet 3.7.0
▪ ~1000 resources
▪ master host:
▫ C...
LIES, DAMNED LIES, AND BENCHMARKS
▪ ~2x faster @
1000 nodes
▪ ~3x faster @
2000 nodes
▪ performance
barely affected
by 2x ...
Puppet <3 JRuby
DEVELOPERS! DEVELOPERS! DEVELOPERS!
COMMUNITY INVOLVEMENT
▪ Don’t fear the reader!
▪ There’s still plenty of Ruby to
be written.
▪ User feedback is invaluable...
Kevin Corcoran
@KevinOfCorc
kevin.corcoran@puppetlabs.com
on github:
puppetlabs/puppet-server
puppetlabs/trapperkeeeper
qu...
ConfigMgmtCamp 2015: Puppet Master to Puppet Server
ConfigMgmtCamp 2015: Puppet Master to Puppet Server
ConfigMgmtCamp 2015: Puppet Master to Puppet Server
ConfigMgmtCamp 2015: Puppet Master to Puppet Server
ConfigMgmtCamp 2015: Puppet Master to Puppet Server
ConfigMgmtCamp 2015: Puppet Master to Puppet Server
ConfigMgmtCamp 2015: Puppet Master to Puppet Server
ConfigMgmtCamp 2015: Puppet Master to Puppet Server
ConfigMgmtCamp 2015: Puppet Master to Puppet Server
ConfigMgmtCamp 2015: Puppet Master to Puppet Server
ConfigMgmtCamp 2015: Puppet Master to Puppet Server
Upcoming SlideShare
Loading in …5
×

ConfigMgmtCamp 2015: Puppet Master to Puppet Server

Kevin Corcoran, Puppet Labs

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

ConfigMgmtCamp 2015: Puppet Master to Puppet Server

  1. 1. Puppet master to Puppet Server or, How I learned to Stop Worrying and Love the JVM Kevin Corcoran @KevinOfCorc
  2. 2. why?
  3. 3. ▪ difficult to change ▪ difficult to understand ▪ still really valuable ▪ performance, scale ▫ MRI + GIL ▪ Passenger ▫ lack of coordination between processes WE’VE ALL GOT PROBLEMS
  4. 4. JVM ...
  5. 5. CHALLENGES ▪ puppet apply ▫ a first-class citizen ▪ JVM on master only ▪ no parallel implementations ▪ continue to use Ruby
  6. 6. It has to “just work”™. It has to be fast. (trademark pending)
  7. 7. ▪ lifecycle ▪ state management ▪ configuration ▪ logging ▪ packaging ▪ code modularity, reuse
  8. 8. WHAT’S A TRAPPERKEEPER? ▪ open-source Clojure application framework ▪ “Service” ▪ Service API vs. implementation ▪ foundation for server-side apps ▫ PuppetDB ▫ Puppet Server ▫ Classifier / Node Manager ▫ RBAC
  9. 9. ▪ Yes, people are actually using it. ▪ Yes, in production. ▪ latest version: 1.0.3 ▪ part of PE 3.7.x ▪ “it works like a champ” - Trevor Vaughan STATUS
  10. 10. LIES, DAMNED LIES, AND BENCHMARKS ▪ simulated HTTP traffic via Gatling ▪ Puppet 3.7.0 ▪ ~1000 resources ▪ master host: ▫ CentOS 6 ▫ 4-core Xeon 3.6GHz ▫ 8 GB RAM
  11. 11. LIES, DAMNED LIES, AND BENCHMARKS ▪ ~2x faster @ 1000 nodes ▪ ~3x faster @ 2000 nodes ▪ performance barely affected by 2x as many agents
  12. 12. Puppet <3 JRuby
  13. 13. DEVELOPERS! DEVELOPERS! DEVELOPERS!
  14. 14. COMMUNITY INVOLVEMENT ▪ Don’t fear the reader! ▪ There’s still plenty of Ruby to be written. ▪ User feedback is invaluable! ▪ Github: dev docs ▪ Jira: SERVER project ▪ Tomorrow: Contributor Summit
  15. 15. Kevin Corcoran @KevinOfCorc kevin.corcoran@puppetlabs.com on github: puppetlabs/puppet-server puppetlabs/trapperkeeeper questions?

×