Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Embrace Variables So Your Customers Don't Have To

Embrace Variables So Your Customers Don't Have To

Release Engineering can be a science. Like any science, there is a goal of controlling for variables to understand how change impacts the results of the overall system (in this case the software delivery pipeline). At Puppet Labs, our goal is to control for variances on operating systems, package managers, service managers, et al, so that our customers don’t have to. But to achieve this, we must purposely add variables into our release train. We currently build and test for more than 60 operating system targets, and that number is only increasing. When you ship an abstraction layer, you have have to test and build for all of the underlying components, and at our scale that must be automatic and developer serviceable.

Michael Stahnke

November 10, 2014
Tweet

More Decks by Michael Stahnke

Other Decks in Technology

Transcript

  1. Embrace Variables So Your Customers Don't Have To Let’s do

    some science Michael Stahnke
 Director of Engineering Services | Puppet Labs Twitter | @stahnma
  2. Developer must be able to make a small change and

    measure it without intervention
  3. Diff between SaaS and on Prem • Cost of being

    wrong • Cost to fix • Ability for user to upgrade/know about upgrades • support multiple streams
  4. "All problems in computer science can be solved by another

    level of indirection, except of course for the problem of too many indirections.” — David Wheeler
  5. Failures Submodules Binaries in git unit tests exiting 0 on

    failure AIX everything artifact duplication data duplication external services
  6. Tools • Clockin - Internal at PL, should be Open

    one day soon • Vmpooler - https://github.com/puppetlabs/vmpooler • vmpooler-cli - https://github.com/stahnma/vmpool-cli • Packaging repo -https://github.com/puppetlabs/packaging