portable infrastructure with puppet

Post on 29-Jan-2018

12.318 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Portable Infrastructu

re with Puppet

Luke KaniesFounder of Puppet project

Founder and CEO of Puppet Labs

The state of Puppet

Puppet is stable

Puppet is changing quickly

• Still plenty of features to add

• Every day we learn, and every lesson brings a refactoring

• Maturity brings its own design requirements

• Connectiveness is a larger priority

Puppet is Pervasive

Financial

TechnologyEntertainmentWeb

Defense

I promised some things last year

Puppet Camp 2009 Promises

•1.0•Web GUI•Modules

Rowlf is imminent

0.2

0.20

1.0

1.00

2.6

Lots of refactoring, and a

lot of features

Pure Ruby DSL

Class Parameters

Finished migration to REST

Still working on publishing all of the formats and URLs

puppetmasterd puppet master

puppetd puppet agent

puppetca

ralsh

puppet cert

puppet resource

puppetdoc puppet doc

The single executable shift

More informative reports

Heavily trimmed

Exposing types and classes

Faster in many ways

• Compiles are much faster• File serving is streamed (thanks Brice!)• Lots of small improvements

Relationship syntax

Hashes

Taught us a lot about how (not) to

release

Dashboard is growing and prospering

“Web GUI”

Node classification

Reporting

Lots to come

• Automatically detect optional and required parameters

• Catalog and report correlation

• Discovery

• Harass Rein for more information!

Let’s go Back

Why does Puppet exist?

Embarrassment

Fear

A simple dream:

That sysadmins could reuse code

Enable focus on the value-add

Usually

Ideally

0 25.0 50.0 75.0 100.0

Things you have to doThings you want to do

The Problem

• No standardization

• 75% of IT budgets spent to maintain existing systems

• Code changes with the sysadmin

Every infrastructure

starts from scratch }

We needed a high-level

language for

Programming SysAdmin

Low-level, non-

portable, single-use

Assembly perl/shell/etc

Abstract, portable, reusable

C* Puppet

Shell scripts areassembly code

* For small values of abstract

So: The ultimate goal was code

reuse

We’ve built a platform that can

enable reuse

Now we just need to start sharing

Announcing:Puppet Forge

http://forge.puppetlabs.comhttp://projects.puppetlabs.com/projects/

module-site

Share the modules you’ve created

Find modules others have

Client-side tools

Extension metadata is

Minimum Viable Product (MVP)

It’s all about code reuse

Westheimer's Discovery:

A couple of months in the laboratory can

frequently save

Luke’s Corollary:

A couple of months of development can

frequently save a couple of hours on the internet.

Collaborate on existing code rather than

Or, start again and publish

A new forcing function in

Because there’s now a place for

all that metadata:• Classes, definitions, nodes, etc.• Required and optional parameters• Versions• Dependencies

Drives further introspection

in Puppet

We can add:

• Portability information - ‘confine’ in classes and modules

• Incompatibilities• “Tested on” information• Etc.

Pushes Dashboard to manage modules

Package-like behaviour in the

modules

Fills out the product portfolio

•The industry-leading open source automation platform•Supported with subscriptionPuppet

•A graphical view into your Puppet infrastructure•A simplified interface for many configuration actions

PuppetDashboard

•Collaborate with other IT administrators on Puppet content•Access Puppet Labs supported modulesPuppet Forge

AnyQuestion

top related