+ All Categories
Home > Technology > PuppetConf 2016: Can You Manage Me Now? Humanizing Configuration Management at Scale – Tray...

PuppetConf 2016: Can You Manage Me Now? Humanizing Configuration Management at Scale – Tray...

Date post: 15-Apr-2017
Category:
Upload: puppet
View: 39 times
Download: 1 times
Share this document with a friend
14
Can You Manage Me Now? Humanizing Configuration Management at Scale Tray Torrance SRE, Twitter
Transcript
Page 1: PuppetConf 2016: Can You Manage Me Now? Humanizing Configuration Management at Scale – Tray Torrance, Twitter

Can You Manage Me Now?

Humanizing Configuration Management at Scale

Tray Torrance SRE, Twitter

Page 2: PuppetConf 2016: Can You Manage Me Now? Humanizing Configuration Management at Scale – Tray Torrance, Twitter

Introduction

Who What

Where When Why

2

Page 3: PuppetConf 2016: Can You Manage Me Now? Humanizing Configuration Management at Scale – Tray Torrance, Twitter

Problem Space

Millions of LoC Thousands of Nodes

Hundreds of Contributors Several Coding Styles

Disparate Agent Versions

3

Page 4: PuppetConf 2016: Can You Manage Me Now? Humanizing Configuration Management at Scale – Tray Torrance, Twitter

Problem Space• Actively Hostile Codebase

• What even are types? if enc_query(‘something’, ‘false’) == ‘true’ { … } if enc_query(‘something’, ‘false’) != ‘false’ { … } if enc_query(‘something’, undef ) == undef { … } # impossible ThreadCount <%= @workers.to_i %>

“I ran Puppet, and it painted me a Picasso [with errors]”

“Sharp and Pointy by Design”

Hard to reason about by accident

4

Page 5: PuppetConf 2016: Can You Manage Me Now? Humanizing Configuration Management at Scale – Tray Torrance, Twitter

Factoring the Problem

Code Hygiene (Dupe Code, Linting) Coding Best Practices

Customer Education & Assistance Software Lifecycle Management

5

Page 6: PuppetConf 2016: Can You Manage Me Now? Humanizing Configuration Management at Scale – Tray Torrance, Twitter

Plan of Attack: Code Hygiene

Identify Duplicate Code Refactor Common Code to Modules

Scope Linter Violations Increase Linter Compliance

Enable Linting in SCM Hooks

6

Page 7: PuppetConf 2016: Can You Manage Me Now? Humanizing Configuration Management at Scale – Tray Torrance, Twitter

Plan of Attack: Coding Best PracticesAdopt Role/Profile

Make Amends with the AutoLoader Eradicate Multi-Resource Stanzas

$ grep -ri ‘foo’ puppet/modules puppet/modules/role/manifests/bar.pp:22 include ::foo puppet/modules/role/manifests/baz.pp:36 include ::foo puppet/modules/role/manifests/qux.pp:44 ’foo’:

7

Page 8: PuppetConf 2016: Can You Manage Me Now? Humanizing Configuration Management at Scale – Tray Torrance, Twitter

Plan of Attack: Customer Education

Be the Code You Want to See in Your Repo Mingle With the People

Teach Them to Fish

8

Page 9: PuppetConf 2016: Can You Manage Me Now? Humanizing Configuration Management at Scale – Tray Torrance, Twitter

Plan of Attack: Upgrades

Unify Your Masters Agents Will Follow

Future-proof the Process

9

Page 10: PuppetConf 2016: Can You Manage Me Now? Humanizing Configuration Management at Scale – Tray Torrance, Twitter

On SCM MigrationsEvolution: Good

• Better Tooling • Better Branching

Revolution: Bad • “I’ve only ever used $otherSCM, so we should, too!” • “If it’s good enough for the Linux kernel, it’s good

enough for me!” • “Isn’t $currentSCM really really old?”

10

Page 11: PuppetConf 2016: Can You Manage Me Now? Humanizing Configuration Management at Scale – Tray Torrance, Twitter

Are We There Yet?

The boss wants to know…

11Image provided by Wikipedia

Page 12: PuppetConf 2016: Can You Manage Me Now? Humanizing Configuration Management at Scale – Tray Torrance, Twitter

You Are NEVER There

Those who don’t learn from the past, Are doomed to refactor it.

Over and over and over.

12

Image provided by @imwithstoopid13 — deviantart

Page 13: PuppetConf 2016: Can You Manage Me Now? Humanizing Configuration Management at Scale – Tray Torrance, Twitter

Acknowledgements

Ramin K Jesse M Management PuppetConf

13

Page 14: PuppetConf 2016: Can You Manage Me Now? Humanizing Configuration Management at Scale – Tray Torrance, Twitter

Recommended