State of Puppet - London

Post on 10-May-2015

740 views 0 download

Tags:

description

The State of Puppet presentation delivered at Puppet Camp London by Luke Kanies.

transcript

Luke Kanies@puppetmasterd

IRC: lakluke@puppetlabs.com

Thanks toour Sponsors

Quru and Red Hat

The State ofIT

Shorter Cycles

Builtin Constraints

DevOps

Change must be embraced

Cloud

State of IT Automation

Enabling FrictionlessTechnological Change

Customers Everywhere

Simple, Declarative

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

}

Lifecycle of a Puppet Run

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

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

Strong CommunityForum Members Jan 2012 Feb 2013

puppet-users list 3588 5402

puppet-dev list 724 971

ask.puppetlabs.com N/A 383

#puppet 600 980

Repository Jan 2012 Feb 2013

Puppet Forks 236 496

Puppet Watchers 526 1185

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

AUGUST 22 - 23

http://puppetconf.com

Puppet Enterprise

Puppet Enterprise

GUI

Orchestration

Packaging

Compliance

Cloud Provisioning

Services & Support

GUI for Puppet

High level status for

nodes

Time-based display for insight

into rate of change

Detailed node status to pinpoint

specific issues

PE Live Management

Browse for managed

nodes in your infrastructure

Preview the impact before

you clone nodes

Choose nodes to clone to ensure

consistency

VM/Cloud Provisioning

1. Create VM node capacity using VMware vSphere or AWS

2. Automatically install the Puppet Agent on new nodes

3. Configure nodes using existing definitions

Respond quickly to business demands while maintaining configuration consistency across environments

VMware vSphere or AWS

Recent Features

• Certificate Signing from the GUI

• Authentication with LDAP and oAuth

Organizational Scalability

PuppetActivity Log

Puppet 3 Developments

• Removal of dynamic scoping

• Extensions loaded from gems

• Full Ruby 1.9.3 support

• Pluginsync by default

• Data Separation with data binding

• Performance improvements

• Better version numbers

• More platform support

• Code loading improvements

• Even more documentation

Scope

# dynamic scoping is gone

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

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

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

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

Builtin Data Binding

PerformanceGains

Puppet 3 moving on from 2.72.7.0 Release

3.1.0 Release 3.0.0 Release

API Documentation!

Transparency in plans

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 effortsgithub.com/puppetlabs/armatures

ForgeActivity Log

By the Numbers

Jan 2012 March 2013

Modules 260 950+

Users 930 2270+

Total DownloadsSince Feb 2012 439,000+

MCollectiveActivity Log

Continuous Release

• Agents in packages, real packages

• MCO does it, so you can make them too

• Continuously built, continuously released

Usability

• Better docs

• More Complete applications

• Out of the box usability

• But still the framework it always was

• Full integration into puppet training

PuppetDB Happenings

Better Query, More Storage

• PuppetDB 1.1 released

• Enhanced Query API for facts, subqueries, regular expressions

• Report Storage

• Report Query in an experimental API

Razor Happenings

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

Hiera Happenings

Hiera

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

Puppet Labs

Puppet Labs: by the numbers

Jan 2012 March 2013

Employees 55 120

Customer Countries 29 42

Office Space 836 m2

9,000 ft22,232 m2

25,000 ft2

Awesome Espresso & Tea

Weekly Company Lunch

Puppet Labs: A Great Place to Work!

Photos by Gary Larizza

We’re Hiring!

Training&

Certification

Training by Country

Puppet Education:Training and Certification Track

Questions?

Thank You!

Learn More:http://puppetlabs.com

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