state of puppet - nyc

Post on 15-Dec-2014

942 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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

James Turnbull@kartar

IRC: jamesturnbulljames@puppetlabs.com

Friday, May 3, 13

A Quick Poll

Friday, May 3, 13

The State ofIT

Friday, May 3, 13

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

Friday, May 3, 13

More. Faster.

Friday, May 3, 13

Old practices are Constraints ...

Friday, May 3, 13

...and old constraints are

gone

Friday, May 3, 13

DevOps

Friday, May 3, 13

Change must be embraced

Friday, May 3, 13

Cloud

Friday, May 3, 13

State of IT Automation

Friday, May 3, 13

Enabling FrictionlessTechnological Change

Friday, May 3, 13

Customers Everywhere

Friday, May 3, 13

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

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

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

Simple, Declarative

Friday, May 3, 13

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

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

AUGUST 22 - 23

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

Friday, May 3, 13

Puppet Enterprise

Friday, May 3, 13

Puppet Enterprise

GRAPHICAL USER INTERFACE LIVE MANAGEMENT

SERVICES & SUPPORT VMWARE CLOUD PROVISIONER

Friday, May 3, 13

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

PE Live Management

Friday, May 3, 13

VM/Cloud Provisioning

Friday, May 3, 13

Recent Features

• Certificate Signing from the GUI

• Authentication with LDAP and oAuth

Friday, May 3, 13

Organizational Scalability

Friday, May 3, 13

PuppetActivity Log

Friday, May 3, 13

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

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

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

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

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

Data Binding

Friday, May 3, 13

PerformanceGains

Friday, May 3, 13

Friday, May 3, 13

Puppet 3 moving on from 2.72.7.0 Release

3.1.0 Release 3.0.0 Release

Friday, May 3, 13

API Documentation!

Friday, May 3, 13

Transparency in plans

Friday, May 3, 13

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

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

Forge By the Numbers

Jan 2012 April 2013

Modules 260 1050+

Users 930 2325+

Total DownloadsSince Feb 2012 588,000+

Friday, May 3, 13

MCollective

• Framework to build server orchestration

• Parallel job execution

• Real-time discovery of resources

• Target only the systems you want

Friday, May 3, 13

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

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

MCollective 2.2.x - Puppet Agent

Friday, May 3, 13

MCollective 2.2.x - Puppet Agent

Friday, May 3, 13

MCollective 2.2.x - Puppet Agent

Friday, May 3, 13

MCollective 2.2.x - Puppet Agent

Friday, May 3, 13

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

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

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

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

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

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

Friday, May 3, 13

Puppet Labs

Friday, May 3, 13

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

Awesome Espresso & Tea

Weekly Company Lunch

Puppet Labs: A Great Place to Work!

Photos by Gary LarizzaFriday, May 3, 13

We’re Hiring!

Friday, May 3, 13

Training&

Certification

Friday, May 3, 13

Training by Country

Friday, May 3, 13

Puppet Education:Training and Certification Track

Friday, May 3, 13

Questions?

Questions?

Friday, May 3, 13

Thank You!

Learn More:http://puppetlabs.com

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

Friday, May 3, 13

top related