Post on 14-Jul-2015
transcript
Puppet master to
Puppet Server
or, How I learned to Stop
Worrying and Love the JVM
Kevin Corcoran
@KevinOfCorc
▪ difficult to change
▪ difficult to understand
▪ still really valuable
▪ performance, scale
▫ MRI + GIL
▪ Passenger
▫ lack of coordination between processes
WE’VE ALL GOT PROBLEMS
CHALLENGES
▪ puppet apply
▫ a first-class citizen
▪ JVM on master only
▪ no parallel implementations
▪ continue to use Ruby
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
▪ 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
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
LIES, DAMNED LIES, AND BENCHMARKS
▪ ~2x faster @
1000 nodes
▪ ~3x faster @
2000 nodes
▪ performance
barely affected
by 2x as many
agents
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