state of puppet - nyc

64
James Turnbull @kartar IRC: jamesturnbull [email protected] Friday, May 3, 13

Upload: puppet-labs

Post on 15-Dec-2014

942 views

Category:

Technology


0 download

DESCRIPTION

James Turnbull delivers the 'State of Puppet' at Puppet Camp NY 2013. PuppetCamp Bonus: 25% off a Puppet Certification Exam! Use code PU2551959831 at http://bit.ly/Sv3tQa through the end of September.

TRANSCRIPT

Page 1: State of Puppet - NYC

James Turnbull@kartar

IRC: [email protected]

Friday, May 3, 13

Page 2: State of Puppet - NYC

A Quick Poll

Friday, May 3, 13

Page 3: State of Puppet - NYC

The State ofIT

Friday, May 3, 13

Page 4: State of Puppet - NYC

http://info.puppetlabs.com/2013-state-of-devops-report.html

Friday, May 3, 13

Page 5: State of Puppet - NYC

More. Faster.

Friday, May 3, 13

Page 6: State of Puppet - NYC

Old practices are Constraints ...

Friday, May 3, 13

Page 7: State of Puppet - NYC

...and old constraints are

gone

Friday, May 3, 13

Page 8: State of Puppet - NYC

DevOps

Friday, May 3, 13

Page 9: State of Puppet - NYC

Change must be embraced

Friday, May 3, 13

Page 10: State of Puppet - NYC

Cloud

Friday, May 3, 13

Page 11: State of Puppet - NYC

State of IT Automation

Friday, May 3, 13

Page 12: State of Puppet - NYC

Enabling FrictionlessTechnological Change

Friday, May 3, 13

Page 13: State of Puppet - NYC

Customers Everywhere

Friday, May 3, 13

Page 14: State of Puppet - NYC

New Approach: SoftwareDefined Infrastructure

1. DEFINE 2. SIMULATE

4. REPORT

Re-usable infrastructure-as-code Before deploying changes

Automatically and reliably Insight into changes

DESIRED STATE

CURRENT STATE

3. ENFORCE

}

Friday, May 3, 13

Page 15: State of Puppet - NYC

Lifecycle of a Puppet Run1. Facts The node sends data about its state to the puppet master server. 2.#Catalog#Puppet&uses&the&facts&to&compile&a&Catalog&that&specifies&how&the&node&should&be&configured.& 3.#&Report#Configura9on&changes&are&reported&back&to&the&Puppet&Master. 4.#&Report#Puppet's&open&API&can&also&send&data&to&3rd&party&tools.&

1 Facts 2 Catalog#

Node#

3 Report#

4 Report#Report#Collector#

Friday, May 3, 13

Page 16: State of Puppet - NYC

PuppetArchitecture

Web Server Database Server Application Server

Reporting GUI & Workflows Content Admin &

Security

Virtual Machine Cloud Hardware

PUPPET MASTER SERVER

PUPPET AGENT

PUPPET FORGE CONTENT MARKETPLACE

PUPPET AGENT

PUPPET AGENT

PUPPET OPEN SOURCE PLATFORM

Friday, May 3, 13

Page 17: State of Puppet - NYC

Simple, Declarative

Friday, May 3, 13

Page 18: State of Puppet - NYC

Strong CommunityForum Members Jan 2012 March 2013

puppet-users list 3588 5531

puppet-dev list 724 994

ask.puppetlabs.com N/A 336

#puppet 600 999

Repository Jan 2012 March 2013

Puppet Forks 236 533

Puppet Watchers 526 1230

Friday, May 3, 13

Page 19: State of Puppet - NYC

Easy to Get Involved

• Help with Documentation

• Ask/Answer questions

• http://ask.puppetlabs.com

• mailing lists

• IRC

• Help with bug triage

• Contribute code

• Contribute modules on the Forge

• Visit https://puppetlabs.com/community to learn more

Friday, May 3, 13

Page 20: State of Puppet - NYC

AUGUST 22 - 23

http://puppetconf.comFriday, May 3, 13

Page 21: State of Puppet - NYC

Friday, May 3, 13

Page 22: State of Puppet - NYC

Puppet Enterprise

Friday, May 3, 13

Page 23: State of Puppet - NYC

Puppet Enterprise

GRAPHICAL USER INTERFACE LIVE MANAGEMENT

SERVICES & SUPPORT VMWARE CLOUD PROVISIONER

Friday, May 3, 13

Page 24: State of Puppet - NYC

GUI for Puppet

High-level status of nodes for instant visibility

Time%based*display*for*insight*into*rate*of*change*

Detail*of*node*status*to*pinpoint*specific*issues*

Friday, May 3, 13

Page 25: State of Puppet - NYC

PE Live Management

Friday, May 3, 13

Page 26: State of Puppet - NYC

VM/Cloud Provisioning

Friday, May 3, 13

Page 27: State of Puppet - NYC

Recent Features

• Certificate Signing from the GUI

• Authentication with LDAP and oAuth

Friday, May 3, 13

Page 28: State of Puppet - NYC

Organizational Scalability

Friday, May 3, 13

Page 29: State of Puppet - NYC

PuppetActivity Log

Friday, May 3, 13

Page 30: State of Puppet - NYC

Puppet 3.2.0

• Ruby 2.0 Support

• External Certificate Authority Support

• Experimental “Future” parser

• Slow Catalog Profiling

• OpenWRT OS Support

• DSL modulo operator - %

Friday, May 3, 13

Page 31: State of Puppet - NYC

Puppet 3.2.0 - Experimental Parser

• parser = future• Iteration and Enumerables

$a = [1,2,3] each($a) |$value| { notice $value }

• each, foreach, collect, select, reject, reduce, slice

collect([1,20,3]) |$value| { $value < 10 } # produces [1,3]

Friday, May 3, 13

Page 32: State of Puppet - NYC

Scope

# dynamic scoping is gone

class parent { $var = "from parent" include included}

class included { notify { $var: } ## NOT GONNA WORK notify { $parent::var: } ## YUP

Friday, May 3, 13

Page 33: State of Puppet - NYC

class ntp($server = hiera(ntp_server, ‘time.apple.com’)) { ...}

# can be changed toclass ntp($ntpserver = ‘time.apple.com’) { ...}

Data Binding

Friday, May 3, 13

Page 34: State of Puppet - NYC

PerformanceGains

Friday, May 3, 13

Page 35: State of Puppet - NYC

Friday, May 3, 13

Page 36: State of Puppet - NYC

Puppet 3 moving on from 2.72.7.0 Release

3.1.0 Release 3.0.0 Release

Friday, May 3, 13

Page 37: State of Puppet - NYC

API Documentation!

Friday, May 3, 13

Page 38: State of Puppet - NYC

Transparency in plans

Friday, May 3, 13

Page 39: State of Puppet - NYC

Puppet Armatures (ARM)

• Proposals to enhance / add features to Puppet or other projects in the Puppet eco-system

• ARM is a process for collecting, reviewing, sorting, and recording the result of proposals for enhancements

• Used for work that require 2+ weeks effort, has significant changes, is in high demand, or contains changes to Puppet Language / evaluation semantics

• Community-focused process to improve openness and transparency for Puppet Labs-funded and contributor efforts

github.com/puppetlabs/armatures

Friday, May 3, 13

Page 40: State of Puppet - NYC

The Puppet Forge

• Repository of modules

• Written by the community

• Written for the community

• Identify the best ones out there

• Great place to contribute your own modules

Friday, May 3, 13

Page 41: State of Puppet - NYC

Forge By the Numbers

Jan 2012 April 2013

Modules 260 1050+

Users 930 2325+

Total DownloadsSince Feb 2012 588,000+

Friday, May 3, 13

Page 42: State of Puppet - NYC

MCollective

• Framework to build server orchestration

• Parallel job execution

• Real-time discovery of resources

• Target only the systems you want

Friday, May 3, 13

Page 43: State of Puppet - NYC

MCollective 2.2.x

• Network discovery completely pluggable

• Sources of Truth:

• network, database, file, anything

• Result Summarization in the DDL

• Shell Completion support

• ships with zsh and bash examples

Friday, May 3, 13

Page 44: State of Puppet - NYC

MCollective 2.2.x - Puppet Agent

• http://srt.ly/mcpuppet

• Orchestrates deployments

• Manages Puppet agent runs, supports:

• noop, tags, splay, environments, server

• enable/disable, custom lock messages

• current status, most recent run status

• Manages resource usage on the Puppet Master

• Throttle # of simultaneous runs

Friday, May 3, 13

Page 45: State of Puppet - NYC

MCollective 2.2.x - Puppet Agent

Friday, May 3, 13

Page 46: State of Puppet - NYC

MCollective 2.2.x - Puppet Agent

Friday, May 3, 13

Page 47: State of Puppet - NYC

MCollective 2.2.x - Puppet Agent

Friday, May 3, 13

Page 48: State of Puppet - NYC

MCollective 2.2.x - Puppet Agent

Friday, May 3, 13

Page 49: State of Puppet - NYC

PuppetDB

• Central storage for catalogs and facts that are part of your puppet infrastructure

• Incredibly fast replacement for existing ActiveRecord storeconfigs

• Easily deployed via a puppet module from the Forge

Friday, May 3, 13

Page 50: State of Puppet - NYC

PuppetDB

• PuppetDB 1.1 released

• Enhanced Query API for facts, subqueries, regular expressions

• Report Storage

• Report Query in an experimental API

Friday, May 3, 13

Page 51: State of Puppet - NYC

Razor Provisioning

• Rules-based provisioning for bare metal hardware and virtual servers

• Developed in cooperation with EMC

• Easily deployed via a puppet module from the Forge

• Automatically brings the new server into your puppet infrastructure

• Open, pluggable, and programmable

Friday, May 3, 13

Page 52: State of Puppet - NYC

Razor Present and Future

• Security audits, fixes in the 0.9.0 release

• Not yet ready for prime time

• Help us get it there

• File bugs, contribute to the community

Friday, May 3, 13

Page 53: State of Puppet - NYC

Hiera

• Simple pluggable Hierarchical Database

• Key/value lookup tool for configuration data

• Keeps site-specific data out of your manifests

• Puppet classes request data and Hiera will act like a site-wide config file

• Makes it easy to configure nodes, re-use Puppet modules and publish your modules

• Support is built into Puppet 3, and is available as an add-on for Puppet 2.7

Friday, May 3, 13

Page 54: State of Puppet - NYC

Facter 1.7

• External Facts!https://docs.puppetlabs.com/guides/custom_facts.html#external-facts

• Any executable in the facts.d directory is a fact

• Just return key/value pairs on STDOUT

• Windows

• .com .exe .bat .ps1 supported

• Also supports structured data files in facts.d

• .yaml .json .txt supported

Friday, May 3, 13

Page 55: State of Puppet - NYC

Friday, May 3, 13

Page 56: State of Puppet - NYC

Puppet Labs

Friday, May 3, 13

Page 57: State of Puppet - NYC

Puppet Labs: by the numbers

Jan 2012 April 2013

Employees 55 134

Customer Countries 29 42

Office Space 836 m2

9,000 ft22,232 m2

25,000 ft2

Friday, May 3, 13

Page 58: State of Puppet - NYC

Awesome Espresso & Tea

Weekly Company Lunch

Puppet Labs: A Great Place to Work!

Photos by Gary LarizzaFriday, May 3, 13

Page 59: State of Puppet - NYC

We’re Hiring!

Friday, May 3, 13

Page 60: State of Puppet - NYC

Training&

Certification

Friday, May 3, 13

Page 61: State of Puppet - NYC

Training by Country

Friday, May 3, 13

Page 62: State of Puppet - NYC

Puppet Education:Training and Certification Track

Friday, May 3, 13

Page 63: State of Puppet - NYC

Questions?

Questions?

Friday, May 3, 13

Page 64: State of Puppet - NYC

Thank You!

Learn More:http://puppetlabs.com

http://puppetlabs.com/communityhttp://puppetlabs.com/puppet/puppet-enterprise/

Friday, May 3, 13