puppetconf 2016: successful puppet implementation in large organizations – james sweeny, puppet

58

Upload: puppet

Post on 16-Apr-2017

113 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Successful Puppet Implementation in Large Organizations James Sweeny Puppet, Inc.

Page 2: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

You will hear me blather about:

DevOps and Puppet

Large vs. Small/Medium Orgs

Deployment Strategies

Common Roadblocks and Pitfalls

Page 3: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Who am I?

Page 4: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

This talk is not about…

●  Scaling Puppet

●  High Availability

●  Monitoring

●  Security

Page 5: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Section ## (if desired) and/or Subtitle

Page 6: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Leading platform. Datacenter standard.

Experience Founded in 2005

Scale More than 10 million nodes managed

Ecosystem Deep partnerships with datacenter titans

Customers 1,000+ enterprise customers

Community 4,200+ community-contributed modules

Users 30,000+ organizations using Puppet

Backing

Page 7: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet
Page 8: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

DevOps - CAMS

●  Culture

●  Automation

●  Measurement

●  Sharing

Page 9: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

How most companies see it

●  Culture

● Automation ●  Measurement

●  Sharing

Page 10: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

How they should see it

● Culture ●  Automation

●  Measurement

●  Sharing

Page 11: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Puppet is (just) a tool.

Page 12: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Puppet doesn’t…

●  Do everything

●  Fix broken culture

●  Shuffle the org chart

●  Train your staff

●  Get you out of an abusive MSP relationship

Page 13: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

But it can… ●  Help you to understand your own

systems

●  Provide a focal point and a Lingua Franca

●  Save time and open new opportunities

●  Act as a force multiplier for velocity, consistency, and reliability

Page 14: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Puppet code is state!

Page 15: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Infrastructure as Code ●  Puppet code describes the entire system

(or everything you care about)

●  The code is the system

●  Changing the code is the same as changing the server

●  Designing, provisioning, changing all rolled into one

Page 16: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

What is a “Large” Organization?

Page 17: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Large Organizations…

●  Complex org chart

●  Separation of concerns

●  Many teams

●  Many distinct business functions

●  Headcount, not node count

Page 18: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Naïve Deployment Example

Page 19: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Server

Application

In house software, provides business value

Page 20: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Server

Middleware Apache, IIS, Oracle, etc.

Page 21: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Server

Management Netbackup, SEP, Nagios agents, etc.

Page 22: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Server

OS Windows, Linux, Solaris, etc.

Page 23: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Server in a small company

OS

Management

Middleware

Application

Developer(s) Operations/IT

Page 24: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Developer(s) Operations/IT

Page 25: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

DevOps!

OS

Management

Middleware

Application

Developer(s)

Operations/IT

Page 26: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Problem in Large Organizations

●  Many “development” teams

●  “Operations/IT” is highly fractured

●  Many overlay teams

Page 27: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

App teams

Release team

Middleware

Windows

Security

Linux

Page 28: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

… But it’s usually worse ●  Multiple variants of each team

●  Windows/Linux/Solaris/AIX…

●  Secure vs. Non-secure

●  Different team for each Management product

●  Overlays for compliance, security, governance…

●  Changing ownership depending on lifecycle stages

Page 29: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Crazy Org Charts ●  CIO

●  SVP Engineering

—  Middleware

—  Windows Engineering

—  Unix Engineering

—  Backup Team

—  Monitoring Team

●  SVP Application Engineering

—  Hundreds of app teams

—  Release Engineering

●  SVP Security and Compliance

●  …

Page 30: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Journey, not a sprint

Page 31: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

So what *does* work? (Reduce the problem domain)

Page 32: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Start small, shallow, and wide Option #1

Page 33: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Shallow and Wide

OS

Management

Middleware

Application

OS

Management

Middleware

Application

OS

Management

Middleware

Application

Single Team

Unmanaged

Page 34: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Shallow and Wide

●  Start with one existing team (usually the one with root/Administrator)

●  Do minimal work

●  Get comfortable with Puppet and version control

●  Don’t boil the ocean

Page 35: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Shallow and Wide (evolution)

●  Add new teams as responsibilities expand

●  Share code repository

●  Central module repository

●  Slowly work up the stack

Page 36: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Platform as a Service Option #2

Page 37: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Platform as a Service

OS

Management

Middleware

Application

OS

Management

Middleware

Application

OS

Management

Middleware

Application

Single Team Unmanaged (Legacy)

Page 38: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Platform as a Service

●  Puppet is hidden from customers (App/Dev teams)

●  Limited, but complete stacks provided

●  Likely need to build/use an additional interface

●  Exceptions to normal policies

Page 39: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Platform as a Service (evolution)

●  Accept Puppet code contributions from other teams

●  Add additional Middleware and OS platforms

●  Decommission/migrate legacy servers

Page 40: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Which is right for us?

Page 41: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Shallow and Wide

●  Most successful real-world

●  Most flexible early on

●  Easiest way to learn your org

●  Gives time to evolve

●  Business value not as easily apparent

Page 42: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

PaaS

●  Single team can own and slowly grow

●  Very high upfront cost

●  Quick wins for new applications

●  Side-by-side with legacy for longer (or forever)

●  No benefit to legacy fleet

Page 43: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Other Options

Page 44: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Hybrid Approaches

●  Grant limited Hiera exposure

●  Mix of Options 1 & 2

●  Puppet as a Service

●  Multiple agents

Page 45: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

The “Puppet Team”

Page 46: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

“Puppet Team”

●  Over time, role becomes advisory

●  Own the initial workflow, Puppet infrastructure, supporting services

●  Become Puppet SMEs

Page 47: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Who is the “Puppet Team”

●  Technical experts on your existing systems

●  Can cut red tape

●  Have root/Admin already

●  Eager to learn, excited to solve problems

●  Dedicated to big picture success

Page 48: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Likely Roadblocks

Page 49: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

“That’s not how we do it” The internal “standard”

Page 50: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Battling “That’s not how we do it”

●  Prefer Industry standards to esoteric ones

●  Software owners must articulate reasoning

●  Make your case to “SMEs”

●  Use political pressure as a last resort

Page 51: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Plan, Build, Run Probably the reason everything is awful

Page 52: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Plan, Build, Run

●  Diffusion of responsibility

●  Conflicting sources of truth

●  Destroys feedback loops

●  Massively slows change

●  Puppet makes it obsolete

Page 53: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Politics

Page 54: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Politics

●  Have well connected people committed to Puppet

●  Need strong management

●  Understand other groups needs

●  Be willing to prove real value before winning other groups

●  “Puppet won’t steal your job”

Page 55: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Final Advice

Page 56: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

More tips

●  Learn/know your own systems

●  Always question internal dogma

●  Limit scope, standardize, leave things out

●  Think “shift left”

●  Don’t overbuild!

Page 57: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet

Must See Presentations

●  Charlie Sharpsteen on performance tuning, 1:30PM Terrace Salon

●  Martin Jackson on collaboration culture, 11:15AM Friday, Grand Hall

●  Russ Mull and Zack Smith on Puppet HA, 2:30PM Friday, California room

●  Multi-tenant station in the Exhibit Hall

Page 58: PuppetConf 2016: Successful Puppet Implementation in Large Organizations – James Sweeny, Puppet