state of puppet - puppet camp austin

Post on 10-May-2015

1.338 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Andy Parker delivers the "State of Puppet" at Puppet Camp Austin 2013.

TRANSCRIPT

Andrew Parker@aparker42

IRC: zaphod42andy@puppetlabs.com

Friday, May 3, 13

Friday, May 3, 13

A Quick Poll

Friday, May 3, 13

The State ofIT

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

State of IT Automation

Friday, May 3, 13

How Can Organizations

Achieve High Performance?

HIGH PERFORMING ORGANIZATIONS SHARE TWO COMMON PRACTICES

use version control for infrastructure management

use automated code deployments

Get the 2013 State of DevOps Report at https://puppetlabs.com/solutions/devops/

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

Puppetand

Related Projects

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

Puppet Armatures (ARM)

• Proposals to enhance / add features

• Process for collecting, reviewing, sorting, and recording the result of proposals for enhancements

• Used for work that is significant or large impact

• Community-focused process with improved openness and transparency

github.com/puppetlabs/armatures

Friday, May 3, 13

Puppet Forge: Module Repository

• By the community ... For the community

• Identify and use the best ones

• Contribute your own modules

Jan 2012 April 2013

Modules 260 1050+

Users 930 2325+

Total DownloadsSince Feb 2012 588,000+

Friday, May 3, 13

Puppet Forge: Critical Services

Friday, May 3, 13

Puppet Forge: Manage Solutions

Friday, May 3, 13

Puppet Forge: Utilities

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

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 1.2

• Automatic node purging

• Import/export of PuppetDB data

• Automatic dead-letter office compression

• Package availability changes

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

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