Puppet Camp Tokyo 2014: Keynote

Preview:

DESCRIPTION

Puppet Camp Tokyo 2014 Keynote presented by Nigel Kersten, Puppet Labs

Citation preview

Nigel Kersten CIO/VP Operations

@nigelkersten IRC: nigelk

nigel@puppetlabs.com

Introductions

A Quick Poll

The IT landscape is changing

quickly

More. Faster.

Old practices came from

constraints ...

...and those constraints are

gone

Major IT movements

SaaS sets the trend

Enterprise pays the bills

Driving down the cost of technological change

Started 8.5 years ago

Datacenter and Cloud

Automation

Very Simple Languageclass ssh { ! package { 'openssh-server': ensure => present, } ! file { 'sshd_config': path => '/etc/ssh/sshd_config', source => ‘puppet:///modules/ssh/sshd_config', require => Package['openssh-server'], notify => Service['sshd'], } ! service { 'sshd': ensure => running, enable => true, require => File['sshd_config'], } !}

New Approach: Software Defined 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

}

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

ReportPuppetʼs open API 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

Lifecycle of a Puppet Run

Puppet Architecture

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

Puppet Enterprise

Solid platform

Ecosystem Support

Additional Features

Interactive Event Reporting

Live Management: Remote Control of Puppet Agent

Live Management: Resource Browsing and Centralized Inv.

Cloud Provisioner /

VMWare Support

Non-Root Puppet Agent Support

Supported Modules

Supported Modules

Current Supported Modules

• puppetlabs/stdlib

• puppetlabs/concat

• puppetlabs/apt

• puppetlabs/registry

• puppetlabs/ntp

• puppetlabs/inifile

• puppetlabs/reboot

• puppetlabs/mysql

• puppetlabs/apache

• puppetlabs/firewall

• puppetlabs/java_ks

• puppetlabs/postgresql

Open Source

Technical Proving Ground

Highly Flexible Core Components

Puppet

• Core language for specifying infrastructure state

• Transactional system for enforcing it

• Resource Abstraction Layer

• Reusable modules: Puppet Forge

Puppet Enterprise built on top of Puppet

Puppet - News

• Puppet 3.5.0/3.6.0 released

• Directory Environments

• Future Parser

• SSH Key purging

• $facts hash

• Hashes/Arrays in facts

Puppet Enterprise built on top of Puppet

MCollective (mco)

• Parallel, real-time execution across your whole network

• Real-time discovery of all nodes and their functions

• Powerful command and control tool

Drives Orchestration Engine in Puppet Enterprise

MCollective - News

• Direct Addressing • Standard Input Discovery Plugin • Threading client option enabled

Drives Orchestration Engine in Puppet Enterprise

PuppetDB

• Stores all configurations, facts, and reports

• Knows everything there is to know about your infrastructure

• Foundation for nearly all reporting and analysis

Foundation for Puppet / Puppet Enterprise data storage

PuppetDB - News

• PuppetDB 2.0 • Environment support • Anonymized Exports

Foundation for Puppet / Puppet Enterprise data storage

Facter

• Facts: bits of data that you care about • Core inputs for customizing Puppet

configurations per host • Easily pluggable to collect new data

or store it in existing databases

Foundation for Puppet / Puppet Enterprise Inventory

Facter - News

• Facter 2.0 • Structured Facts

• Integer, Float, True, False, Nil, String, Array, Hash

• PluginSync External Facts • Aggregate Fact Resolution

Foundation for Puppet / Puppet Enterprise Inventory

Hiera

• Separate site configuration data from reusable code

• Iterate and promote code quickly without having to manage dev/test configuration differences

Foundation for Puppet / Puppet Enterprise Hierarchical Data

Razor

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

• Feeds directly into your Puppet Infrastructure

• Physical machines as easy to provision as VMs

Provision servers, then use Puppet / Puppet Enterprise

Puppet Armatures

• Proposals to enhance / add features • For significant / large impact work • Community-focused process with

improved openness and transparency

• Working on simplifying process

github.com/puppetlabs/armatures

Feature Enhancements for Puppet

Puppet Forge

• Module repository • By the community ... For the community • Identify and use the best ones • Contribute your own modules

Add Additional Functionality to Puppet / Puppet Enterprise

Puppet Labs

Customers Everywhere

We’re Hiring!• Professional Services (everywhere)

• Engineering

• QA

• Modules

• Forge

• Windows

• Platform

• Solutions Engineering

• Support

• ...and lots more

puppetlabs.com/about/careers

What’s Next?

Join the Community• Learn from others

• Ask/Answer questions

• http://ask.puppetlabs.com

• mailing lists

• IRC

• Help with bug triage

• Contribute code

• Contribute modules on the Forge

puppetlabs.com/community

Take In-Person Training & Get Certified

People Love our Worldwide Training!

I liked being with other sharp admins in an environment where "cross-pollination" and experimentation were encouraged.““

A brilliant course to jump into using puppet fast and effectively.“Very useful information, a good start for our Puppet team, and would highly recommend it.

Take Online Training

puppetlabs.com/learn

Influence Products

Register to Attend

Questions?

Questions?

Thank You! !

Learn More: http://puppetlabs.com

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