eclipse con 2012 - frictionless operations with puppet - luke kanies

79
Luke Kanies Founder of Puppet Founder and CEO, Puppet Labs Frictionless Operations with Puppet Tuesday, April 10, 12

Upload: puppet-labs

Post on 20-Jan-2015

1.495 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Luke KaniesFounder of Puppet

Founder and CEO, Puppet Labs

Frictionless Operationswith Puppet

Tuesday, April 10, 12

Page 2: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

The IT Situation

Tuesday, April 10, 12

Page 3: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Absolutely critical

Tuesday, April 10, 12

Page 4: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Gatekeepers

Tuesday, April 10, 12

Page 5: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Bad tools

Tuesday, April 10, 12

Page 6: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Calcification

Tuesday, April 10, 12

Page 7: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

DevOps

Tuesday, April 10, 12

Page 8: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

2001: Agile Manifesto

Tuesday, April 10, 12

Page 9: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Individuals and interactions over

processes and tools

Tuesday, April 10, 12

Page 10: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Working software over comprehensive documentation

Tuesday, April 10, 12

Page 11: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Customer collaboration over contract negotiation

Tuesday, April 10, 12

Page 12: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Responding to change over following a plan

Tuesday, April 10, 12

Page 13: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Dev: On time, under budget, wrong product

http://diykenya.files.wordpress.com/2010/08/tire_swing.gif

Tuesday, April 10, 12

Page 14: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Ops: Secure, stable, 18 months to deploy

Tuesday, April 10, 12

Page 15: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Process exists for a reason

http://t0.gstatic.com/images?q=tbn:ANd9GcQHJKV3omm4ov_CU7CJovofE_QGi9xsg_vPz1QHZlKXmlYtt2bB-Q

Tuesday, April 10, 12

Page 16: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Confidence through Tooling

http://www.mdpretech.com/images/Products/Precision%20Tooling%20for%20IC%20mold%20and%20Plastic%20mold.jpg

Tuesday, April 10, 12

Page 17: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Cloud Computing

http://t2.gstatic.com/images?q=tbn:ANd9GcRSjOE5BJr_A2IvmjZk1tCj7LU_qENIb58MuGqQWxU2DGqETHz-

Tuesday, April 10, 12

Page 18: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Scale

Tuesday, April 10, 12

Page 19: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Agility

Tuesday, April 10, 12

Page 20: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Big Data

Tuesday, April 10, 12

Page 21: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Self-service

Tuesday, April 10, 12

Page 22: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Puppet

Tuesday, April 10, 12

Page 23: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Puppet Users

Scaled from 0 to over 10,000 serversin 2 months without training

287 servers per SysAdminvs. 19 for BMC BladeLogic

Over 50,000 systemsmanaged by Puppet

Deploy 1,800 machines in 2 hoursvs. 25 machines per day with HP Opsware

Financial Entertainment Technology Defense Web

InvestorsMobile  PhoneCompany

Tuesday, April 10, 12

Page 24: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Plenty of others

Tuesday, April 10, 12

Page 25: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Built for the user

Tuesday, April 10, 12

Page 26: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Great Design

http://www.encorbio.com/Album/pages/ChkNFH-neuron1.htm

Tuesday, April 10, 12

Page 27: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

ConfigurationPlatform

Tuesday, April 10, 12

Page 28: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Fear

Embarrassment

SSH

Tuesday, April 10, 12

Page 29: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

More great sysadmins

Programmers Sysadmins

5000 Assembly Scripts

Millions Ruby, Java, PHP, C ?

Tuesday, April 10, 12

Page 30: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Fully  Automated  Infrastructure

Asynchronous  Management

Centralized  Management

Good  tools

Flatten the climb

Investment

Awes

omen

ess

Tuesday, April 10, 12

Page 31: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Why use Puppet?

Tuesday, April 10, 12

Page 32: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

96% of outages are human error

Stability

Tuesday, April 10, 12

Page 33: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

1000 nodes x 10s command = no pub

Agility

Tuesday, April 10, 12

Page 34: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Air-gapLeast Privilege

Untrusted clients

Security

Tuesday, April 10, 12

Page 35: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Auditability

Tuesday, April 10, 12

Page 36: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Golden image?

Image  from  http://www.flickr.com/photos/fungep/2516767121/sizes/l_

Tuesday, April 10, 12

Page 37: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Puppet: A brief introduction

Tuesday, April 10, 12

Page 39: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Resource Abstraction Layercomputercronfilegrouphostinterfacek5loginmailaliasmaillistmcxmount

packageportresourcesrouterservicesshkeystageuservcsrepovlanyumrepo

Tuesday, April 10, 12

Page 40: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Cross Platform

Fedora

Debian

Ubuntu

CentOS

SuSE

Red HatOS X

AIX

HP-UX

OpenBSD

FreeBSD

Solaris

Windows

Cisco

F5

Tuesday, April 10, 12

Page 41: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Workflow Define: With Puppet's declarative language you design a graph of relationships between resources within reusable modules. These modules define your infrastructure in its desired state.

1

Simulate: With this resource graph, Puppet is unique in its ability to simulate deployments, enabling you to test changes without disruption to your infrastructure.

2

Enforce: Puppet compares your system to the desired state as you define it, and automatically enforces it to the desired state ensuring your system is in compliance.

3

Report: Puppet Dashboard reports track relationships between components and all changes, allowing you to keep up with security and compliance mandates. And with the open API you can integrate Puppet with third party monitoring tools.

4

DESIREDSTATE

CURRENTSTATE

ITER

ATE

AN

D IN

CREA

SE C

OVERAGE

Tuesday, April 10, 12

Page 42: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Change Propagation

FactsThe node sends normalized data about itself to the Puppet Master.

1

CatalogPuppet uses the Facts tocompile a Catalog thatspecifies how the nodeshould be configured.

2

Report3XSSHW·V�RSHQ�$3,�can also send data to third party tools.

4

ReportThe node reports back to Puppet indicating the configuration is complete, which is visible in the Puppet Dashboard.

3

Report Collector(Puppet or 3rd party tool)

Node

PuppetMaster

SSL secure encryption on all data transport

Tuesday, April 10, 12

Page 43: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

domain => localfacterversion => 1.5.8fqdn => sliver.localhardwaremodel => i386hostname => sliverinterfaces => lo0,gif0,stf0,en0,en1,fw0,vmnet1,vboxnet0ipaddress => 192.168.174.1ipaddress_lo0 => 127.0.0.1ipaddress_vmnet1 => 192.168.174.1kernel => Darwinkernelmajversion => 10.6kernelrelease => 10.6.0macosx_productname => Mac OS Xmacosx_productversion => 10.6.6netmask => 255.255.255.0netmask_lo0 => 255.0.0.0netmask_vmnet1 => 255.255.255.0network_lo0 => 127.0.0.0network_vmnet1 => 192.168.174.0operatingsystem => Darwinoperatingsystemrelease => 10.6.0path => /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/binps => ps auxwwwpuppetversion => 2.6.4rubysitedir => /opt/local/lib/ruby/site_ruby/1.8timezone => PSTuptime => 1 dayrubyversion => 1.8.7sp_bus_speed => 1.07 GHz

Automatic Inventory

Tuesday, April 10, 12

Page 44: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Centralized, Serverless, or Hybrid

MCollectivehandlesorchestration

Puppet Master

Puppet Dashboard 3rd Party SystemsPuppet Module Forge

Modules

Puppet AgentFacter

NODE

Puppet AgentFacter

NODE

Puppet AgentFacter

NODE

Data

Tuesday, April 10, 12

Page 45: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Scales like HTTPS

2 known 50k node sites

Multiple 30k node sites

Tens of 3k node sites

Tuesday, April 10, 12

Page 46: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Built as a platform

Tuesday, April 10, 12

Page 47: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Model-based hackability

•Hosts•Inventory data• IP, hostname, platform, etc.

•Resource lists•Resource dependencies•Change events

Tuesday, April 10, 12

Page 48: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Puppet Faces

cacatalogcertificatecertificate_requestcertificate_revocation_listconfigfactsfilehelp

keymannodeparserpluginreportresourceresource_typestatus

Tuesday, April 10, 12

Page 49: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

MCollective: Infrastructure message

bus

Tuesday, April 10, 12

Page 50: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Puppet Forge301 modules

Tuesday, April 10, 12

Page 51: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

How to use Puppet

Tuesday, April 10, 12

Page 52: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Seek the pain

Image  from  http://www.flickr.com/photos/pagedooley/2147718252/sizes/l/Tuesday, April 10, 12

Page 53: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Solve the simple problems

Tuesday, April 10, 12

Page 54: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Add the infrastructure features you always

wanted

Tuesday, April 10, 12

Page 55: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Think like Puppet thinks

•Resources, not text snippets or lines added to files•What resources are you managing?•How are they related to each other?

Tuesday, April 10, 12

Page 56: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Replace Shell Scripts with Resources

Becomes:

This:

Tuesday, April 10, 12

Page 57: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Relationships matter but are often implicit

Package

Service

Service should restart whenconfiguration changes

Configuration

Configuration should get modifed after package installation

Tuesday, April 10, 12

Page 58: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Explicit Relationships

Tuesday, April 10, 12

Page 59: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Relationships provide ordering and notification

"Exec[createrepo-PM-RHEL5-noarch]"

"Yumrepo[PM-RHEL5-x86_64]"

"Yumrepo[PM-RHEL5-noarch]"

"Package[postgresql-server]"

"Package[thttpd]"

"File[/var/www/thttpd/html/yum-PM-RHEL5-noarch]""File[/var/www/thttpd/html/yum-PM-RHEL5-x86_64]"

"Exec[rsync-rpmdir-PM-RHEL5-x86_64]"

"Exec[createrepo-PM-RHEL5-x86_64]"

"Postgres::Role[puppet]"

"Exec[rsync-rpmdir-PM-RHEL5-noarch]"

Tuesday, April 10, 12

Page 60: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Classes document Intent

Tuesday, April 10, 12

Page 61: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Organize files into modules

Tuesday, April 10, 12

Page 62: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Provide platform abstraction

Debian

Red  Hat

Tuesday, April 10, 12

Page 63: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Portability and Naming

Tuesday, April 10, 12

Page 64: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Roles

Tuesday, April 10, 12

Page 65: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Puppet Enterprise

Tuesday, April 10, 12

Page 66: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Detail  of  node  status  to  pinpoint  specific  issues

High-­‐level  status  of  nodes  for  instant  

visibility

Time-­‐based  display  for  insight  into  rate  of  

change

Reporting

Tuesday, April 10, 12

Page 67: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Cloud Provisioning

VMware

Amazon AWS

OpenStack

Tuesday, April 10, 12

Page 68: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Choose  nodes  to  clone  to  ensure  consistency

Preview  the  impact  before  you  clone  

nodes

Browse  for  managed  nodes  in  your  infrastructure

Resource Browsing

Tuesday, April 10, 12

Page 69: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Accept  or  reject  changes  to  update  

your  baseline

See  specific  differences  between  node  configurations  

Compliance

Tuesday, April 10, 12

Page 70: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Find  out  the  status  of  each  node  group  and  its  last  Puppet  run

Orchestration

Tuesday, April 10, 12

Page 71: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Resources  currently  under  Puppet  management

Current  set  of  managed  nodes

Orchestration

Tuesday, April 10, 12

Page 72: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

2.5 Released today

•Windows support•Puppet Forge integration•Puppet Data Library

Tuesday, April 10, 12

Page 73: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Summary

Tuesday, April 10, 12

Page 74: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

IT is critical but needs to improve

Tuesday, April 10, 12

Page 75: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

DevOps is bringing change

Tuesday, April 10, 12

Page 76: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

The Cloud is Coming

http://t2.gstatic.com/images?q=tbn:ANd9GcRSjOE5BJr_A2IvmjZk1tCj7LU_qENIb58MuGqQWxU2DGqETHz-

Tuesday, April 10, 12

Page 77: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Puppet gets you there

Tuesday, April 10, 12

Page 78: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Questions?

Tuesday, April 10, 12

Page 79: Eclipse con 2012 - Frictionless operations with Puppet - Luke Kanies

Give Feedback on the Sessions

1 Sign In: www.eclipsecon.org

2 Select Session Evaluate

3 Vote

Tuesday, April 10, 12